Commit graph CultLib/src/GameCult.Mesh/CultMeshClient.cs
Author SHA1 Message Date
Libby
09e6a528b8 C#: SubmitDocumentAsync and the shard write forwarder complete on the result frame
Some checks failed
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Failing after 6m41s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Successful in 32s
CultNetWriteCompletion.SendAndAwaitResultAsync registers a refusal handler before
the send, then waits a result window (default 500 ms; CultMeshClientOptions.
SubmitResultWindow, CultNetSchemaWriteForwarderOptions.ResultWindow). A
cultnet.error.v0 inside it rejects with the new CultNetWriteRefusedException
(Code: write_not_authorized, message_invalid, ...) whatever its order against the
send or transport ack; a send returning no longer completes the write. The
forwarder's refusal now throws on the same path as an unreachable primary, so
CultNetDatabaseServer.TryForwardPutAsync/DeleteAsync no longer report a refused
forward as done. Raw send primitives (C# schema client/session, Python, Kotlin)
carry the doc line: fire-and-forget, an ack or a return is not admission, read the
result frame.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 13:24:27 +00:00
Meta Vens
7a6f0be21f Bind CultMesh application ingress to session identity 2026-08-18 23:08:59 +02:00
Meta Vens
99458dbb57 Ship authenticated remote transports in Unity package 2026-08-18 20:23:27 +02:00
Meta Vens
6c848bd6c0 Bind CultMesh authority identity to physical routes 2026-08-18 17:21:58 +02:00
Meta Vens
21163d83fa Make CultMesh identity and route recovery explicit 2026-08-18 10:42:33 +02:00
Meta Vens
c75051017d Make CultMesh session identity explicit 2026-08-18 07:26:55 +02:00
Meta Vens
b0a876a220 Add typed CultNet operation dispatch 2026-08-18 05:59:11 +02:00
Meta Vens
e49f93f56d Invoke typed operations through retained clients 2026-08-18 03:49:33 +02:00
Meta Vens
cb7f9e8fa2 Retain native clients across provider routes 2026-08-18 03:34:59 +02:00
Meta Vens
376c08a155 Make CultMesh client resources explicit 2026-08-17 20:39:24 +02:00
Meta Vens
c16163a82f Modularize CultMesh transport planes 2026-07-19 17:57:26 +01:00
Meta Vens
091200c09d Move hot bodies off snapshot state 2026-07-19 13:57:06 +01:00
Meta Vens
9305d53ed5 Expose managed content providers on CultMesh clients 2026-07-14 01:19:26 +01:00
Meta Vens
eeb6166e78 Replay unanswered CultMesh subscription intents 2026-07-13 04:43:27 +01:00
Meta Vens
6ffb70cb39 Replay CultMesh subscriptions per physical session 2026-07-13 04:25:03 +01:00
Meta Vens
61257d5a20 Harden CultMesh subscription readiness 2026-07-13 04:19:54 +01:00
Meta Vens
34bd95f5b9 Replay live bindings across initial reconnect 2026-07-12 23:27:21 +01:00
Meta Vens
4d37d1c71f Isolate content reads from live document sessions 2026-07-12 21:55:46 +01:00
Meta Vens
af6adf086d Preserve managed read response budget 2026-07-12 21:52:29 +01:00
Meta Vens
f04e8fe7d7 Batch immutable reads through managed sessions 2026-07-12 21:48:28 +01:00
Meta Vens
66666d4882 Read immutable typed records through managed sessions 2026-07-12 21:27:01 +01:00
Meta Vens
f0429abcb0 Bind live typed collections through CultMesh client 2026-07-12 21:07:21 +01:00
Meta Vens
bb4afc9ba1 Bind live typed documents through CultMesh client 2026-07-12 21:03:55 +01:00
Meta Vens
6403744ada Add identity-first CultMesh application client 2026-07-12 20:56:45 +01:00