mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-09-08 00:00:13 +02:00
util: add mutable reference getters for codecs to pinned Framed (#4372)
This commit is contained in:
@@ -204,6 +204,15 @@ impl<T, U> Framed<T, U> {
|
|||||||
&mut self.inner.codec
|
&mut self.inner.codec
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns a mutable reference to the underlying codec wrapped by
|
||||||
|
/// `Framed`.
|
||||||
|
///
|
||||||
|
/// Note that care should be taken to not tamper with the underlying codec
|
||||||
|
/// as it may corrupt the stream of frames otherwise being worked with.
|
||||||
|
pub fn codec_pin_mut(self: Pin<&mut Self>) -> &mut U {
|
||||||
|
self.project().inner.project().codec
|
||||||
|
}
|
||||||
|
|
||||||
/// Returns a reference to the read buffer.
|
/// Returns a reference to the read buffer.
|
||||||
pub fn read_buffer(&self) -> &BytesMut {
|
pub fn read_buffer(&self) -> &BytesMut {
|
||||||
&self.inner.state.read.buffer
|
&self.inner.state.read.buffer
|
||||||
|
|||||||
@@ -108,6 +108,11 @@ impl<T, D> FramedRead<T, D> {
|
|||||||
&mut self.inner.codec
|
&mut self.inner.codec
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns a mutable reference to the underlying decoder.
|
||||||
|
pub fn decoder_pin_mut(self: Pin<&mut Self>) -> &mut D {
|
||||||
|
self.project().inner.project().codec
|
||||||
|
}
|
||||||
|
|
||||||
/// Returns a reference to the read buffer.
|
/// Returns a reference to the read buffer.
|
||||||
pub fn read_buffer(&self) -> &BytesMut {
|
pub fn read_buffer(&self) -> &BytesMut {
|
||||||
&self.inner.state.buffer
|
&self.inner.state.buffer
|
||||||
|
|||||||
@@ -88,6 +88,11 @@ impl<T, E> FramedWrite<T, E> {
|
|||||||
&mut self.inner.codec
|
&mut self.inner.codec
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns a mutable reference to the underlying encoder.
|
||||||
|
pub fn encoder_pin_mut(self: Pin<&mut Self>) -> &mut E {
|
||||||
|
self.project().inner.project().codec
|
||||||
|
}
|
||||||
|
|
||||||
/// Returns a reference to the write buffer.
|
/// Returns a reference to the write buffer.
|
||||||
pub fn write_buffer(&self) -> &BytesMut {
|
pub fn write_buffer(&self) -> &BytesMut {
|
||||||
&self.inner.state.buffer
|
&self.inner.state.buffer
|
||||||
|
|||||||
Reference in New Issue
Block a user