pub struct Fifo { /* private fields */ }
Expand description

First-In First-Out inter-process queue.

SYNOPSIS

FIFOs are intended to be the control plane for shared memory transports. Their read and write operations are more efficient than sockets or channels, but there are severe restrictions on the size of elements and buffers.

Implementations

Create a FIFO.

Write data to the FIFO.

This attempts to write up to count elements (count * elem_size bytes) from data to the fifo.

Fewer elements may be written than requested if there is insufficient room in the fifo to contain all of them.

The number of elements actually written is returned.

count must be nonzero.

Read data from the FIFO.

This attempts to read up to count elements from the fifo into data.

Fewer elements may be read than requested if there are insufficient elements in the fifo to fulfill the entire request. The number of elements actually read is returned.

The elem_size must match the element size that was passed into Fifo::create().

data must have a size of count * elem_size bytes.

count must be nonzero.

Trait Implementations

Formats the value using the given formatter. Read more

Executes the destructor for this type. Read more

Get object’s KoID.

Get the name of the type of the kernel object.

Get object’s name.

Set object’s name.

Get the signal status.

Assert signal.

Deassert signal.

Change signal status: first clear then set indicated bits. Read more

Add callback for signal status changes. Read more

Attempt to get the object’s peer. Read more

If the object is related to another (such as the other end of a channel, or the parent of a job), returns the KoID of that object, otherwise returns zero. Read more

Attempt to find a child of the object with given KoID. Read more

Get object’s allowed signals.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Casts the value.

Casts the value.

Casts the value.

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

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

Casts the value.

Casts the value.

Casts the value.

Casts the value.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.