refactor(core): make local constants crate-private
Decision K (spec §5): the local capacities and timings are defaults that will become configuration, so they are `pub(crate)`. The wire constants stay public. - MAX_PEERS, SUMMARY_INTERVAL_MS, REASSEMBLY_TIMEOUT_MS, SEND_QUEUE_CAP, MIN_MTU, EVENT_QUEUE_CAP, DROP_TABLE_CAP, BCAST_SENT_CAP, ACK_BUFFER_CAP and PEER_IDLE_MS are now `pub(crate)`; a compile_fail doctest pins it. - MIN_MTU's doc claimed it was the floor below which a fragment has no room. It is only the frag sweep's lower bound (BLE ATT's 23). The real floors are now stated on `Transport::mtu` and pinned by `consts::tests::mtu_floors`: 85 to carry every valid observation, 66 to fragment at all, 35 for an Ack, 26 for a summary. - tines-bt caps live connections with its own MAX_PEERS (8). - tines-sim's props mirror MAX_PEERS/SEND_QUEUE_CAP, checked against core through the hidden `conformance` module; the fuzz twin reads it there. - node.rs: drain_events' rustdoc no longer links the now-private consts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -50,6 +50,17 @@ pub trait Transport {
|
||||
fn send(&mut self, to: &Self::Addr, frame: &[u8]) -> Result<(), SendError>;
|
||||
|
||||
/// Maximum frame size in bytes this transport can send (must be `<= MAX_FRAME`).
|
||||
///
|
||||
/// The smallest MTU core can fully use is **85 bytes**: at 85 every valid
|
||||
/// observation, up to a maximum-size, signed, addressed one, fits in the
|
||||
/// 64 fragments a peer will reassemble. Below that core never emits an
|
||||
/// oversized frame, but it sends less:
|
||||
/// - below 85, the largest observations can't be sent;
|
||||
/// - below 66, nothing is fragmented, so only observations that fit
|
||||
/// whole in one frame go out;
|
||||
/// - below 35, no receipt fits, so none is sent and every sender keeps
|
||||
/// custody of what it sent;
|
||||
/// - below 26, no summary fits.
|
||||
fn mtu(&self) -> usize;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user