Extensions
Transports
TCP
Websocket
aiohttp
quart
- async rsocket.transports.quart_websocket.websocket_handler(on_server_create=None, **kwargs)[source]
Helper method to instantiate an RSocket server using a quart websocket connection.
- Parameters:
on_server_create – callback to be called when the server is created
kwargs – parameters passed to the server
websockets
asyncwebsockets
quic
- class rsocket.transports.aioquic_transport.RSocketQuicProtocol(*args, **kwargs)[source]
RSocket transport over server side quic.
- class rsocket.transports.aioquic_transport.RSocketQuicTransport(quic_protocol)[source]
RSocket transport over server/client side quic connection.
- Parameters:
quic_protocol (RSocketQuicProtocol)
http3
Routing
RequestRouter
- class rsocket.routing.request_router.RequestRouter(payload_deserializer=<function RequestRouter.<lambda>>, payload_serializer=<function RequestRouter.<lambda>>)[source]
Used to define routes for RSocket endpoints.
Pass this to
RoutingRequestHandlerto instantiate a handler using these routes.
RoutingRequestHandler
- class rsocket.routing.routing_request_handler.RoutingRequestHandler(router, authentication_verifier=None)[source]
Handler implementation which uses a
RequestRouterto handle requests based on route information provided in the payload metadata.- Parameters:
router (RequestRouter)
authentication_verifier (Callable[[str, Authentication], Coroutine[None, None, None]] | None)
Load Balancer
Strategies
ReactiveX
ReactiveX 4
- class rsocket.reactivex.reactivex_handler.ReactivexHandler[source]
Variant of
RequestHandlerwhich uses Reactivex (4.0). Wrap withreactivex_handler_factoryto pass as a request handler- abstract async on_setup(data_encoding, metadata_encoding, payload)[source]
Handle setup request
- Parameters:
data_encoding (bytes)
metadata_encoding (bytes)
payload (Payload)
- abstract async on_metadata_push(metadata)[source]
Handle metadata-push request
- Parameters:
metadata (Payload)
- abstract async request_channel(payload)[source]
Handle request-channel interaction
- Parameters:
payload (Payload)
- Return type:
ReactivexChannel
- abstract async request_fire_and_forget(payload)[source]
Handle request-fire-and-forget interaction
- Parameters:
payload (Payload)
- abstract async request_response(payload)[source]
Handle request-response interaction
- Parameters:
payload (Payload)
- Return type:
Observable
- abstract async request_stream(payload)[source]
Handle request-stream interaction
- Parameters:
payload (Payload)
- Return type:
Observable | Callable[[Subject], Observable]
- abstract async on_error(error_code, payload)[source]
Handle errors received from the remote side
- Parameters:
error_code (ErrorCode)
payload (Payload)
- rsocket.reactivex.reactivex_handler_adapter.reactivex_handler_factory(handler_factory)[source]
Wraps a reactivex handler factory into a basic request handler adapter.
- Parameters:
handler_factory (Callable[[], ReactivexHandler])
ReactiveX 3
- class rsocket.rx_support.rx_handler.RxHandler[source]
Variant of
RequestHandlerwhich uses Rx (3.0). Wrap withrx_handler_factoryto pass as a request handler- abstract async on_setup(data_encoding, metadata_encoding, payload)[source]
Handle setup request
- Parameters:
data_encoding (bytes)
metadata_encoding (bytes)
payload (Payload)
- abstract async on_metadata_push(metadata)[source]
Handle metadata-push request
- Parameters:
metadata (Payload)
- abstract async request_channel(payload)[source]
Handle request-channel interaction
- Parameters:
payload (Payload)
- Return type:
RxChannel
- abstract async request_fire_and_forget(payload)[source]
Handle request-fire-and-forget request
- Parameters:
payload (Payload)
- abstract async request_response(payload)[source]
Handle request-response interaction
- Parameters:
payload (Payload)
- Return type:
Observable
- abstract async request_stream(payload)[source]
Handle request-stream interaction
- Parameters:
payload (Payload)
- Return type:
Observable | Callable[[Subject], Observable]
- abstract async on_error(error_code, payload)[source]
Handle errors received from the remote side
- Parameters:
error_code (ErrorCode)
payload (Payload)