Commit Graph

423 Commits

Author SHA1 Message Date
Joseph Doherty
6a030151fc feat(batch47): implement MQTT full runtime — JSA bridge, sessions, account manager, protocol handlers
- MqttJsa.cs: full JetStream API bridge (22 features, Sub-batch A 2269-2290)
  - Async request/response helpers, consumer/stream CRUD, msg store/load/delete
  - Send queue via Channel<MqttJsPubMsg>, ConcurrentDictionary reply tracking

- MqttAccountSessionManager.cs: per-account MQTT session manager (26 features, Sub-batch C 2292-2322)
  - Session add/remove/lock/unlock, flapper tracking with cleanup timer
  - Retained message in-memory cache with TTL eviction (ConcurrentDictionary)
  - JSA reply dispatch, retained msg processing, session persist detection
  - Subscription creation, retained message subject matching (SubscriptionIndex)
  - createOrRestoreSession async (JetStream load + fallback to new session)
  - processSubs builds NATS subscriptions with retained message delivery
  - Stream migration stubs (transferUniqueSessStreamsToMuxed, transferRetained...)

- MqttTypes.cs: add Client and Seq to MqttSession; ExpiresFromCache to MqttRetainedMsg
  - Remove stubs for MqttJsa and MqttAccountSessionManager

- MqttHelpers.cs: standalone helpers (Sub-batch F 2264-2268)
  - IsMqttReservedSubscription, DecodeRetainedMessage, GeneratePubPerms,
    CheckPubRetainedPerms, TopicFilterContainsWildcard, TopicToNatsSubject

- ClientConnection.Mqtt.cs: Mqtt property stub on ClientConnection (Sub-batch E entry)

- Subscription.cs: add internal Mqtt (MqttSub?) and InternalCallback fields

All 2660 unit tests pass, 0 failures.
2026-03-01 10:14:47 -05:00
Joseph Doherty
ecd18cf1a9 chore: re-audit all batch 16-41 features and tests after merge
Reset deferred items to unknown and re-ran Roslyn audit.
Features: 428 promoted to verified, 363 remain deferred.
Tests: 209 promoted to verified, 880 remain deferred.
Overall progress: 82.0% (5694/6942).
2026-03-01 07:56:43 -05:00
Joseph Doherty
552e58cb26 chore: update report timestamp after all batches 16-41 complete 2026-03-01 06:39:17 -05:00
Joseph Doherty
214b145d76 chore(batch35): reconcile porting.db after merge 2026-03-01 02:45:50 -05:00
Joseph Doherty
037fb4bfc8 feat(batch35): merge js-cluster-remaining 2026-03-01 02:45:38 -05:00
Joseph Doherty
6a14aa816b batch35: finalize audits, batch completion, and report 2026-03-01 02:42:45 -05:00
Joseph Doherty
788abc1702 batch35: add and verify raft test waves T2-T4 2026-03-01 02:41:03 -05:00
Joseph Doherty
9e4405c2a1 batch35: add and verify test wave T1 2026-03-01 02:37:07 -05:00
Joseph Doherty
4c3a3fad69 chore(batch25): reconcile porting.db after merge 2026-03-01 02:32:08 -05:00
Joseph Doherty
73d9871be6 feat(batch25): merge gateways 2026-03-01 02:31:54 -05:00
Joseph Doherty
8baa604dce batch35: implement and verify feature group C 2026-03-01 02:30:35 -05:00
Joseph Doherty
c6363745bc feat(batch25): complete gateways implementation and verification 2026-03-01 02:30:25 -05:00
Joseph Doherty
ee1ab96d7c feat(batch25): verify gateway features and tests 2026-03-01 02:28:43 -05:00
Joseph Doherty
015b19b6f6 test(batch25): port cross-module gateway integration tests 2026-03-01 02:26:30 -05:00
Joseph Doherty
35becf549a batch35: implement and verify feature group B 2026-03-01 02:25:57 -05:00
Joseph Doherty
6ddad39b4a test(batch25): port gateway edge, reload, and slow-consumer tests 2026-03-01 02:23:37 -05:00
Joseph Doherty
cf9f40ab0c batch35: implement and verify feature group A 2026-03-01 02:21:30 -05:00
Joseph Doherty
3412ec6d5c test(batch25): port gateway interest and service-import tests 2026-03-01 02:21:23 -05:00
Joseph Doherty
a0763cd248 test(batch25): port gateway connect and tls baseline tests 2026-03-01 02:19:11 -05:00
Joseph Doherty
0d6e040450 batch35: task1 preflight and baseline evidence 2026-03-01 02:13:45 -05:00
Joseph Doherty
e9be0751ec feat(batch25): implement gateway reply map and inbound message pipeline 2026-03-01 02:07:25 -05:00
Joseph Doherty
f0b50c0b4c chore(batch29): reconcile porting.db after merge 2026-03-01 02:03:16 -05:00
Joseph Doherty
59fa600b3c feat(batch25): implement gateway interest and outbound send logic 2026-03-01 02:00:08 -05:00
Joseph Doherty
073ee6b0ee chore(batch29): complete batch tracking and refresh status report 2026-03-01 01:58:00 -05:00
Joseph Doherty
e88f780033 test(batch29): add mapped raft node tests for batching behavior 2026-03-01 01:55:05 -05:00
Joseph Doherty
0fece7f2f3 feat(batch25): implement gateway URL and registry bookkeeping 2026-03-01 01:53:51 -05:00
Joseph Doherty
6ae023d4a7 feat(batch29): implement jetstream batching group-b validation and apply state 2026-03-01 01:51:17 -05:00
Joseph Doherty
1763304e28 feat(batch25): implement gateway handshake and gossip 2026-03-01 01:50:40 -05:00
Joseph Doherty
a83339fe71 feat(batch25): implement gateway bootstrap and solicitation 2026-03-01 01:47:07 -05:00
Joseph Doherty
02d3b610a1 feat(batch29): implement jetstream batching group-a lifecycle/store methods 2026-03-01 01:45:35 -05:00
Joseph Doherty
6cf904cc7d chore(batch29): run preflight and baseline gates 2026-03-01 01:39:31 -05:00
Joseph Doherty
93f34c4782 chore(batch39): reconcile porting.db after merge 2026-03-01 01:35:35 -05:00
Joseph Doherty
58db8adbc7 feat(batch39): merge consumer-dispatch 2026-03-01 01:35:20 -05:00
Joseph Doherty
a99fa837b2 chore(batch24): reconcile porting.db after merge 2026-03-01 01:35:03 -05:00
Joseph Doherty
8dcd582e8d chore(batch24): remove generated build artifacts 2026-03-01 01:32:08 -05:00
Joseph Doherty
3e9ad16033 feat(batch24): complete leaf nodes implementation and verification 2026-03-01 01:31:57 -05:00
Joseph Doherty
6d87a5a147 feat(batch39): complete consumer dispatch batch and verify all mappings 2026-03-01 01:31:48 -05:00
Joseph Doherty
09f73a0d2f task6(batch39): implement shutdown and signal flow paths 2026-03-01 01:30:17 -05:00
Joseph Doherty
c0ec1f3341 task5(batch39): add reply parsing and consumer identity helpers 2026-03-01 01:25:26 -05:00
Joseph Doherty
519ee6ad49 task4(batch39): add delivery and redelivery dispatch behavior 2026-03-01 01:21:16 -05:00
Joseph Doherty
f537612d7c task3(batch39): implement dispatch core and ack-floor processing 2026-03-01 01:16:27 -05:00
Joseph Doherty
ff7e674ec4 chore(batch41): reconcile porting.db after merge 2026-03-01 01:13:50 -05:00
Joseph Doherty
b5d736ce89 feat(batch41): merge mqtt-client-io 2026-03-01 01:13:32 -05:00
Joseph Doherty
0760c550b4 task2(batch39): implement group A waiting/pull dispatch and T1 tests 2026-03-01 01:13:03 -05:00
Joseph Doherty
f2b1928a94 batch41: implement mqtt reader/writer and subject conversion slice 2026-03-01 01:08:31 -05:00
Joseph Doherty
94d339148a chore(batch39): start batch and record baseline gates 2026-03-01 01:01:29 -05:00
Joseph Doherty
af732e6b12 chore(batch38): reconcile porting.db after merge 2026-03-01 00:58:33 -05:00
Joseph Doherty
2aaa38cad9 feat(batch38): merge consumer-lifecycle 2026-03-01 00:57:36 -05:00
Joseph Doherty
988ec0d60c chore(batch40): reconcile porting.db after merge 2026-03-01 00:54:23 -05:00
Joseph Doherty
0ff6e5c952 chore(batch38): complete batch and refresh porting report 2026-03-01 00:54:19 -05:00