2 releases

Uses new Rust 2024

0.1.1 Feb 8, 2026
0.1.0 Feb 8, 2026

#222 in WebSocket


Used in 2 crates (via burrow-client)

MIT license

12KB
226 lines

Shared protocol types and binary frame encoding for the burrow tunnel system.

This crate defines the control-plane messages (ClientMessage, ServerMessage) exchanged as JSON over WebSocket, and the data-plane binary framing (encode, decode_frame) used to carry HTTP requests and responses.


burrow-core

Shared protocol types and binary frame encoding for the burrow tunnel system.

What's inside

  • Control-plane messages (ClientMessage, ServerMessage) — JSON over WebSocket text frames for tunnel lifecycle management (handshake, connection signaling, heartbeat).
  • Data-plane framing (encode, decode_frame) — binary encoding for HTTP requests and responses carried over WebSocket binary frames.

Wire format

[16-byte UUID stream_id][1-byte frame type][payload]

Frame types: 0x01 Request, 0x02 Response, 0x03 Error.

Usage

This crate is a dependency of burrow-client and burrow-server. You typically don't need to depend on it directly — burrow-client re-exports it as burrow_client::burrow_core.

License

MIT

Dependencies

~0.8–1.8MB
~36K SLoC