Mercurial > lbo > hg > syslog
changeset 11:469c979e4d33 draft
Delete old file
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sat, 03 Dec 2016 11:18:18 +0100 |
parents | 0868a500a7f6 |
children | d680d7f1bec8 |
files | src/unix_datagram_stream.rs |
diffstat | 1 files changed, 0 insertions(+), 40 deletions(-) [+] |
line wrap: on
line diff
--- a/src/unix_datagram_stream.rs Sat Dec 03 11:18:08 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -use std::io; - -use tokio_core; - -use futures::{Async, Poll, Stream}; -use tokio_uds::UnixDatagram; - -pub struct UnixDatagramStream { - sock: UnixDatagram, - max_len: usize, - buf: Vec<u8>, -} - -pub fn new_unix_dgram_stream(max_recv_len: usize, socket: UnixDatagram) -> UnixDatagramStream { - let mut buf = Vec::new(); - buf.resize(max_recv_len, 0); - - UnixDatagramStream { - sock: socket, - max_len: max_recv_len, - buf: buf, - } -} - -impl Stream for UnixDatagramStream { - type Item = Vec<u8>; - type Error = io::Error; - - fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error> { - let len = try_nb!(self.sock.recv(&mut self.buf)); - - let mut copy = Vec::from(&self.buf[0..len]); - - for i in 0..len { - self.buf[i] = 0; - } - - Ok(Async::Ready(Some(copy))) - } -}