Struct rustdb::atomfile::AtomicFile[][src]

pub struct AtomicFile {
    pub stg: Box<dyn Storage>,
    pub upd: Box<dyn Storage>,
    // some fields omitted
}
Expand description

AtomicFile makes sure that database updates are all-or-nothing. Keeps a map of outstanding writes which have not yet been written to the underlying file.

Fields

stg: Box<dyn Storage>

The main underlying storage.

upd: Box<dyn Storage>

Temporary storage for updates during commit.

Implementations

Construct a new AtomicFle. stg is the main underlying storage, upd is temporary storage for updates during commit.

Perform the specified phase ( 1 or 2 ) of a two-phase commit.

Trait Implementations

Finish write transaction, size is new size of underlying storage.

Get the size of the underlying storage. Note : this is valid initially and after a commit but is not defined after write is called. Read more

Read data from storage.

Write Data slice to storage.

Write byte slice to storage.

Write byte Vec to storage.

Write u64 to storage.

Read u64 from storage.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

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.