#![allow(unsafe_code)]
use super::report::report_f64;
use crate::panic_guard::FfiBoundary;
use crate::runtime::EngineContext;
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__scan_time(ctx: *mut EngineContext, out: *mut f64) -> bool {
FfiBoundary::run_default(false, || {
report_f64(out, unsafe { &mut *ctx }.engine_mut().scan_time())
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__read_time(
ctx: *mut EngineContext,
index: u32,
ranges: u32,
rows: u64,
out: *mut f64,
) -> bool {
FfiBoundary::run_default(false, || {
report_f64(
out,
unsafe { &mut *ctx }
.engine_mut()
.read_time(index, ranges, rows),
)
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__index_only_read_time(
ctx: *mut EngineContext,
keynr: u32,
records: f64,
out: *mut f64,
) -> bool {
FfiBoundary::run_default(false, || {
report_f64(
out,
unsafe { &mut *ctx }
.engine_mut()
.index_only_read_time(keynr, records),
)
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__page_read_cost(
ctx: *mut EngineContext,
index: u32,
reads: f64,
out: *mut f64,
) -> bool {
FfiBoundary::run_default(false, || {
report_f64(
out,
unsafe { &mut *ctx }
.engine_mut()
.page_read_cost(index, reads),
)
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__worst_seek_times(
ctx: *mut EngineContext,
reads: f64,
out: *mut f64,
) -> bool {
FfiBoundary::run_default(false, || {
report_f64(
out,
unsafe { &mut *ctx }.engine_mut().worst_seek_times(reads),
)
})
}