Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 1.84 KB

README.md

File metadata and controls

42 lines (35 loc) · 1.84 KB

Network multiplexing and framing protocol for RPC

Design goals

  • Easy to implement in multiple languages, especially JS and Python.
  • High performance forwarding path. Intermediaries can make a forwarding decision quickly.
  • Request / response model with out of order responses. Slow requests will not block subsequent faster requests at head of line.
  • Large requests/responses may/must be broken into fragments to be sent progressively.
  • Optional checksums.
  • Can be used to transport multiple protocols between endpoints, e.g. HTTP+JSON and Thrift.

Parts

  • tchannel-protocol TChannel Protocol Documentation
  • tchannel-node TChannel peer library for Node.js
  • tchannel-python TChannel peer library for Python
  • tchannel-golang TChannel peer library for Go
  • tchannel-java TChannel peer library for the JVM
  • tcurl TChannel curl program, for making manual one-off requests to TChannel servers.
  • tcap TChannel packet capture tool, for eavesdropping and inspecting TChannel traffic
  • bufrw Node.js buffer structured reading and writing library, used for TChannel and Thrift
  • thriftrw Node.js Thrift buffer reader and writer
  • thriftify Node.js Thrift object serializer and deserializer with run-time Thrift IDL compiler

MIT Licenced