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.
Object Safety§
This trait is not object safe.