Trait ConnectorService
pub trait ConnectorService<State, Request>:
Send
+ Sync
+ 'static {
type Connection;
type Error: Into<Box<dyn Error + Sync + Send>>;
// Required method
fn connect(
&self,
ctx: Context<State>,
req: Request,
) -> impl Future<Output = Result<EstablishedClientConnection<Self::Connection, State, Request>, Self::Error>> + Send;
}
Expand description
Glue trait that is used as the Connector trait bound for clients establishing a connection on one layer or another.
Can also be manually implemented as an alternative Service
trait,
but from a Rama POV it is mostly used for UX trait bounds.
Required Associated Types§
type Connection
type Connection
Connection returned by the ConnectorService
Required Methods§
fn connect(
&self,
ctx: Context<State>,
req: Request,
) -> impl Future<Output = Result<EstablishedClientConnection<Self::Connection, State, Request>, Self::Error>> + Send
fn connect( &self, ctx: Context<State>, req: Request, ) -> impl Future<Output = Result<EstablishedClientConnection<Self::Connection, State, Request>, Self::Error>> + Send
Establish a connection, which often involves some kind of handshake, or connection revival.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.