Skip to content
forked from uber/tchannel

network multiplexing and framing protocol for RPC

License

Notifications You must be signed in to change notification settings

pengzhai/tchannel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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, eg. HTTP+JSON and Thrift.

Parts

  • tchannel-node TChannel peer library for Node.js
  • tchannel-python TChannel peer library for Python
  • tchannel-golang TChannel peer library for Go
  • 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

About

network multiplexing and framing protocol for RPC

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 56.8%
  • Python 22.4%
  • Go 19.3%
  • Other 1.5%