#[doc(hidden)]
pub mod access;
pub mod api;
#[doc(hidden)]
pub mod bootstrap;
#[doc(hidden)]
pub mod control_plane_support;
#[doc(hidden)]
pub mod dispatch;
pub mod dto;
#[doc(hidden)]
pub mod error;
mod format;
pub mod ids;
#[doc(hidden)]
pub mod ingress;
pub mod log;
pub mod memory;
mod memory_macros;
pub mod perf;
pub mod protocol;
#[doc(hidden)]
pub mod shared_support;
#[cfg(test)]
pub mod test;
pub(crate) mod config;
pub(crate) mod domain;
pub(crate) mod infra;
pub(crate) mod lifecycle;
pub(crate) mod ops;
pub(crate) mod storage;
pub(crate) mod view;
pub(crate) mod workflow;
pub use ::canic_cdk as cdk;
pub(crate) use error::{InternalError, InternalErrorClass, InternalErrorOrigin};
#[doc(hidden)]
pub mod __reexports {
pub use ::ctor;
}
pub const CRATE_NAME: &str = env!("CARGO_PKG_NAME");
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const CANIC_MEMORY_MIN: u8 = storage::stable::CANIC_MEMORY_MIN;
pub const CANIC_MEMORY_MAX: u8 = storage::stable::CANIC_MEMORY_MAX;
pub const CANIC_WASM_CHUNK_BYTES: usize = 1_048_576;
#[cfg(test)]
const _: () = {
fn __canic_memory_test_bootstrap() {
crate::api::runtime::MemoryRuntimeApi::bootstrap_registry()
.expect("test stable-memory bootstrap");
}
#[crate::__reexports::ctor::ctor(
unsafe,
anonymous,
crate_path = crate::__reexports::ctor
)]
fn __canic_install_memory_test_bootstrap_hook() {
crate::memory::runtime::install_test_bootstrap_hook(__canic_memory_test_bootstrap);
}
};
#[macro_export]
macro_rules! perf {
($($label:tt)*) => {{
$crate::perf::PERF_LAST.with(|last| {
let now = $crate::perf::perf_counter();
let then = *last.borrow();
let delta = now.saturating_sub(then);
*last.borrow_mut() = now;
let label = format!($($label)*);
$crate::perf::record_checkpoint(module_path!(), &label, delta);
});
}};
}
#[cfg(test)]
#[macro_export]
macro_rules! assert_err_variant {
($err:expr, $pat:pat $(if $guard:expr)? $(,)?) => {{
match $err {
$pat $(if $guard)? => {}
other => panic!("unexpected error variant: {other:?}"),
}
}};
}
#[cfg(test)]
mod memory_bootstrap_tests {
#[test]
fn installs_host_test_bootstrap_hook() {
assert!(crate::memory::runtime::has_test_bootstrap_hook());
}
}