CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens d04d71e898 cultmesh-py: refuse options that could answer nothing, as Rust does
With one-byte fragments and a reliable queue of 16, even an empty snapshot
can never be queued: every reply vanished while rudp_send_failures
counted, and the peer timed out. Rust refuses such a configuration at
startup in validate_options; Python's __post_init__ accepted it.

__post_init__ now applies Rust's rules to every option the two servers
share, in Rust's order: max_snapshot_bytes, max_snapshot_documents,
rudp_resend_delay_ms, rudp_max_pending_reliable_packets and
rudp_max_fragment_bytes must be greater than zero (the first two when
set; zero was accepted before), max_snapshot_bytes must hold an empty
snapshot response, and an empty snapshot response in fragments of
rudp_max_fragment_bytes, counted rounding up, must fit the lesser of
65535 and the reliable queue. Rust's session, lifetime and payload-budget
rules have no Python option to apply to.

The test measures the empty snapshot the server actually sends, pins each
rule at its boundary, and shows the configuration at the bound does
answer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 17:41:19 +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: refuse options that could answer nothing, as Rust does 2026-09-30 17:41:19 +02:00
cultmesh-rs cultmesh-rs: connect() takes a server over any snapshot source 2026-09-30 16:20:22 +02:00
cultmesh-ts cultmesh-ts: a put is refused unless its receipt could be sent 2026-09-30 16:04:01 +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 decodes the value a raw put would store 2026-09-30 16:04:01 +02:00