SkillAgentSearch skills...

Tchannel

network multiplexing and framing protocol for RPC

Install / Use

/learn @uber/Tchannel
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

TChannel Build Status

This project is no longer active. See https://github.com/uber/tchannel/issues/1428.

Network multiplexing and framing protocol for RPC

<img src="docs/tchannel-dark.svg#gh-dark-mode-only" alt="TChannel Logo, Dark" width="120" align="left"> <img src="docs/tchannel-light.svg#gh-light-mode-only" alt="TChannel Logo, Light" width="120" align="left">

Overview

TChannel is a networking framing protocol used for general RPC, supporting out-of-order responses at extremely high performance where intermediaries can make a forwarding decision quickly. It is easy to implement in multiple languages, especially JavaScript and Python.

Design Goals

  • Easy implementation in multiple languages
  • High performance forwarding path where intermediaries can make forwarding decisions quickly
  • Request/response model with out-of-order responses so that slow requests don't block subsequent faster requests at the head of the line
  • Ability of large requests/responses to be broken into fragments and sent progressively
  • Optional checksums
  • Ability to transport multiple protocols between endpoints (e.g., HTTP+JSON and Thrift)

Components

  • tchannel-protocol TChannel Protocol Documentation
  • tchannel-node TChannel peer library for Node.js
  • tchannel-python TChannel peer library for Python
  • tchannel-go 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

MIT Licensed

View on GitHub
GitHub Stars1.2k
CategoryDevelopment
Updated3mo ago
Forks120

Languages

Thrift

Security Score

92/100

Audited on Dec 16, 2025

No findings