asio
pub trait IoControl<S: Socket> { type Data: Sized; fn name(&self) -> i32; fn data(&mut self) -> &mut Self::Data; }
type Data: Sized
fn name(&self) -> i32
fn data(&mut self) -> &mut Self::Data