CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 83be3bd90f cultmesh-py: RUDP replies go in fragments, and a send failure ends no thread
The local server sent every RUDP reply as one datagram, so a snapshot of a
100 KB put raised EMSGSIZE inside _rudp_loop and ended the RUDP thread for
every peer. Replies are now fragmented by rudp_max_fragment_bytes (default
CULTMESH_RUDP_DEFAULT_MAX_FRAGMENT_BYTES, 1200, as in the Rust and
TypeScript servers), and each peer's reliable queue is bounded by
rudp_max_pending_reliable_packets; serve_node takes both.

A put arriving over RUDP whose served-alone reply would take more
fragments than one message (65535) or the peer's reliable queue can hold
is refused as document_unservable, with fragmentCount and
maxFragmentCount in its details. A datagram that cannot leave, or a reply
the peer's queue cannot take, is counted in rudp_send_failures and never
raised out of the loop.

This overlaps hands/ack-cutD (not yet on main), which classifies send
failures and ends only the affected peer's session; its counter has the
same name, and its classifier should replace the plain count here when it
merges.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:37:55 +02:00
..
cultcache-py Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-rs Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-ts Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultmath CultMath: Phacelle port moves into MPL-2.0 files; prune cut pinned by boundary points 2026-09-30 00:34:27 +02:00
cultmesh-browser Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultmesh-kotlin Consolidate CultNet schema contracts into CultLib/contracts/cultnet 2026-09-13 17:27:41 +02:00
cultmesh-py cultmesh-py: RUDP replies go in fragments, and a send failure ends no thread 2026-09-30 15:37:55 +02:00
cultmesh-rs cultmesh-rs: the snapshot source keeps owning the served record's provenance 2026-09-30 15:37:34 +02:00
cultmesh-ts cultmesh-ts: judge a put by what serving it sends, and tell the peer every refusal 2026-09-30 15:37:54 +02:00
cultnet-py Ack Cut 1d batch 2 (Python): an Ack does not retire a Connect awaiting its Accept; the fresh attempt jumps by the receive window less one 2026-09-30 09:53:06 +02:00
cultnet-rs Merge ack Cuts 1, 1b and 1c: one watermark, the write belongs to its session, a new generation is recognised 2026-09-30 10:28:05 +02:00
cultnet-ts cultnet-ts: the registry sizes the reply that would serve a raw put 2026-09-30 14:09:50 +02:00