mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-29 09:41:34 +00:00
Implement close() from Sink (#492)
This commit is contained in:
@ -177,6 +177,11 @@ impl<T> Sink for Chan<T> {
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
self.outgoing.poll_complete().map_err(|_| io::ErrorKind::ConnectionReset.into())
|
self.outgoing.poll_complete().map_err(|_| io::ErrorKind::ConnectionReset.into())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
self.outgoing.close().map_err(|_| io::ErrorKind::ConnectionReset.into())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: IntoBuf> Into<RwStreamSink<Chan<T>>> for Chan<T> {
|
impl<T: IntoBuf> Into<RwStreamSink<Chan<T>>> for Chan<T> {
|
||||||
|
@ -211,6 +211,11 @@ where
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
self.inner.poll_complete()
|
self.inner.poll_complete()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
self.inner.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn decode_length_prefix(buf: &[u8]) -> u16 {
|
fn decode_length_prefix(buf: &[u8]) -> u16 {
|
||||||
|
@ -106,6 +106,11 @@ where
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
Ok(self.inner.poll_complete()?)
|
Ok(self.inner.poll_complete()?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
Ok(self.inner.close()?)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<R> Stream for Dialer<R>
|
impl<R> Stream for Dialer<R>
|
||||||
|
@ -132,6 +132,11 @@ where
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
Ok(self.inner.poll_complete()?)
|
Ok(self.inner.poll_complete()?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
Ok(self.inner.close()?)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<R> Stream for Listener<R>
|
impl<R> Stream for Listener<R>
|
||||||
|
@ -196,6 +196,9 @@ mod tests {
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
self.1.poll_complete()
|
self.1.poll_complete()
|
||||||
}
|
}
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
self.1.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -438,6 +438,9 @@ mod tests {
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
self.1.poll_complete()
|
self.1.poll_complete()
|
||||||
}
|
}
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
self.1.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_test() -> (KadConnecController, impl Stream<Item = KadIncomingRequest, Error = IoError>, KadConnecController, impl Stream<Item = KadIncomingRequest, Error = IoError>) {
|
fn build_test() -> (KadConnecController, impl Stream<Item = KadIncomingRequest, Error = IoError>, KadConnecController, impl Stream<Item = KadIncomingRequest, Error = IoError>) {
|
||||||
|
@ -125,4 +125,9 @@ where
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
self.raw_stream.poll_complete()
|
self.raw_stream.poll_complete()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
self.raw_stream.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,6 @@ where
|
|||||||
type SinkError = S::SinkError;
|
type SinkError = S::SinkError;
|
||||||
|
|
||||||
fn start_send(&mut self, mut data_buf: Self::SinkItem) -> StartSend<Self::SinkItem, Self::SinkError> {
|
fn start_send(&mut self, mut data_buf: Self::SinkItem) -> StartSend<Self::SinkItem, Self::SinkError> {
|
||||||
|
|
||||||
// TODO if SinkError gets refactor to SecioError,
|
// TODO if SinkError gets refactor to SecioError,
|
||||||
// then use try_apply_keystream
|
// then use try_apply_keystream
|
||||||
self.cipher_state.apply_keystream(&mut data_buf[..]);
|
self.cipher_state.apply_keystream(&mut data_buf[..]);
|
||||||
@ -77,6 +76,11 @@ where
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
self.raw_sink.poll_complete()
|
self.raw_sink.poll_complete()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
self.raw_sink.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<S> Stream for EncoderMiddleware<S>
|
impl<S> Stream for EncoderMiddleware<S>
|
||||||
|
@ -436,6 +436,11 @@ where
|
|||||||
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
fn poll_complete(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
self.inner.poll_complete()
|
self.inner.poll_complete()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn close(&mut self) -> Poll<(), Self::SinkError> {
|
||||||
|
self.inner.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<S> Stream for SecioMiddleware<S>
|
impl<S> Stream for SecioMiddleware<S>
|
||||||
|
Reference in New Issue
Block a user