I'm looking to deal with a stream of data that includes a structured, variable-length header followed by a (potentially large) binary blob. I'd like to parse only the header while leaving the stream (can be a java stream or NIO channel, whichever works best) positioned at the start of the binary blob. Can Buffy currently do this?
About naming: is the -type prefix to the built-in data types (string-type, etc) really necessary, given they're already grouped in the buffy.types namespace? I'd prefer to be able to write t/string, t/int32 and so on, personally. On Dec 17, 2013, at 06:44 , Alex P <oleksandr.pet...@gmail.com> wrote: > Buffy [1][2] 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`. > > After the initial project announcement, we've got several feature-requests, > which been addressed by current > release: > > * Bit fields (masks of on/off bits) > https://github.com/clojurewerkz/buffy#bit-type > * Wrapped buffers (work with existing byte arrays or byte buffers): > https://github.com/clojurewerkz/buffy#buffer-types > * Dynamic frames (complex protocol generation and parsing, when you can't > know the length of payload > in advance, and need to introspect buffer for parsing, or add hint-fields > into payload): https://github.com/clojurewerkz/buffy#dynamic-frames > > 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. > > Let us know what you think! > > [1] https://github.com/clojurewerkz/buffy > [2] http://blog.clojurewerkz.org/blog/2013/11/29/introducing-buffy/ > [2] http://clojurewerkz.org > > -- > -- > 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. -- -- 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.