Packedobjects is a cross platform bit stuffing tool driven by a high level syntax. Rather than use ASN.1, packedobjects uses s-expressions as the high level syntax to represent a protocol description. In terms of the OSI 7 Layer Model, packedobjects would exist at the Presentation Layer. It describes what goes into network packets but not how those network packets are exchanged. For example, the binary data produced maybe transported over HTTP or another Application Layer protocol.
Packedobjects encodes data very concisely. It packs data into bit unaligned streams. This provides a better rate of compression compared to alternative techniques such as applying generic compression to XML protocols. Packedobjects is also light-weight and has been designed to run on embedded devices.
This Guile version is based on an earlier Chicken version available here:
http://chicken.wiki.br/packedobjects
cvs -z3 -d:pserver:anonymous@packedobjects.cvs.sourceforge.net:/cvsroot/packedobjects co -P packedobjects_project cd packedobjects_project/ autoreconf -i ./configure make sudo make installUsage:
(use-modules (packedobjects))API:
In a state of flux but the looptest example should demonstrate the latest API.
Datatypes:Describe the datatypes...
Exceptions:If the encoder is out of memory it will signal an exception. If the decoder breaks it also should signal an exception. This area needs some work.
Examples:I can be found on Freenode with the nick 'zedstar' or email jptmoore at gmail dot com