Skip to main content

memlink_msdk/
lib.rs

1//! memlink SDK - Build modules for the memlink runtime.
2//!
3//! Provides core infrastructure for memlink modules including arena allocation,
4//! method dispatch, request/response handling, serialization, logging, metrics,
5//! panic isolation, and persistent state references.
6
7#![allow(missing_docs)]
8#![allow(clippy::missing_safety_doc)]
9#![warn(rustdoc::missing_crate_level_docs)]
10
11pub mod arena;
12pub mod caller;
13pub mod context;
14pub mod dispatch;
15pub mod error;
16pub mod exports;
17pub mod log;
18pub mod macros;
19pub mod metrics;
20pub mod panic;
21pub mod r#ref;
22pub mod request;
23pub mod serialize;
24
25pub use arena::Arena;
26pub use caller::ModuleCaller;
27pub use context::CallContext;
28pub use error::{ModuleError, Result};
29pub use macros::{memlink_export, memlink_module};
30pub use r#ref::ArenaRef;
31
32pub mod prelude {
33    pub use crate::arena::Arena;
34    pub use crate::caller::{ModuleCaller, MAX_CALL_DEPTH};
35    pub use crate::context::CallContext;
36    pub use crate::dispatch::{dispatch, dispatch_with_context, register_method};
37    pub use crate::error::{ModuleError, Result};
38    pub use crate::log::{debug, error, info, log, Level};
39    pub use crate::macros::{memlink_export, memlink_module};
40    pub use crate::metrics::{increment_counter, observe_histogram, record_metric, set_gauge, MetricValue};
41    pub use crate::panic::catch_module_panic;
42    pub use crate::r#ref::ArenaRef;
43    pub use crate::serialize::{default_serializer, MessagePackSerializer, Serializer};
44    pub use memlink_protocol::{Request, Response, StatusCode};
45}