mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-25 00:00:18 +02:00
28 lines
511 B
Rust
28 lines
511 B
Rust
use {UnixListener, UnixStream};
|
|
|
|
use futures::{Stream, Poll};
|
|
|
|
use std::io;
|
|
|
|
/// Stream of listeners
|
|
#[derive(Debug)]
|
|
pub struct Incoming {
|
|
inner: UnixListener,
|
|
}
|
|
|
|
impl Incoming {
|
|
pub(crate) fn new(listener: UnixListener) -> Incoming {
|
|
Incoming { inner: listener }
|
|
}
|
|
}
|
|
|
|
impl Stream for Incoming {
|
|
type Item = UnixStream;
|
|
type Error = io::Error;
|
|
|
|
fn poll(&mut self) -> Poll<Option<Self::Item>, io::Error> {
|
|
Ok(Some(try_ready!(self.inner.poll_accept()).0).into())
|
|
}
|
|
}
|
|
|