Function asyncio::wrap
[−]
[src]
pub fn wrap<T, F, R>(handler: F, data: &Arc<T>) -> ArcHandler<T, F, R> where T: IoObject
Provides a Arc
handler to asynchronous operation.
The ArcHandler has trait the Handler
, that type of Handler::Output
is ()
.
Examples
use std::io; use std::sync::Arc; use asyncio::{IoService, wrap}; use asyncio::ip::{Tcp, TcpSocket, TcpEndpoint, TcpListener}; fn on_accept(soc: Arc<TcpListener>, res: io::Result<(TcpSocket, TcpEndpoint)>) { if let Ok((acc, ep)) = res { println!("accepted {}", ep) } } let io = &IoService::new(); let soc = Arc::new(TcpListener::new(io, Tcp::v4()).unwrap()); soc.async_accept(wrap(on_accept, &soc));