Skip to main content

Crate ironspdk

Crate ironspdk 

Source

Modules§

rpc

Macros§

c_enum
Codegen translation between Rust and C enum constants
define_bdev_opts
Codegen conversion from RPC arguments to bdev options
rpc_register

Structs§

BdevCtx
BdevDesc
Thin wrapper around ‘struct spdk_bdev_desc’
BdevIo
Rust BdevIo wrapper around ‘struct spdk_bdev_io’ with completion future. Should be used by implementors of ‘trait Bdev’
BdevIoChannel
Bdev I/O channel container (bdev+spdk_thread context is stored here)
CpuSet
DmaBuf
Data buffer allocated from DMA memory. It may be shared between threads, so it implements Send+Sync+Clone.
IoBuf
IoFuture
SPDK-pure IoFuture
IoRange
IoRef
IoRefSplitter
Lbdev
Lower SPDK block device which is accessed using client SPDK API. Used by application code and implementors of ‘trait Bdev’ for accessing lower-layer bdevs
LbdevIoChannel
SPDK I/O channel intended to use with Lbdev
LbdevIoCtx
LbdevIoResult
RcBdevIoChannel
Reference-counted bdev I/O channel wrapper. It uses (struct spdk_io_channel).ref as a non-atomic reference counter. It should be used by custom SPDK threads (created manually with SpdkThread::new() by user).
SpdkApp
SpdkBdevOptsC
SPDK bdev options placeholder. Should be used with define_bdev_opts! macro to generate code which converts RPC arguments to bdev options
SpdkThread
SPDK thread wrapper
Tcb
Rust thread control block (per SPDK thread) It contains - executor tied with SPDK poller - storage for I/O channels owned by this SPDK thread

Enums§

DifType
Error
Io
IoIter
IoIterMut
IoStatus
IoType

Traits§

Bdev
Rust Bdev trait. If you write ironspdk Rust bdev module, you should implement this trait.

Functions§

bdev_registry_add
bdev_registry_remove
thread_id

Type Aliases§

BdevHandle
Handle for passing Bdev-s to C FFI
RawBdevHandle
Handle for passing bdevs between Rust SpdkThread-s