#[repr(C)]pub struct FFIOperatorVTable {
pub apply: extern "C" fn(*mut c_void, *mut FFIContext, *const FlowChangeFFI, *mut FlowChangeFFI) -> i32,
pub get_rows: extern "C" fn(*mut c_void, *mut FFIContext, *const u64, usize, *mut RowsFFI) -> i32,
pub destroy: extern "C" fn(*mut c_void),
}Expand description
Virtual function table for FFI operators
This unified interface provides all methods an operator might need. Operators that don’t use certain features (e.g., state) simply won’t call those methods. All function pointers must be valid (non-null).
Fields§
§apply: extern "C" fn(*mut c_void, *mut FFIContext, *const FlowChangeFFI, *mut FlowChangeFFI) -> i32Apply the operator to a flow change
§Parameters
instance: The operator instance pointerctx: FFI context for this operationinput: Input flow changeoutput: Output flow change (to be filled by operator)
§Returns
- 0 on success, negative error code on failure
get_rows: extern "C" fn(*mut c_void, *mut FFIContext, *const u64, usize, *mut RowsFFI) -> i32Get specific rows by their row numbers
§Parameters
instance: The operator instance pointerctx: FFI context for this operationrow_numbers: Array of row numbers to fetchcount: Number of row numbersoutput: Output rows structure (to be filled)
§Returns
- 0 on success, negative error code on failure
destroy: extern "C" fn(*mut c_void)Destroy an operator instance and free its resources
§Parameters
instance: The operator instance pointer to destroy
§Safety
- The instance pointer must have been created by this operator’s create function
- The instance must not be used after calling destroy
- This function must be called exactly once per instance
Trait Implementations§
Source§impl Clone for FFIOperatorVTable
impl Clone for FFIOperatorVTable
Source§fn clone(&self) -> FFIOperatorVTable
fn clone(&self) -> FFIOperatorVTable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for FFIOperatorVTable
Auto Trait Implementations§
impl Freeze for FFIOperatorVTable
impl RefUnwindSafe for FFIOperatorVTable
impl Send for FFIOperatorVTable
impl Sync for FFIOperatorVTable
impl Unpin for FFIOperatorVTable
impl UnwindSafe for FFIOperatorVTable
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