mirror of
https://github.com/OMGeeky/tarpc.git
synced 2026-01-06 03:22:47 +01:00
@@ -40,7 +40,7 @@ rather than in a separate language such as .proto. This means there's no separat
|
|||||||
process, and no context switching between different languages.
|
process, and no context switching between different languages.
|
||||||
|
|
||||||
Some other features of tarpc:
|
Some other features of tarpc:
|
||||||
- Pluggable transport: any type implementing `Stream<Item = Request> + Sink<Response>` can be
|
- Pluggable transport: any type impling `Stream<Item = Request> + Sink<Response>` can be
|
||||||
used as a transport to connect the client and server.
|
used as a transport to connect the client and server.
|
||||||
- `Send + 'static` optional: if the transport doesn't require it, neither does tarpc!
|
- `Send + 'static` optional: if the transport doesn't require it, neither does tarpc!
|
||||||
- Cascading cancellation: dropping a request will send a cancellation message to the server.
|
- Cascading cancellation: dropping a request will send a cancellation message to the server.
|
||||||
@@ -55,7 +55,7 @@ Some other features of tarpc:
|
|||||||
[tracing](https://github.com/tokio-rs/tracing) primitives extended with
|
[tracing](https://github.com/tokio-rs/tracing) primitives extended with
|
||||||
[OpenTelemetry](https://opentelemetry.io/) traces. Using a compatible tracing subscriber like
|
[OpenTelemetry](https://opentelemetry.io/) traces. Using a compatible tracing subscriber like
|
||||||
[Jaeger](https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-jaeger),
|
[Jaeger](https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-jaeger),
|
||||||
each RPC can be traced through the client, server, and other dependencies downstream of the
|
each RPC can be traced through the client, server, amd other dependencies downstream of the
|
||||||
server. Even for applications not connected to a distributed tracing collector, the
|
server. Even for applications not connected to a distributed tracing collector, the
|
||||||
instrumentation can also be ingested by regular loggers like
|
instrumentation can also be ingested by regular loggers like
|
||||||
[env_logger](https://github.com/env-logger-rs/env_logger/).
|
[env_logger](https://github.com/env-logger-rs/env_logger/).
|
||||||
@@ -81,7 +81,7 @@ your `Cargo.toml`:
|
|||||||
|
|
||||||
```toml
|
```toml
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
futures = "1.0"
|
futures = "0.3"
|
||||||
tarpc = { version = "0.27", features = ["tokio1"] }
|
tarpc = { version = "0.27", features = ["tokio1"] }
|
||||||
tokio = { version = "1.0", features = ["macros"] }
|
tokio = { version = "1.0", features = ["macros"] }
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
//!
|
//!
|
||||||
//! ```toml
|
//! ```toml
|
||||||
//! anyhow = "1.0"
|
//! anyhow = "1.0"
|
||||||
//! futures = "1.0"
|
//! futures = "0.3"
|
||||||
//! tarpc = { version = "0.27", features = ["tokio1"] }
|
//! tarpc = { version = "0.27", features = ["tokio1"] }
|
||||||
//! tokio = { version = "1.0", features = ["macros"] }
|
//! tokio = { version = "1.0", features = ["macros"] }
|
||||||
//! ```
|
//! ```
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use std::{fmt, hash::Hash};
|
|||||||
#[cfg(feature = "tokio1")]
|
#[cfg(feature = "tokio1")]
|
||||||
use super::{tokio::TokioServerExecutor, Serve};
|
use super::{tokio::TokioServerExecutor, Serve};
|
||||||
|
|
||||||
/// An extension trait for [streams](Stream) of [`Channels`](Channel).
|
/// An extension trait for [streams](futures::prelude::Stream) of [`Channels`](Channel).
|
||||||
pub trait Incoming<C>
|
pub trait Incoming<C>
|
||||||
where
|
where
|
||||||
Self: Sized + Stream<Item = C>,
|
Self: Sized + Stream<Item = C>,
|
||||||
|
|||||||
Reference in New Issue
Block a user