struct OutputState {
tx: OnceLock<Sender<Message>>,
ended: AtomicBool,
registered: AtomicBool,
logging: AtomicUsize,
logged: Notify,
}Expand description
The output towards the attach clients, shared with the registered output
of the container, see SharedContainerAttach::output.
Fields§
§tx: OnceLock<Sender<Message>>The sender of the broadcast, created for the first attach client, a container without any does not need its buffer. It is never removed, so the output reads it without a lock.
ended: AtomicBoolSet once the output ended, before the done message gets sent.
registered: AtomicBoolSet once an output got registered, see
SharedContainerAttach::output.
logging: AtomicUsizeThe read loops with output on its way into the log, see
SharedContainerAttach::logging.
logged: NotifyNotified once no read loop has output on its way into the log.
Trait Implementations§
Source§impl Debug for OutputState
impl Debug for OutputState
Auto Trait Implementations§
impl !Freeze for OutputState
impl RefUnwindSafe for OutputState
impl Send for OutputState
impl Sync for OutputState
impl Unpin for OutputState
impl UnsafeUnpin for OutputState
impl UnwindSafe for OutputState
Blanket Implementations§
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> ⓘ
§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 tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].