You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by Christofer Dutz <ch...@c-ware.de> on 2021/05/26 09:11:15 UTC

Added a new field-type "unknown"

Hi all,

usually we have fully specified mspec documents. This way we can fully 
generate our model, parsers and serialisers.

Especially when it comes to protocols that we haven't fully understood 
yet (Like the DeltaV and the Beckhoff auto-discovery) there are 
sometimes big blocks of data which we simply don't know yet.

If we use "const" we'll probably get loads of parse errors. If we use 
"reserved" we'll get tons of log output. Both don't really reflect that 
we don't actually know what this data is. "unknown" pays respect to this 
fact and documents it.

I would implement this field type to simply skip the given number of 
bits when parsing and to throw an exception when serializing. This way 
we can use the mspec to produce passive-mode drivers first and as soon 
as we fully understood a protocol, we can create the active versions.

What do you think?

I did this now as I would like to have this change in the next release 
of the build tools and not have to do that again any time soon.

Chris

Re: Added a new field-type "unknown"

Posted by Sebastian R��hl <sr...@apache.org>.
Sounds good to me. Additionally we could log this packets for debugging purposes so we can collect more data on them when time passes by.

- Sebastian

On 2021/05/26 09:11:15, Christofer Dutz <ch...@c-ware.de> wrote: 
> Hi all,
> 
> usually we have fully specified mspec documents. This way we can fully 
> generate our model, parsers and serialisers.
> 
> Especially when it comes to protocols that we haven't fully understood 
> yet (Like the DeltaV and the Beckhoff auto-discovery) there are 
> sometimes big blocks of data which we simply don't know yet.
> 
> If we use "const" we'll probably get loads of parse errors. If we use 
> "reserved" we'll get tons of log output. Both don't really reflect that 
> we don't actually know what this data is. "unknown" pays respect to this 
> fact and documents it.
> 
> I would implement this field type to simply skip the given number of 
> bits when parsing and to throw an exception when serializing. This way 
> we can use the mspec to produce passive-mode drivers first and as soon 
> as we fully understood a protocol, we can create the active versions.
> 
> What do you think?
> 
> I did this now as I would like to have this change in the next release 
> of the build tools and not have to do that again any time soon.
> 
> Chris
>