pub struct SyncServer<T: SyncTransport> { /* private fields */ }Expand description
Synchronous single-connection server with path-based service registration.
Implementations§
Source§impl<T: SyncTransport + 'static> SyncServer<T>
impl<T: SyncTransport + 'static> SyncServer<T>
Sourcepub fn new(transport: T) -> Result<Self, Status>
pub fn new(transport: T) -> Result<Self, Status>
Creates a server with bounded default HTTP/2 session settings.
§Errors
Returns invalid settings or native initialization failures.
Sourcepub fn with_config(transport: T, config: SessionConfig) -> Result<Self, Status>
pub fn with_config(transport: T, config: SessionConfig) -> Result<Self, Status>
Creates a connection with explicit HTTP/2 and message limits.
§Errors
Returns invalid settings or native initialization failures.
Sourcepub fn register_unary<C, Req, Resp, F>(
&mut self,
path: &str,
codec: C,
handler: F,
) -> Result<(), Status>
pub fn register_unary<C, Req, Resp, F>( &mut self, path: &str, codec: C, handler: F, ) -> Result<(), Status>
Registers a unary handler with exactly one inbound and outbound message.
§Errors
Rejects invalid paths or duplicate registrations.
Sourcepub fn register_server_streaming<C, Req, Resp, F>(
&mut self,
path: &str,
codec: C,
handler: F,
) -> Result<(), Status>
pub fn register_server_streaming<C, Req, Resp, F>( &mut self, path: &str, codec: C, handler: F, ) -> Result<(), Status>
Registers a single-request streaming-response handler. The server sends OK trailers if the handler has not already finished its sink.
§Errors
Rejects invalid paths or duplicate registrations.
Sourcepub fn register_client_streaming<C, Req, Resp, F>(
&mut self,
path: &str,
codec: C,
handler: F,
) -> Result<(), Status>
pub fn register_client_streaming<C, Req, Resp, F>( &mut self, path: &str, codec: C, handler: F, ) -> Result<(), Status>
Registers a streaming-request handler returning exactly one response.
§Errors
Rejects invalid paths or duplicate registrations.
Sourcepub fn register_bidi_streaming<C, Req, Resp, F>(
&mut self,
path: &str,
codec: C,
handler: F,
) -> Result<(), Status>where
C: Codec<EncodeItem = Resp, DecodeItem = Req> + 'static,
Req: 'static,
Resp: 'static,
F: FnMut(RequestStream<Req>, &mut ResponseSink<Resp>) -> Result<(), Status> + 'static,
pub fn register_bidi_streaming<C, Req, Resp, F>(
&mut self,
path: &str,
codec: C,
handler: F,
) -> Result<(), Status>where
C: Codec<EncodeItem = Resp, DecodeItem = Req> + 'static,
Req: 'static,
Resp: 'static,
F: FnMut(RequestStream<Req>, &mut ResponseSink<Resp>) -> Result<(), Status> + 'static,
Registers a bidirectional streaming handler.
§Errors
Rejects invalid paths or duplicate registrations.
Sourcepub fn register_service_handler<H: ServiceHandler + 'static>(
&mut self,
path: &str,
handler: H,
) -> Result<(), Status>
pub fn register_service_handler<H: ServiceHandler + 'static>( &mut self, path: &str, handler: H, ) -> Result<(), Status>
Registers a raw-payload dispatcher, including generated-service adapters.
§Errors
Rejects invalid paths or duplicate registrations.
Sourcepub fn poll_once(&mut self) -> Result<bool, Status>
pub fn poll_once(&mut self) -> Result<bool, Status>
Advances nonblocking socket I/O and dispatches at most one synchronous handler. A dispatched handler may wait for its request body on the calling thread.
§Errors
Returns native HTTP/2 or transport failures.