Struct mz_persist_client::rpc::PersistGrpcPubSubServer
source · pub struct PersistGrpcPubSubServer {
cfg: PersistConfig,
state: Arc<PubSubState>,
}
Expand description
A gRPC-based implementation of a Persist PubSub server.
Fields§
§cfg: PersistConfig
§state: Arc<PubSubState>
Implementations§
source§impl PersistGrpcPubSubServer
impl PersistGrpcPubSubServer
sourcepub fn new(cfg: &PersistConfig, metrics_registry: &MetricsRegistry) -> Self
pub fn new(cfg: &PersistConfig, metrics_registry: &MetricsRegistry) -> Self
Creates a new PersistGrpcPubSubServer.
sourcepub fn new_same_process_connection(&self) -> PubSubClientConnection
pub fn new_same_process_connection(&self) -> PubSubClientConnection
Creates a connection to PersistGrpcPubSubServer that is directly connected to the server state. Calls into this connection do not go over the network nor require message serde.
sourcepub async fn serve(self, listen_addr: SocketAddr) -> Result<(), Error>
pub async fn serve(self, listen_addr: SocketAddr) -> Result<(), Error>
Starts the gRPC server. Consumes self
and runs until the task is cancelled.
sourcepub async fn serve_with_stream(
self,
listener: TcpListenerStream,
) -> Result<(), Error>
pub async fn serve_with_stream( self, listener: TcpListenerStream, ) -> Result<(), Error>
Starts the gRPC server with the given listener stream.
Consumes self
and runs until the task is cancelled.
Trait Implementations§
source§impl Debug for PersistGrpcPubSubServer
impl Debug for PersistGrpcPubSubServer
source§impl ProtoPersistPubSub for PersistGrpcPubSubServer
impl ProtoPersistPubSub for PersistGrpcPubSubServer
§type PubSubStream = Pin<Box<dyn Stream<Item = Result<ProtoPubSubMessage, Status>> + Send>>
type PubSubStream = Pin<Box<dyn Stream<Item = Result<ProtoPubSubMessage, Status>> + Send>>
Server streaming response type for the PubSub method.
fn pub_sub<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<ProtoPubSubMessage>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::PubSubStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for PersistGrpcPubSubServer
impl !RefUnwindSafe for PersistGrpcPubSubServer
impl Send for PersistGrpcPubSubServer
impl Sync for PersistGrpcPubSubServer
impl Unpin for PersistGrpcPubSubServer
impl !UnwindSafe for PersistGrpcPubSubServer
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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
Creates a shared type from an unshared type.
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
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.