Skip to main content

Module grpc

Module grpc 

Source
Available on crate features transport and transport-grpc 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 messages = transport.recv(100).await?;
// commit is a no-op for gRPC (no persistence)
transport.commit(&[]).await?;

Re-exports§

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

Modules§

config
proto
Generated protobuf types for DFE native gRPC transport.
token

Structs§

GrpcTransport
gRPC transport for DFE inter-service communication.