Buffy [1] is a Clojure library to work with Binary Data, write complete binary protocol implementations in clojure, store your complex data structures in an off-heap chache, read binary files and do everything you would usually do `ByteBuffer`.
Main features & motivation to write it * partial deserialization (read and deserialise parts of a byte buffer) * named access (access parts of your buffer by names) * composing/decomposing from key/value pairs * pretty hexdump * many useful default types that you can combine and extend easily Data types include: * primitives, such as `int32`, `boolean`, `byte`, `short`, `medium`, `float`, `long` * arbitrary-length `string` * byte arrays * composite types (combine any of primitives together) * repeated type (repeat any primitive arbitrary amount of times in payload) * enum type (for mapping between human-readable and binary representation of constants) Buffy has been serving us well for recent time, and no major issues were revealed. However, until it reaches GA, we can't guarantee 100% backward compatibility, although we're thought it through very well and used our best knowledge to make it right. Buffy is a ClojureWerkz project, same as Monger, Elastisch, Cassaforte, Neocons, Meltdown and many others. [1] https://github.com/clojurewerkz/buffy [2] http://clojurewerkz.org -- Alex P http://clojurewerkz.org http://twitter.com/ifesdjeen -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.