Struct SegmentData
pub struct SegmentData { /* private fields */ }dial9 and pipeline only.Expand description
Data flowing through the processor pipeline.
The driver reads the sealed segment into payload, populates initial
metadata, then passes this through each SegmentProcessor in order.
SegmentData is intentionally !Clone: it is moved through the pipeline
and dropped exactly once, which is crucial for in-flight byte accounting
(a single Drop decrements the counters).
Implementations§
§impl SegmentData
impl SegmentData
pub fn segment(&self) -> &SegmentRef
pub fn segment(&self) -> &SegmentRef
Information about the sealed segment being processed.
pub fn take_payload(&mut self) -> Payload
pub fn take_payload(&mut self) -> Payload
Take ownership of the payload, leaving an empty Payload in its place.
pub fn set_payload(&mut self, payload: impl Into<Payload>)
pub fn set_payload(&mut self, payload: impl Into<Payload>)
Replace the payload.
pub fn set_compressed_size(&mut self, bytes: u64)
pub fn set_compressed_size(&mut self, bytes: u64)
Record the segment’s post-compression size. Surfaces as the
CompressedSize metric for this segment.
pub fn compressed_size(&self) -> Option<u64>
pub fn compressed_size(&self) -> Option<u64>
The post-compression size reported by a processor, if any.
pub fn metadata_mut(&mut self) -> &mut HashMap<String, String>
pub fn metadata_mut(&mut self) -> &mut HashMap<String, String>
Mutable reference to the metadata map. Processors can insert keys
(e.g. "content_encoding", "write_back_extension") to signal
downstream stages.
pub fn adjust_accounting(&mut self)
pub fn adjust_accounting(&mut self)
Update memory-mode in-flight accounting to the current payload size. No-op for disk-backed segments.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SegmentData
impl RefUnwindSafe for SegmentData
impl Send for SegmentData
impl Sync for SegmentData
impl Unpin for SegmentData
impl UnsafeUnpin for SegmentData
impl UnwindSafe for SegmentData
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
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> ⓘ
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> ⓘ
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>
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>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more