Module tarpc::rpc [−][src]
An RPC framework providing client and server.
Features:
- RPC deadlines, both client- and server-side.
- Cascading cancellation (works with multiple hops).
- Configurable limits
- In-flight requests, both client and server-side.
- Server-side limit is per-connection.
- When the server reaches the in-flight request maximum, it returns a throttled error to the client.
- When the client reaches the in-flight request max, messages are buffered up to a configurable maximum, beyond which the requests are back-pressured.
- Server connections.
- Total and per-IP limits.
- When an incoming connection is accepted, if already at maximum, the connection is dropped.
- In-flight requests, both client and server-side.
- Transport agnostic.
Re-exports
pub use crate::client::Client; |
pub use crate::server::Server; |
pub use crate::trace; |
Modules
client | Provides a client that connects to a server and sends multiplexed requests. |
context | Provides a request context that carries a deadline and trace context. This context is sent from client to server and is used by the server to enforce response deadlines. |
server | Provides a server that concurrently handles many connections sending multiplexed requests. |
transport | Provides a |
Structs
Request | A request from a client to a server. |
Response | A response from a server to a client. |
ServerError | An error response from a server to a client. |
Enums
ClientMessage | A message from a client to a server. |
Traits
Transport |