Joseph Doherty
|
4e63820e7a
|
feat(batch42): implement foundation helpers — msgtrace, monitor helpers, scheduler
Group A: Create MsgTrace.cs with TraceCompressionType, MsgTraceState (factory
methods, pipeline event helpers, sendEvent/sendEventFromJetStream, trace header
injection) and MsgTraceHelper (sample, genHeaderMapIfTraceHeadersPresent,
initAndSendIngressErrEvent, isMsgTraceEnabled, msgTraceSupport). Adds Trace field
to PublishArgument and Trace accessor to ParseContext.
Group C: Create MonitorHelpers.cs with GatewayzOptions, Gatewayz, RemoteGatewayz,
AccountGatewayz, ExtImport, ExtServiceLatency types; plus 25 standalone helper
functions (newSubsDetailList, newSubsList, createProxyInfo, makePeerCerts,
decodeBool, decodeUint64, decodeInt, decodeState, decodeSubs, newSubDetail,
newClientSubDetail, myUptime, tlsCertNotAfter, urlsToStrings, getPinnedCertsAsSlice,
getMonitorGWOptions, createOutboundRemoteGatewayz, createOutboundAccountsGatewayz,
createAccountOutboundGatewayz, createInboundAccountsGatewayz,
createInboundAccountGatewayz, ResponseHandler, handleResponse, newExtServiceLatency,
newExtImport).
Group D: Implement GetScheduledMessages in MsgScheduling; add Seq field to InMsg
for out-of-band scheduling sort. Group B (GatewayInterestMode.String) already complete.
|
2026-03-01 08:42:50 -05:00 |
|
Joseph Doherty
|
11c0b92fbd
|
feat: port session 02 — Utilities & Queues (util, ipqueue, scheduler, subject_transform)
- ServerUtilities: version helpers, parseSize/parseInt64, parseHostPort, URL redaction,
comma formatting, refCountedUrlSet, TCP helpers, parallelTaskQueue
- IpQueue<T>: generic intra-process queue with 1-slot Channel<bool> notification signal,
optional size/len limits, ConcurrentDictionary registry, single-slot List<T> pool
- MsgScheduling: per-subject scheduled message tracking via HashWheel TTLs,
binary encode/decode with zigzag varint, Timer-based firing
- SubjectTransform: full NATS subject mapping engine (11 transform types: Wildcard,
Partition, SplitFromLeft, SplitFromRight, SliceFromLeft, SliceFromRight, Split,
Left, Right, Random, NoTransform), FNV-1a partition hash
- 20 tests (7 util, 9 ipqueue, 4 subject_transform); 45 benchmarks/split tests marked n/a
- All 113 tests pass (112 unit + 1 integration)
- DB: features 328/3673 complete, tests 139/3257 complete (8.7% overall)
|
2026-02-26 09:39:36 -05:00 |
|