Skip to main content

SegmentFlags

Struct SegmentFlags 

Source
pub struct SegmentFlags(/* private fields */);
Expand description

Bitfield wrapper around the 16-bit segment flags.

Bits 12-15 are reserved and must be zero.

Implementations§

Source§

impl SegmentFlags

Source

pub const COMPRESSED: u16 = 0x0001

Payload is compressed per the compression header field.

Source

pub const ENCRYPTED: u16 = 0x0002

Payload is encrypted (key info in CRYPTO_SEG / manifest).

Source

pub const SIGNED: u16 = 0x0004

A signature footer follows the payload.

Source

pub const SEALED: u16 = 0x0008

Segment is immutable (compaction output).

Source

pub const PARTIAL: u16 = 0x0010

Segment is a partial / streaming write.

Source

pub const TOMBSTONE: u16 = 0x0020

Segment logically deletes a prior segment.

Source

pub const HOT: u16 = 0x0040

Segment contains temperature-promoted (hot) data.

Source

pub const OVERLAY: u16 = 0x0080

Segment contains overlay / delta data.

Source

pub const SNAPSHOT: u16 = 0x0100

Segment contains a full snapshot (not delta).

Source

pub const CHECKPOINT: u16 = 0x0200

Segment is a safe rollback point.

Source

pub const ATTESTED: u16 = 0x0400

Segment was produced inside an attested TEE environment.

Source

pub const HAS_LINEAGE: u16 = 0x0800

File carries DNA-style lineage provenance metadata.

Source

pub const fn empty() -> Self

Create an empty flags value (no flags set).

Source

pub const fn from_raw(raw: u16) -> Self

Create flags from a raw u16. Reserved bits are masked off.

Source

pub const fn bits(self) -> u16

Return the raw u16 representation.

Source

pub const fn contains(self, flag: u16) -> bool

Check whether a specific flag bit is set.

Source

pub const fn with(self, flag: u16) -> Self

Set a flag bit.

Source

pub const fn without(self, flag: u16) -> Self

Clear a flag bit.

Source

pub const fn is_empty(self) -> bool

Returns true if no flags are set.

Trait Implementations§

Source§

impl Clone for SegmentFlags

Source§

fn clone(&self) -> SegmentFlags

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SegmentFlags

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Hash for SegmentFlags

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for SegmentFlags

Source§

fn eq(&self, other: &SegmentFlags) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SegmentFlags

Source§

impl Eq for SegmentFlags

Source§

impl StructuralPartialEq for SegmentFlags

Auto Trait Implementations§

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
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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.