Hi, I see that the repeated-type requires a constant repeat count. Are you planning to include a more dynamic version à la Gloss prefixes/headers?
The lib looks really nice. Binary handling libraries are really helpful. Thanks, Cesar Canassa On Mon, Dec 2, 2013 at 7:09 PM, Alex P <oleksandr.pet...@gmail.com> wrote: > It's different in a way we manipulate the data: > > We've opted out for default-lazy way (you're getting and setting separate > values instead of serialising/deserialising an entire payload). > > Another difference is that we don't have Lamina as a loaded artifact > (which may not be an issue for majority of people, but was for us > because of an internal version conflict with some other library). > Obviously, there are ways around it, but we tried to bring in minimum > possible amount of dependencies, and be able to use it with Netty4 (which > is currently underrepresented in Clojure world). > > There are other subtle difference, but I don't think they're worth > mentioning, Gloss is a great library, but Buffy is doing things in a subtly > different way. Main purpose (as we're using it) - for off-heap storage / > data structures, and for binary protocol implementations in Clojure > (right now, we have a sketch of Cassandra binary protocol implemented on > top of Buffy, although I'm not sure wether it's going to be > production-ready any time soon). > > > Thanks for props! > > On Saturday, November 30, 2013 10:33:31 PM UTC+1, Thomas wrote: >> >> Looks really really great and could you please explain how it differs >> from gloss [1]. Any advantages? Disadvantages? >> >> Thanks >> Thomas >> >> [1] >> https://github.com/ztellman/gloss<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fztellman%2Fgloss&sa=D&sntz=1&usg=AFQjCNEEBWzFouSZ3s8uPpizBue7fuhzQA> >> >> On Friday, November 29, 2013 10:15:45 PM UTC, Alex P wrote: >>> >>> 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. > -- -- 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.