Skip to main content

Crate grpc_core

Crate grpc_core 

Source
Expand description

Synchronous, codec-independent gRPC contracts.

Message envelopes and codec interfaces are available independently of a transport. Aligned message framing, bounded compression, statuses and metadata support transport-independent RPC message handling.

Re-exports§

pub use codec::Codec;
pub use compression::CompressionAlgorithm;
pub use compression::CompressionConfig;
pub use framing::AlignedMessageBuf;
pub use framing::LengthPrefixedFrame;
pub use metadata::Metadata;
pub use metadata::MetadataError;
pub use metadata::MetadataValue;
pub use metadata::format_grpc_timeout;
pub use metadata::parse_grpc_timeout;
pub use method::MethodDescriptor;
pub use method::RpcCardinality;
pub use request::Request;
pub use response::Response;
pub use session::GrpcClientSession;
pub use session::GrpcServerSession;
pub use session::GrpcSession;
pub use session::IncomingRequest;
pub use session::SessionConfig;
pub use session::Timeout;
pub use status::Code;
pub use status::Status;

Modules§

codec
Serialization contracts for individual gRPC message payloads.
compression
Per-message compression and grpc-accept-encoding negotiation.
framing
Incremental gRPC framing with eight-byte-aligned message payloads.
http2
Sans-IO streaming HTTP/2 with independent connection and stream flow control.
metadata
Validated application metadata with raw binary values.
method
Static RPC routing and cardinality descriptions.
request
Request messages and their application metadata.
response
Response messages and their initial application metadata.
session
Synchronous HTTP/2 gRPC sessions with bounded per-stream receive and send queues.
slot_map
Bounded, single-threaded ownership of HTTP/2 stream receive events.
status
Canonical gRPC status codes and their HTTP/2 trailer representation.
tls
Synchronous rustls transports with authenticated HTTP/2 ALPN negotiation.
transport
Synchronous byte transports for blocking callers and externally driven event loops.