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

atul2512/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, 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

About

network multiplexing and framing protocol for RPC

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 74.6%
  • Go 24.0%
  • Other 1.4%