Joseph Doherty
6bcd682b76
feat: add NatsRaftTransport with NATS subject routing ($NRG.*)
...
Implements RaftSubjects static class with Go's $NRG.* subject constants
and NatsRaftTransport which routes RAFT RPCs over those subjects using
RaftAppendEntryWire / RaftVoteRequestWire encoding. 43 tests cover all
subject patterns, wire encoding fidelity, and transport construction.
2026-02-24 06:40:41 -05:00
Joseph Doherty
2c9683e7aa
feat: upgrade JetStreamService to lifecycle orchestrator
...
Implements enableJetStream() semantics from golang/nats-server/server/jetstream.go:414-523.
- JetStreamService.StartAsync(): validates config, creates store directory
(including nested paths via Directory.CreateDirectory), registers all
$JS.API.> subjects, logs startup stats; idempotent on double-start
- JetStreamService.DisposeAsync(): clears registered subjects, marks not running
- New properties: RegisteredApiSubjects, MaxStreams, MaxConsumers, MaxMemory, MaxStore
- JetStreamOptions: adds MaxStreams and MaxConsumers limits (0 = unlimited)
- FileStoreConfig: removes duplicate StoreCipher/StoreCompression enum declarations
now that AeadEncryptor.cs owns them; updates defaults to NoCipher/NoCompression
- FileStoreOptions/FileStore: align enum member names with AeadEncryptor.cs
(NoCipher, NoCompression, S2Compression) to fix cross-task naming conflict
- 13 new tests in JetStreamServiceOrchestrationTests covering all lifecycle paths
2026-02-24 06:03:46 -05:00
Joseph Doherty
636906f545
feat: scaffold namespaces for data structures, FileStore, and RAFT
...
Add stub source files for Internal/Avl, Internal/SubjectTree, Internal/Gsl,
Internal/TimeHashWheel, Raft/RaftState, and Raft/IRaftNode, plus empty test
directories for all new namespaces and a Concurrency suite directory.
2026-02-23 20:42:42 -05:00
Joseph Doherty
0413ff6ae9
feat: implement strict raft consensus and convergence parity
2026-02-23 14:53:18 -05:00
Joseph Doherty
b41e6ff320
feat: execute post-baseline jetstream parity plan
2026-02-23 12:11:19 -05:00
Joseph Doherty
8bce096f55
feat: complete final jetstream parity transport and runtime baselines
2026-02-23 11:04:43 -05:00
Joseph Doherty
f46b331921
feat: complete remaining jetstream parity implementation plan
2026-02-23 10:16:16 -05:00
Joseph Doherty
c87661800d
feat: add stream replica groups and leader stepdown
2026-02-23 06:17:30 -05:00
Joseph Doherty
005600b9b8
feat: implement raft snapshot catchup
2026-02-23 06:13:08 -05:00
Joseph Doherty
ecc4752c07
feat: implement raft log replication and apply
2026-02-23 06:12:18 -05:00
Joseph Doherty
66ec378bdc
feat: implement raft election and term state
2026-02-23 06:11:28 -05:00