omnimesh 1.0.1

Zero-allocation mesh networking middleware for autonomous robot fleets, edge-AI swarms, and multi-agent systems
Documentation
use omnimesh::{PayloadStorage, SafetyBufferPool};

#[test]
fn payload_storage_overflow() {
    let mut storage = PayloadStorage::<4>::new();
    assert!(storage.push_bytes(&[1, 2, 3, 4]).is_ok());
    assert_eq!(storage.len(), 4);
    assert!(storage.push_bytes(&[5]).is_err());
}

#[test]
fn safety_buffer_pool_acquire_release() {
    let mut pool = SafetyBufferPool::<16, 2>::new();

    let (index1, slot1) = pool.acquire().expect("first buffer");
    slot1.push_bytes(b"abc").unwrap();
    assert_eq!(pool.utilization(), 0.5);

    let (index2, slot2) = pool.acquire().expect("second buffer");
    slot2.push_bytes(b"xyz").unwrap();
    assert_eq!(pool.utilization(), 1.0);

    assert!(pool.acquire().is_none());

    pool.release(index1);
    assert_eq!(pool.utilization(), 0.5);

    pool.release(index2);
    assert_eq!(pool.utilization(), 0.0);
}