[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cstruct 0.8.0; anything else before 1.0?



> I do like the look of this streaming API quite a bit, but I'll go ahead and 
> tag a 1.0.0 shortly with the existing API.  We can refine and break the 
> interface in 2.x, as there quite a few consumers of the existing one already 
> (for good or for ill!).  OPAM can sort out the resulting compatibility matrix.

Agreed.

> 
> -a
> 
> On 13 Oct 2013, at 17:49, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote:
> 
>> Would be nice to have a mutable interface at one point (I've started 
>> different design in Cagit[1] and Irminsule[2] already, not totally sure yet 
>> what's the best interface). I tend to prefer [2] where the mutable buffer 
>> type is defined as 'type t = { mutable buffer: Cstruct.t }'
>> 
>> [1] https://github.com/samoht/cagit/blob/master/src/lib/IO.ml
>> [2] https://github.com/samoht/irminsule/blob/master/src/irminIO.ml
>> 
>> On Oct 13, 2013, at 12:10 PM, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
>> 
>>> I've gone through the outstanding cstruct issues and fixed most of them:
>>> 
>>> 0.8.0rc1 (13-Oct-2013):
>>> * Improved ocamldoc for BE/LE modules.
>>> * Add Travis-CI test scripts and fix `test.sh` script compilation.
>>> * Support int32/int64 constant values in cenum like `VAL = 0xffffffffl`, 
>>> useful for 32-bit hosts.
>>> * Check and raise error in case of negative offsets for blits (#4).
>>> * Correctly preserve the sequence after a constant constructor is set 
>>> during a `cenum` definition.
>>> * Do not repeat the `sizeof_<field>` binding for every get/set field 
>>> (should be no externally observable change).
>>> * Add `Cstruct.hexdump_to_buffer` to make spooling hexdump output easier.
>>> * Generate `hexdump_foo` and `hexdump_foo_to_buffer` prettyprinting 
>>> functions for a `cstruct foo`.
>>> 
>>> Arjun, this should fix your 32-bit host problem, but you need to ensure 
>>> that you use the correct literals so that the OCaml lexer doesn't complain 
>>> (i.e. 0xffffffffl instead of 0xffffffff).
>>> 
>>> I've also added a handy set of hexdump functions to prettyprint cstructs, 
>>> and improved the README to describe the functions involved.
>>> 
>>> Mort, I've been through your issues about the iter/fold, but the only real 
>>> use-case right now is the pcap parser.  Most of the other call sites just 
>>> handle individual packets, so I've got no strong opinion on this.  I'll 
>>> leave those for you to drive with examples uses...
>>> 
>>> Other than that, I'd like to have the extension also emit ctypes values, so 
>>> that it can be used in stub-generation and other interactions with C 
>>> libraries.  That will be post 1.0 though, so I'll tag this current 
>>> featureset as 1.0 if noone's got any showstoppers.
>>> 
>>> -anil
>> 
> 




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.