Bit syntax frustrations, again

Tony Rogvall tony@REDACTED
Thu Oct 3 20:39:31 CEST 2002


Vance Shipley wrote:

>I am working heavily with the bit syntax right now and my two cents
>on this matter is that it is unfortunate that I can't do this:
>
>	<<Header:32, Payload/binary, Trailer:16>> = Packet
>
>It would make my life a lot easier.
>
>	-Vance
>  
>
You need to give the emulator some hint on the length of Payload,
we had two different ways in the prototype.

    1. The header contains the length of PayLoad

        <<Len:16, Header:16, Payload:Len/binary, Trailer:16>> = Packet
                                     ---


        In this case we used Variable bindings from left to right which was
        a bit controversial... (I do not remember why :-) The first 
binding of
        Len can be used later on in the bit pattern.



    2. The pattern search.

            Assume that Trailer is bound then the pattern

	<<Header:32, Payload/binary, Trailer:16>> = Packet

	Would be interpreted as "first get the header" then start search
	for a bit pattern "Trailer" when "Trailer" is found then bind the
	Payload to the bits(bytes).

Something like that?

/Tony






More information about the erlang-questions mailing list