diff --git a/core/src/transport/memory.rs b/core/src/transport/memory.rs index 2b152dba..bc761413 100644 --- a/core/src/transport/memory.rs +++ b/core/src/transport/memory.rs @@ -177,6 +177,11 @@ impl Sink for Chan { fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { 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 Into>> for Chan { diff --git a/misc/multistream-select/src/length_delimited.rs b/misc/multistream-select/src/length_delimited.rs index 3bf41fa2..fab312b9 100644 --- a/misc/multistream-select/src/length_delimited.rs +++ b/misc/multistream-select/src/length_delimited.rs @@ -211,6 +211,11 @@ where fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { self.inner.poll_complete() } + + #[inline] + fn close(&mut self) -> Poll<(), Self::SinkError> { + self.inner.close() + } } fn decode_length_prefix(buf: &[u8]) -> u16 { diff --git a/misc/multistream-select/src/protocol/dialer.rs b/misc/multistream-select/src/protocol/dialer.rs index 896095ee..2ab22e89 100644 --- a/misc/multistream-select/src/protocol/dialer.rs +++ b/misc/multistream-select/src/protocol/dialer.rs @@ -106,6 +106,11 @@ where fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { Ok(self.inner.poll_complete()?) } + + #[inline] + fn close(&mut self) -> Poll<(), Self::SinkError> { + Ok(self.inner.close()?) + } } impl Stream for Dialer diff --git a/misc/multistream-select/src/protocol/listener.rs b/misc/multistream-select/src/protocol/listener.rs index a4cc3ac1..346ddbeb 100644 --- a/misc/multistream-select/src/protocol/listener.rs +++ b/misc/multistream-select/src/protocol/listener.rs @@ -132,6 +132,11 @@ where fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { Ok(self.inner.poll_complete()?) } + + #[inline] + fn close(&mut self) -> Poll<(), Self::SinkError> { + Ok(self.inner.close()?) + } } impl Stream for Listener diff --git a/misc/rw-stream-sink/src/lib.rs b/misc/rw-stream-sink/src/lib.rs index 670084cb..e4b73dca 100644 --- a/misc/rw-stream-sink/src/lib.rs +++ b/misc/rw-stream-sink/src/lib.rs @@ -196,6 +196,9 @@ mod tests { fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { self.1.poll_complete() } + fn close(&mut self) -> Poll<(), Self::SinkError> { + self.1.close() + } } #[test] diff --git a/protocols/kad/src/kad_server.rs b/protocols/kad/src/kad_server.rs index d00a264d..d75f167a 100644 --- a/protocols/kad/src/kad_server.rs +++ b/protocols/kad/src/kad_server.rs @@ -438,6 +438,9 @@ mod tests { fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { self.1.poll_complete() } + fn close(&mut self) -> Poll<(), Self::SinkError> { + self.1.close() + } } fn build_test() -> (KadConnecController, impl Stream, KadConnecController, impl Stream) { diff --git a/protocols/secio/src/codec/decode.rs b/protocols/secio/src/codec/decode.rs index 08440022..18b9f5e4 100644 --- a/protocols/secio/src/codec/decode.rs +++ b/protocols/secio/src/codec/decode.rs @@ -125,4 +125,9 @@ where fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { self.raw_stream.poll_complete() } + + #[inline] + fn close(&mut self) -> Poll<(), Self::SinkError> { + self.raw_stream.close() + } } diff --git a/protocols/secio/src/codec/encode.rs b/protocols/secio/src/codec/encode.rs index f163ea68..86b616ec 100644 --- a/protocols/secio/src/codec/encode.rs +++ b/protocols/secio/src/codec/encode.rs @@ -63,7 +63,6 @@ where type SinkError = S::SinkError; fn start_send(&mut self, mut data_buf: Self::SinkItem) -> StartSend { - // TODO if SinkError gets refactor to SecioError, // then use try_apply_keystream self.cipher_state.apply_keystream(&mut data_buf[..]); @@ -77,6 +76,11 @@ where fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { self.raw_sink.poll_complete() } + + #[inline] + fn close(&mut self) -> Poll<(), Self::SinkError> { + self.raw_sink.close() + } } impl Stream for EncoderMiddleware diff --git a/protocols/secio/src/lib.rs b/protocols/secio/src/lib.rs index 3bf83e3a..77240f46 100644 --- a/protocols/secio/src/lib.rs +++ b/protocols/secio/src/lib.rs @@ -436,6 +436,11 @@ where fn poll_complete(&mut self) -> Poll<(), Self::SinkError> { self.inner.poll_complete() } + + #[inline] + fn close(&mut self) -> Poll<(), Self::SinkError> { + self.inner.close() + } } impl Stream for SecioMiddleware