feat(core): workspace, Observation, content-derived id

This commit is contained in:
2026-10-16 18:05:52 -07:00
parent 2d2beb7719
commit 8108feb146
10 changed files with 416 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
//! Compile-time constants for the tines workspace.
//!
//! Every value here is a compile-time `const` so it can drive generic
//! parameters (e.g. `heapless::Vec` capacities) and be optimized away.
/// Maximum topic length in bytes.
pub const MAX_TOPIC: usize = 64;
/// Maximum payload length in bytes.
pub const MAX_PAYLOAD: usize = 1024;
/// Maximum number of peers a node tracks.
pub const MAX_PEERS: usize = 8;
/// Maximum size, in bytes, of a per-key summary.
pub const SUMMARY_BYTES: usize = 512;
/// Number of hash functions used by the per-key Bloom filter.
pub const BLOOM_K: usize = 3;
/// Interval, in milliseconds, between summary emissions.
pub const SUMMARY_INTERVAL_MS: u64 = 2000;
/// Timeout, in milliseconds, for inbound frame reassembly.
pub const REASSEMBLY_TIMEOUT_MS: u64 = 5000;
/// Maximum number of frames buffered for outbound delivery.
pub const SEND_QUEUE_CAP: usize = 256;
/// Maximum UDP frame size in bytes.
pub const MAX_FRAME: usize = 1500;