#[repr(C)]pub struct StateCallbacks {
pub get: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, key: *const u8, key_len: usize, output: *mut BufferFFI) -> i32,
pub set: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, key: *const u8, key_len: usize, value: *const u8, value_len: usize) -> i32,
pub remove: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, key: *const u8, key_len: usize) -> i32,
pub clear: extern "C" fn(operator_id: u64, ctx: *mut FFIContext) -> i32,
pub prefix: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, prefix: *const u8, prefix_len: usize, iterator_out: *mut *mut StateIteratorFFI) -> i32,
pub iterator_next: extern "C" fn(iterator: *mut StateIteratorFFI, key_out: *mut BufferFFI, value_out: *mut BufferFFI) -> i32,
pub iterator_free: extern "C" fn(iterator: *mut StateIteratorFFI),
}Expand description
State management callbacks
Fields§
§get: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, key: *const u8, key_len: usize, output: *mut BufferFFI) -> i32Get a value from operator state
§Parameters
operator_id: Operator IDctx: FFI contextkey: Key byteskey_len: Length of keyoutput: Buffer to receive value
§Returns
- 0 if value exists and retrieved, 1 if key not found, negative on error
set: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, key: *const u8, key_len: usize, value: *const u8, value_len: usize) -> i32Set a value in operator state
§Parameters
operator_id: Operator IDctx: FFI contextkey: Key byteskey_len: Length of keyvalue: Value bytesvalue_len: Length of value
§Returns
- 0 on success, negative error code on failure
remove: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, key: *const u8, key_len: usize) -> i32Remove a value from operator state
§Parameters
operator_id: Operator IDctx: FFI contextkey: Key byteskey_len: Length of key
§Returns
- 0 on success, negative error code on failure
clear: extern "C" fn(operator_id: u64, ctx: *mut FFIContext) -> i32Clear all state for an operator
§Parameters
operator_id: Operator IDctx: FFI context
§Returns
- 0 on success, negative error code on failure
prefix: extern "C" fn(operator_id: u64, ctx: *mut FFIContext, prefix: *const u8, prefix_len: usize, iterator_out: *mut *mut StateIteratorFFI) -> i32Create an iterator for state keys with a given prefix
§Parameters
operator_id: Operator IDctx: FFI contextprefix: Prefix bytesprefix_len: Length of prefixiterator_out: Pointer to receive iterator handle
§Returns
- 0 on success, negative error code on failure
iterator_next: extern "C" fn(iterator: *mut StateIteratorFFI, key_out: *mut BufferFFI, value_out: *mut BufferFFI) -> i32Get the next key-value pair from a state iterator
§Parameters
iterator: Iterator handlekey_out: Buffer to receive keyvalue_out: Buffer to receive value
§Returns
- 0 on success, 1 if end of iteration, negative on error
iterator_free: extern "C" fn(iterator: *mut StateIteratorFFI)Trait Implementations§
Source§impl Clone for StateCallbacks
impl Clone for StateCallbacks
Source§fn clone(&self) -> StateCallbacks
fn clone(&self) -> StateCallbacks
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for StateCallbacks
Auto Trait Implementations§
impl Freeze for StateCallbacks
impl RefUnwindSafe for StateCallbacks
impl Send for StateCallbacks
impl Sync for StateCallbacks
impl Unpin for StateCallbacks
impl UnsafeUnpin for StateCallbacks
impl UnwindSafe for StateCallbacks
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more