Struct workflow_rpc::server::protocol::borsh::BorshProtocol
source · pub struct BorshProtocol<ServerContext, ConnectionContext, Ops, Id>where
ServerContext: Clone + Send + Sync + 'static,
ConnectionContext: Clone + Send + Sync + 'static,
Ops: OpsT,
Id: IdT,{ /* private fields */ }
Expand description
Server-side message serializer and dispatcher when using Borsh
protocol.
Trait Implementations§
source§impl<ServerContext, ConnectionContext, Ops, Id> ProtocolHandler<ServerContext, ConnectionContext, Ops> for BorshProtocol<ServerContext, ConnectionContext, Ops, Id>where
ServerContext: Clone + Send + Sync + 'static,
ConnectionContext: Clone + Send + Sync + 'static,
Ops: OpsT,
Id: IdT,
impl<ServerContext, ConnectionContext, Ops, Id> ProtocolHandler<ServerContext, ConnectionContext, Ops> for BorshProtocol<ServerContext, ConnectionContext, Ops, Id>where
ServerContext: Clone + Send + Sync + 'static,
ConnectionContext: Clone + Send + Sync + 'static,
Ops: OpsT,
Id: IdT,
fn new(interface: Arc<Interface<ServerContext, ConnectionContext, Ops>>) -> Selfwhere
Self: Sized,
fn encoding(&self) -> Encoding
fn handle_message<'life0, 'life1, 'async_trait>(
&'life0 self,
connection_ctx: ConnectionContext,
msg: Message,
sink: &'life1 WebSocketSink
) -> Pin<Box<dyn Future<Output = WebSocketResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn serialize_notification_message<Msg>(
&self,
op: Ops,
msg: Msg
) -> Result<Message>where
Msg: BorshSerialize + Send + Sync + 'static,
Auto Trait Implementations§
impl<ServerContext, ConnectionContext, Ops, Id> !RefUnwindSafe for BorshProtocol<ServerContext, ConnectionContext, Ops, Id>
impl<ServerContext, ConnectionContext, Ops, Id> Send for BorshProtocol<ServerContext, ConnectionContext, Ops, Id>
impl<ServerContext, ConnectionContext, Ops, Id> Sync for BorshProtocol<ServerContext, ConnectionContext, Ops, Id>
impl<ServerContext, ConnectionContext, Ops, Id> Unpin for BorshProtocol<ServerContext, ConnectionContext, Ops, Id>where
Id: Unpin,
Ops: Unpin,
impl<ServerContext, ConnectionContext, Ops, Id> !UnwindSafe for BorshProtocol<ServerContext, ConnectionContext, Ops, Id>
Blanket Implementations§
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.