Struct mz_service::grpc::BidiProtoClient
source · pub struct BidiProtoClient<PC, PR, S>where
PC: Message + 'static,
PR: Default + Message + 'static,
S: StatsCollector<PC, PR>,{
inner: Grpc<ClientTransport>,
path: &'static str,
codec: StatCodec<PC, PR, S>,
}
Expand description
Encapsulates the core functionality of a tonic gRPC client for a service that exposes a single bidirectional RPC stream.
The client calls back into the StatsCollector on each command send and response receive.
See the documentation on GrpcClient
for details.
Fields§
§inner: Grpc<ClientTransport>
§path: &'static str
§codec: StatCodec<PC, PR, S>
Implementations§
source§impl<PC, PR, S> BidiProtoClient<PC, PR, S>where
PC: Clone + Message + 'static,
PR: Clone + Default + Message + 'static,
S: StatsCollector<PC, PR> + 'static,
impl<PC, PR, S> BidiProtoClient<PC, PR, S>where
PC: Clone + Message + 'static,
PR: Clone + Default + Message + 'static,
S: StatsCollector<PC, PR> + 'static,
fn new(inner: ClientTransport, path: &'static str, stats_collector: S) -> Selfwhere
Self: Sized,
async fn establish_bidi_stream(
&mut self,
rx: UnboundedReceiverStream<PC>
) -> Result<Response<Streaming<PR>>, Status>
Auto Trait Implementations§
impl<PC, PR, S> !RefUnwindSafe for BidiProtoClient<PC, PR, S>
impl<PC, PR, S> Send for BidiProtoClient<PC, PR, S>
impl<PC, PR, S> Sync for BidiProtoClient<PC, PR, S>
impl<PC, PR, S> Unpin for BidiProtoClient<PC, PR, S>where
PC: Unpin,
PR: Unpin,
S: Unpin,
impl<PC, PR, S> !UnwindSafe for BidiProtoClient<PC, PR, S>
Blanket Implementations§
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.