Expand description
Arrow IPC framing for PyroLink QUIC streams.
Each message on a bidirectional QUIC stream is encoded as:
┌────────┬──────────┬──────────────────────────────────────┐
│ type 1B│ len 4B LE│ Arrow IPC message (Flight payload) │
└────────┴──────────┴──────────────────────────────────────┘For streaming responses (e.g. DoGet), the server sends multiple framed
messages followed by a single [MsgType::Eos] byte with no length field.
All multi-byte integers are little-endian.
Enums§
- RpcType
- The RPC operation encoded in the first byte of a new QUIC stream.
Constants§
- MSG_
DO_ ACTION - Wire type byte for a DoAction request.
- MSG_
DO_ GET - Wire type byte for a DoGet request.
- MSG_
DO_ PUT - Wire type byte for a DoPut request.
- MSG_EOS
- Wire type byte marking end-of-stream (no length or payload follows).
- MSG_
GET_ FLIGHT_ INFO - Wire type byte for a GetFlightInfo request.
- MSG_
LIST_ ACTIONS - Wire type byte for a ListActions request.
- MSG_
NOTIFICATION - Wire type byte for a server-pushed notification (LISTEN/NOTIFY, WATCH).
- MSG_
PREPARE_ STATEMENT - Wire type byte for a PrepareStatement request.
- MSG_
QUERY - Wire type byte for a direct SQL query (single-roundtrip: SQL in, results out).
- MSG_
RECORD_ BATCH - Wire type byte for an Arrow RecordBatch message.
- MSG_
SCHEMA - Wire type byte for an Arrow Schema message.
- MSG_
TOPOLOGY - Wire type byte for a topology request (adaptive transport negotiation).
Functions§
- read_
message - Read one framed message from the stream.
- read_
rpc_ type - Read the RPC type byte from the start of a new QUIC stream.
- write_
eos - Write the EOS marker (
0xFF) to the stream and finish it. - write_
message - Write one framed message to the stream.