[erlang-questions] Announce: the Piqi project

Anton Lavrik <>
Mon Sep 13 18:17:25 CEST 2010


Hi Torben,

I'm not planning on adding support of other binary encodings. One of
the reasons why I started the project was that I didn't want to deal
with custom binary or text encodings for application-level protocols
and use a single general-purpose system instead.

For this reason, I picked one binary encoding and built everything
around it. Adding support for another binary encoding will clearly
break this model and, also, break compatibility with Google Protocol
Buffers, which is one of the key features.

So Piqi is definitely not a good match for what you're looking for,
since you already have a binary protocol that you need to parse, and
Piqi is clearly not a protocol parsing tool.

If you're targeting Erlang platform, I can't think of anything simpler
than just using plain Erlang and its bit syntax for parsing protocols.
This way you can take advantage of Erlang's flexibility and get fairly
high-level and expressive code for protocol parsers.

If you need lower-level or high-performance parsers, you might want to
take a look at BinPAC. I haven't used it myself, but it looks relevant
to what you've described: http://www.bro-ids.org/wiki/index.php/BinPAC

Best,
Anton


On Mon, Sep 13, 2010 at 6:14 AM, Torben Hoffmann
<> wrote:
> Hi Anton,
>
> It looks very interesting - in fact so much that I will ask a few questions
> (always a good sign, right?).
>
> On the higher level: Are there any plans for providing a way to specify your
> own binary encoding?
>
> On the lower level: If I have a PDU where one field is present if another
> field has a specific value how would that look in Piqi? And what if the
> dependent field is separated from its condition field by many other fields?
>
> Example: (M means mandatory, C means conditional)
>
> Field1 M
> Field2 M
> .
> Field15 C - present if Field2 is 4.
>
> I am dealing with a protocol that has this kind of behaviour and I am
> looking into writing my own binary grammar, but I would much rather piggy
> bag on something else if many reasons on top of laziness ;-)
>
> Cheers,
> Torben
>
> On Mon, Sep 13, 2010 at 10:07, Anton Lavrik <> wrote:
>>
>> It is my pleasure to announce the Piqi project to the Erlang community.
>> I've
>> just released a new version which features Erlang support.


More information about the erlang-questions mailing list