pub trait Starter {
// Required methods
async fn start(self, port: u16, header: &str) -> Result<()>;
async fn start_from_listener(
self,
listener: TcpListener,
header: &str,
) -> Result<()>;
// Provided method
async fn start_gen<T: Starter>(
port: u16,
magic_header: &str,
gen: impl FnOnce() -> T,
) -> Result<()> { ... }
}
Required Methods§
async fn start(self, port: u16, header: &str) -> Result<()>
async fn start_from_listener( self, listener: TcpListener, header: &str, ) -> Result<()>
Provided Methods§
async fn start_gen<T: Starter>( port: u16, magic_header: &str, gen: impl FnOnce() -> T, ) -> Result<()>
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.