Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core/muxing: Remove the StreamMuxer::flush_all function #2669

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions core/CHANGELOG.md
@@ -1,12 +1,15 @@
# 0.33.0 [unreleased]

- Have methods on `Transport` take `&mut self` instead of `self`. See [PR 2529].
- Remove `StreamMuxer::flush_all`. See [PR 2669].
- Rename `StreamMuxer::close` to `StreamMuxer::poll_close`. See [PR 2666].
- Remove deprecated function `StreamMuxer::is_remote_acknowledged`. See [PR 2665].

[PR 2529]: https://github.com/libp2p/rust-libp2p/pull/2529
[PR 2666]: https://github.com/libp2p/rust-libp2p/pull/2666
[PR 2665]: https://github.com/libp2p/rust-libp2p/pull/2665
[PR 2669]: https://github.com/libp2p/rust-libp2p/pull/2669


# 0.32.1

Expand Down
7 changes: 0 additions & 7 deletions core/src/either.rs
Expand Up @@ -352,13 +352,6 @@ where
EitherOutput::Second(inner) => inner.poll_close(cx).map_err(|e| e.into()),
}
}

fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
match self {
EitherOutput::First(inner) => inner.flush_all(cx).map_err(|e| e.into()),
EitherOutput::Second(inner) => inner.flush_all(cx).map_err(|e| e.into()),
}
}
}

#[derive(Debug, Copy, Clone)]
Expand Down
17 changes: 0 additions & 17 deletions core/src/muxing.rs
Expand Up @@ -216,13 +216,6 @@ pub trait StreamMuxer {
/// > properly informing the remote, there is no difference between this and
/// > immediately dropping the muxer.
fn poll_close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>;

/// Flush this `StreamMuxer`.
///
/// This drains any write buffers of substreams and delivers any pending shutdown notifications
/// due to `shutdown_substream` or `close`. One may thus shutdown groups of substreams
/// followed by a final `flush_all` instead of having to do `flush_substream` for each.
fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>;
}

/// Event about a connection, reported by an implementation of [`StreamMuxer`].
Expand Down Expand Up @@ -609,11 +602,6 @@ impl StreamMuxer for StreamMuxerBox {
fn poll_close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
self.inner.poll_close(cx)
}

#[inline]
fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
self.inner.flush_all(cx)
}
}

struct Wrap<T>
Expand Down Expand Up @@ -750,9 +738,4 @@ where
fn poll_close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
self.inner.poll_close(cx).map_err(|e| e.into())
}

#[inline]
fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
self.inner.flush_all(cx).map_err(|e| e.into())
}
}
9 changes: 2 additions & 7 deletions core/src/muxing/singleton.rs
Expand Up @@ -149,12 +149,7 @@ where

fn destroy_substream(&self, _: Self::Substream) {}

fn poll_close(&self, cx: &mut Context<'_>) -> Poll<Result<(), io::Error>> {
// The `StreamMuxer` trait requires that `close()` implies `flush_all()`.
self.flush_all(cx)
}

fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), io::Error>> {
AsyncWrite::poll_flush(Pin::new(&mut *self.inner.lock()), cx)
fn poll_close(&self, _cx: &mut Context<'_>) -> Poll<Result<(), io::Error>> {
Poll::Ready(Ok(()))
}
}
4 changes: 0 additions & 4 deletions muxers/mplex/src/lib.rs
Expand Up @@ -172,10 +172,6 @@ where
fn poll_close(&self, cx: &mut Context<'_>) -> Poll<Result<(), io::Error>> {
self.io.lock().poll_close(cx)
}

fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), io::Error>> {
self.io.lock().poll_flush(cx)
}
}

/// Active attempt to open an outbound substream.
Expand Down
4 changes: 0 additions & 4 deletions muxers/yamux/src/lib.rs
Expand Up @@ -191,10 +191,6 @@ where
}
Poll::Pending
}

fn flush_all(&self, _: &mut Context<'_>) -> Poll<YamuxResult<()>> {
Poll::Ready(Ok(()))
}
}

/// The yamux configuration.
Expand Down