Skip to content

Buffered transport for binary protocol #541

@aawilson

Description

@aawilson

Currently, the only client/server implementations over the binary protocol are with framed transport. It would be swell if elixir-thrift could also generate implementations that use "unframed" (as described in the section "Framed" vs "Unframed" of the doc here) (I've also seen it referred to as "buffered", as in the thriftpy2 implementation here, although I don't know if their use of terminology makes sense given the salient difference seems to be not buffering incoming frames, but that could be my misunderstanding) transport, instead.

I looked at implementing this, but for the life of me, I can't see where thrift/framed/protocol_handler.ex is handling the framing, meaning I either just have poor elixir reading comprehension (which is a fair cop), or it's happening somewhere in the :gen_tcp module. I'm happy to keep staring at this in my free time, but pointers would be appreciated if available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions