Skip to main content

limen_node/
lib.rs

1// Copyright © 2025–present Arlo Louis Byrne (idky137)
2// SPDX-License-Identifier: Apache-2.0
3//
4// Licensed under the Apache License, Version 2.0.
5// See the LICENSE-APACHE file in the project root for license terms.
6
7#![cfg_attr(not(feature = "std"), no_std)]
8#![warn(missing_docs)]
9#![deny(unsafe_code)]
10//! # limen-node
11//!
12//! **Limen Node** will provide concrete node implementations built on the
13//! contracts defined in `limen-core`. It is `no_std` by default and uses
14//! feature gates to enable `alloc` and `std`-specific conveniences.
15//!
16//! > **Status: stub.** The node contract traits live in `limen-core::node`
17//! > (source, sink, model, link). This crate is the intended home for
18//! > reusable, ready-to-use node implementations once they are developed.
19//! > Planned node families include source adapters (sensors, file readers),
20//! > sink adapters (GPIO, MQTT, stdout), pre/post-processing operators,
21//! > and routing nodes (fan-out, fan-in).
22//!
23//! ## Feature Flags
24//!
25//! | Flag | Effect |
26//! |------|--------|
27//! | *(default)* | `no_std`, no heap |
28//! | `alloc` | enables `alloc`-backed node variants |
29//! | `std` | implies `alloc`; enables `std`-backed node variants |
30
31#[cfg(feature = "alloc")]
32extern crate alloc;