Expand description
grpcio is a Rust implementation of gRPC, which is a high performance, open source universal RPC framework that puts mobile and HTTP/2 first. grpcio is built on gRPC Core and futures-rs.
Optional features
boringssl
(enabled by default) - Enables support for TLS encryption and some authentication mechanisms.openssl
- Same asboringssl
, but base on the system openssl.openssl-vendored
- Same asopenssl
, but build openssl from source.
Modules
Channelz provides channel level debug information. In short, There are four types of top level entities: channel, subchannel, socket and server. All entities are identified by an positive unique integer, which is allocated in order. For more explanation, see https://github.com/grpc/proposal/blob/master/A14-channelz.md.
Macros
A shortcut for implementing a service method by returning UNIMPLEMENTED
status code.
Structs
To perform server-side authentication, gRPC exposes the authentication context for each call. The context exposes important authentication-related information about the RPC such as the type of security/authentication type being used and the peer identity.
Auth properties are elements of the AuthContext. They have a name (a key of type string) and a value which can be a string or binary data.
Options for calls made by client.
A gRPC channel.
Channel
factory in order to configure the properties.
Client-side SSL credentials.
ChannelCredentials
factory in order to configure the properties.
A generic client for making RPC calls.
A receiver for client streaming call.
A response receiver for duplex call.
A receiver for server streaming call.
A sink for client streaming call.
A receiver for unary request.
A time point that an rpc or operation should finished before it.
A sink for duplex streaming call.
Environment
factory in order to configure the properties.
An object that used to control concurrency and start gRPC event loop.
A convenient rust wrapper for the type grpc_slice
.
Defines how to serialize and deserialize between the specialized type and byte slice.
A collection of metadata entries that can be exchanged during a call.
Builder for immutable Metadata.
Immutable metadata iterator
A description of a remote method.
A stream for client a streaming call and a duplex streaming call.
ResourceQuota represents a bound on memory and thread usage by the gRPC. NOTE: The management of threads created in grpc-core don’t use ResourceQuota. TODO: Manage the poller threads created in grpc-rs with this ResourceQuota later.
A context for rpc handling.
RPC result returned from the server.
An gRPC status code structure. This type contains constants for all gRPC status codes.
A gRPC server.
Server
factory in order to configure the properties.
Server-side SSL credentials.
ServerCredentials
factory in order to configure the properties.
A sink for server streaming call.
A gRPC service.
Service
factory in order to configure the properties.
A Future
that will resolve when shutdown completes.
A sink for client streaming call and duplex streaming call.
To close the sink properly, you should call close
before dropping.
A sink for unary call.
Flags for write operations.
Enums
Used to indicate the result of the check. If it returns Abort
,
skip the subsequent checkers and abort the grpc call.
The various compression algorithms supported by gRPC (not sorted by compression level)
Compression levels allow a party with knowledge of its peer’s accepted encodings to request compression in an abstract way. The level-algorithm mapping is performed internally and depends on the peer’s supported compression algorithms.
Connectivity state of a channel.
Errors generated from this library.
Method types supported by gRPC.
Constants
According to https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md, grpc uses a four bytes to describe the length of a message, so it should not exceed u32::MAX.
Traits
Traits to retrieve updated SSL server certificates, private keys, and trusted CAs (for client authentication).
Functions
Type Definitions
A sink for client streaming call.
A sink for duplex streaming call.