[−][src]Trait tourniquet::Connector
Trait to be implemented by connector types. Used to get a connected service from its connection information.
Note that the implementor type can hold data for connection information shared across all providers, like TLS certificates, port, database name, ...
Example
use std::{io::Error, net::IpAddr}; use tokio::net::TcpStream; use tourniquet::Connector; struct Conn(u16); #[async_trait] impl Connector<IpAddr, Mutex<TcpStream>, Error> for Conn { async fn connect(&self, src: &IpAddr) -> Result<Mutex<TcpStream>, Error> { let Conn(ref port) = self; TcpStream::connect((*src, *port)).await.map(Mutex::new) } }
Required methods
#[must_use]fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
src: &'life1 SvcSrc
) -> Pin<Box<dyn Future<Output = Result<Svc, E>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
src: &'life1 SvcSrc
) -> Pin<Box<dyn Future<Output = Result<Svc, E>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,