Struct EncodedWriter
pub struct EncodedWriter<W, E> { /* private fields */ }Available on crate features
quic and std only.Expand description
Combine an asynchronous writer with a streaming encoder.
The writer is used directly; supply an AsyncWrite buffer when small writes are costly.
Finishing writes encoder trailers, flushes, then shuts down the writer, even on errors.
Cancellation while the encoder writes trailers cannot be retried; drop the output.
Cancellation during writer flush or shutdown resumes that phase. Successful finishes are idempotent.
Implementations§
§impl<W, E> EncodedWriter<W, E>
impl<W, E> EncodedWriter<W, E>
pub fn new(writer: W, encoder: E) -> EncodedWriter<W, E>
pub fn new(writer: W, encoder: E) -> EncodedWriter<W, E>
Pair a destination and encoder; initialization occurs when recording starts.
Trait Implementations§
§impl<W, E> QlogOutput for EncodedWriter<W, E>
impl<W, E> QlogOutput for EncodedWriter<W, E>
§async fn begin(&mut self, info: &TraceInfo) -> Result<(), Error>
async fn begin(&mut self, info: &TraceInfo) -> Result<(), Error>
Initialize output once, before processing events or flush requests.
§async fn event(&mut self, event: &QlogEventView<'_>) -> Result<(), Error>
async fn event(&mut self, event: &QlogEventView<'_>) -> Result<(), Error>
Write one observation in admission order; an error terminates recording.
Auto Trait Implementations§
impl<W, E> !RefUnwindSafe for EncodedWriter<W, E>
impl<W, E> !UnwindSafe for EncodedWriter<W, E>
impl<W, E> Freeze for EncodedWriter<W, E>
impl<W, E> Send for EncodedWriter<W, E>
impl<W, E> Sync for EncodedWriter<W, E>
impl<W, E> Unpin for EncodedWriter<W, E>
impl<W, E> UnsafeUnpin for EncodedWriter<W, E>where
W: UnsafeUnpin,
E: UnsafeUnpin,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more