Hi,

sorry for hijacking this thread, but you might want to have a look at the 
binary parser combinator library we released today. The announcement is 
https://groups.google.com/d/msg/clojure/2c9-oXfKlp0/yGyeD7iWEnQJ

If you define a codec just for the header of your data you can read only 
the bytes necessary for this header and leave all the rest in there.

Steffen

Am Dienstag, 28. Januar 2014 17:53:05 UTC+1 schrieb Michael Gardner:
>
> 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 <oleksand...@gmail.com <javascript:>> 
> 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 clo...@googlegroups.com<javascript:> 
> > Note that posts from new members are moderated - please be patient with 
> your first post. 
> > To unsubscribe from this group, send email to 
> > clojure+u...@googlegroups.com <javascript:> 
> > 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+u...@googlegroups.com <javascript:>. 
> > 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.

Reply via email to