Struct workflow_rpc::server::protocol::serde_json::SerdeJsonProtocol
source · pub struct SerdeJsonProtocol<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 SerdeJson
protocol.
Trait Implementations§
source§impl<ServerContext, ConnectionContext, Ops, Id> ProtocolHandler<ServerContext, ConnectionContext, Ops> for SerdeJsonProtocol<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 SerdeJsonProtocol<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: Serialize + Send + Sync + 'static,
Auto Trait Implementations§
impl<ServerContext, ConnectionContext, Ops, Id> !RefUnwindSafe for SerdeJsonProtocol<ServerContext, ConnectionContext, Ops, Id>
impl<ServerContext, ConnectionContext, Ops, Id> Send for SerdeJsonProtocol<ServerContext, ConnectionContext, Ops, Id>
impl<ServerContext, ConnectionContext, Ops, Id> Sync for SerdeJsonProtocol<ServerContext, ConnectionContext, Ops, Id>
impl<ServerContext, ConnectionContext, Ops, Id> Unpin for SerdeJsonProtocol<ServerContext, ConnectionContext, Ops, Id>where Id: Unpin, Ops: Unpin,
impl<ServerContext, ConnectionContext, Ops, Id> !UnwindSafe for SerdeJsonProtocol<ServerContext, ConnectionContext, Ops, Id>
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> 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.