Skip to main content

IpcError

Type Alias IpcError 

Source
pub type IpcError = Error;
👎Deprecated since 0.7.0:

renamed to Error

Expand description

Renamed to error::Error.

Aliased Type§

pub enum IpcError {
Show 17 variants Io(Error), PublisherDead, InvalidRegion(String), PoolExhausted, Full, DataTooLarge { size: usize, capacity: usize, }, PinnedReadersActive { count: u32, topic_idx: u32, }, ClockError, TopicNotFound(String), MaxTopicsReached, UriTooLong { len: usize, max: usize, }, LockContention(String), AlignmentError { align: usize, max: usize, }, SegmentNameInvalid(String), HandleMismatch, RegionSizeOverflow, RegionCorrupted(String),
}

Variants§

§

Io(Error)

An I/O error occurred on the underlying file or mmap.

§

PublisherDead

The shared-memory publisher has stopped updating its heartbeat.

§

InvalidRegion(String)

The shared-memory region has invalid magic, version, or metadata.

§

PoolExhausted

The block pool is exhausted (all blocks are in use by subscribers).

§

Full

The bounded PodBus ring is full (backpressure).

Returned by [PodBus::try_publish] when the slowest subscriber is too far behind the publisher. The caller should wait or drop the value.

§

DataTooLarge

Data exceeds the block’s data capacity.

Fields

§size: usize

Attempted write size.

§capacity: usize

Block data capacity.

§

PinnedReadersActive

A subscriber holds a PinnedSample, preventing the publisher from writing.

Fields

§count: u32

Number of active readers.

§topic_idx: u32

Topic index.

§

ClockError

The system clock is before UNIX epoch (NTP jump, VM restore).

§

TopicNotFound(String)

A subscribe() call could not find the requested URI in the topic table.

§

MaxTopicsReached

A register() call ran out of topic slots.

§

UriTooLong

The topic URI exceeds the maximum allowed length.

Fields

§len: usize

Actual URI length.

§max: usize

Maximum allowed length.

§

LockContention(String)

An exclusive lock is already held on the region (another publisher is active).

§

AlignmentError

A Pod type’s alignment exceeds the block data alignment.

Fields

§align: usize

Actual type alignment.

§max: usize

Maximum supported alignment.

§

SegmentNameInvalid(String)

The segment name is invalid (empty, contains path separators, null bytes, or ..).

§

HandleMismatch

A Topic was used with a different Publisher than the one that created it.

§

RegionSizeOverflow

Checked arithmetic overflow during region size computation.

§

RegionCorrupted(String)

The shared-memory region’s free-list is corrupted (out-of-bounds block index).