Skip to main content

MutableEventRow

Struct MutableEventRow 

Source
pub struct MutableEventRow<'a> { /* private fields */ }
Expand description

Arena-allocated, mutable writer for constructing an EventRow.

The backing buffer is allocated from a [bumpalo::Bump] arena, ensuring zero heap allocations on the hot path.

Implementations§

Source§

impl<'a> MutableEventRow<'a>

Source

pub fn new_in( arena: &'a Bump, schema: &'a RowSchema, var_capacity: usize, ) -> Self

Allocates a new row from the given arena.

var_capacity is the number of extra bytes reserved for variable-length data (strings, binary). The total allocation is schema.min_row_size() + var_capacity.

Source

pub fn set_null(&mut self, field_idx: usize, is_null: bool)

Sets or clears the null flag for a field.

When is_null is true, the field is marked as null in the bitmap.

Source

pub fn set_bool(&mut self, field_idx: usize, value: bool)

Writes a bool field.

Source

pub fn set_i8(&mut self, field_idx: usize, value: i8)

Writes an i8 field.

Source

pub fn set_i16(&mut self, field_idx: usize, value: i16)

Writes an i16 field.

Source

pub fn set_i32(&mut self, field_idx: usize, value: i32)

Writes an i32 field.

Source

pub fn set_i64(&mut self, field_idx: usize, value: i64)

Writes an i64 field. Also accepts FieldType::TimestampMicros.

Source

pub fn set_u8(&mut self, field_idx: usize, value: u8)

Writes a u8 field.

Source

pub fn set_u16(&mut self, field_idx: usize, value: u16)

Writes a u16 field.

Source

pub fn set_u32(&mut self, field_idx: usize, value: u32)

Writes a u32 field.

Source

pub fn set_u64(&mut self, field_idx: usize, value: u64)

Writes a u64 field.

Source

pub fn set_f32(&mut self, field_idx: usize, value: f32)

Writes an f32 field.

Source

pub fn set_f64(&mut self, field_idx: usize, value: f64)

Writes an f64 field.

Source

pub fn set_str(&mut self, field_idx: usize, value: &str)

Writes a variable-length UTF-8 string field.

Appends the string bytes to the variable region and writes the (offset, length) descriptor pair in the field’s inline slot.

§Panics

Panics if the variable region overflows the allocated capacity.

Source

pub fn set_bytes(&mut self, field_idx: usize, value: &[u8])

Writes a variable-length binary field.

Appends the bytes to the variable region and writes the (offset, length) descriptor pair in the field’s inline slot.

§Panics

Panics if the variable region overflows the allocated capacity.

Source

pub fn as_event_row(&self) -> EventRow<'_>

Borrows the current row state as a read-only EventRow.

The returned row’s lifetime is tied to the borrow of self.

Source

pub fn freeze(self) -> EventRow<'a>

Consumes the mutable row, returning a read-only EventRow with the arena lifetime.

Trait Implementations§

Source§

impl<'a> Debug for MutableEventRow<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for MutableEventRow<'a>

§

impl<'a> RefUnwindSafe for MutableEventRow<'a>

§

impl<'a> Send for MutableEventRow<'a>

§

impl<'a> Sync for MutableEventRow<'a>

§

impl<'a> Unpin for MutableEventRow<'a>

§

impl<'a> UnsafeUnpin for MutableEventRow<'a>

§

impl<'a> !UnwindSafe for MutableEventRow<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
§

impl<T> Pointee for T

§

type Metadata = ()

The metadata type for pointers and references to this type.
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Scope for T

§

fn with<F, R>(self, f: F) -> R
where Self: Sized, F: FnOnce(Self) -> R,

Scoped with ownership.
§

fn with_ref<F, R>(&self, f: F) -> R
where F: FnOnce(&Self) -> R,

Scoped with reference.
§

fn with_mut<F, R>(&mut self, f: F) -> R
where F: FnOnce(&mut Self) -> R,

Scoped with mutable reference.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

§

impl<T> Value for T
where T: Send + Sync + 'static,