pub trait ConnectSource<T: Transport>: 'static {
// Required methods
fn poll_connect(&mut self, now: Instant) -> ConnectAction<T>;
fn on_connect_outcome(&mut self, tag: u32, success: bool, now: Instant);
// Provided method
fn on_disconnect(&mut self, tag: u32, now: Instant) { ... }
}