Skip to main content

Module grpc

Module grpc 

Source
Available on crate features transport-grpc and transport only.
Expand description

§gRPC Transport

DFE native gRPC transport using tonic. Supports client mode (sending), server mode (receiving), or both.

§DFE Native Protocol

Lightweight bulk bytes transfer via dfe.transport.v1.DfeTransport/Push. Payload is opaque bytes (JSON, MsgPack, or Arrow IPC) with a format hint.

§Vector Wire Protocol Compatibility (optional)

When the transport-grpc-vector-compat feature is enabled and GrpcConfig::vector_compat is true, the server also accepts vector.Vector/PushEvents RPCs from legacy Vector sinks.

§Example

use hyperi_rustlib::transport::{GrpcTransport, GrpcConfig, TransportReceiver};

// Server mode (receive from remote senders)
let config = GrpcConfig::server("0.0.0.0:6000");
let transport = GrpcTransport::new(&config).await?;

let records = transport.recv(100).await?.records;
// commit is a no-op for gRPC (no persistence)
transport.commit(&[]).await?;

Re-exports§

pub use config::GrpcConfig;
pub use token::GrpcToken;

Modules§

batch
Native batch transport wire mapper (Task 0.6)
config
proto
Generated protobuf types for DFE native gRPC transport.
token

Structs§

GrpcTransport
gRPC transport for DFE inter-service communication.