Port 46 deferred features from server/events.go covering the internal event
system foundation:
- Group A (EventHelpers.cs): NewPubMsg/pool, RouteStat, GetHash/GetHashSize,
GetAcceptEncoding, RemoteLatencySubjectForResponse, TotalSubs, AccForClient,
IssuerForClient, ClearTimer; CompressionType enum
- Group B (NatsServerTypes.cs): ServerInfo advisory fields (Seq, Time,
Capabilities, Tags, Metadata) + capability methods (SetJetStreamEnabled,
IsJetStreamEnabled, SetBinaryStreamSnapshot, IsBinaryStreamSnapshot,
SetAccountNrg, IsAccountNrg)
- Group C (ClientTypes.cs): ForAssignmentSnap, ForProposal, ForAdvisory on
ClientInfo
- Group D (EventTypes.cs): PubMsg.ReturnToPool; PubMsg.Client typed as
ClientConnection?; InternalState.Client typed as ClientConnection?;
InternalState.Seq changed to long field for Interlocked.Increment
- Group E (ClientConnection.Events.cs): SendInternalMsg delegates to server
- Group F (Account.Events.cs): AccountTrafficStats/Set + Account.Statz()
- Group G (NatsServer.Events.cs): InternalReceiveLoop, InternalSendLoop,
SendShutdownEvent, SendInternalAccountSysMsg, SendInternalMsgLocked,
SendInternalMsg, SendInternalMsgFromClient, SendInternalResponse,
EventsRunning, EventsEnabled, Node, InitEventTracking, FilterRequest,
NoInlineCallback*, SysSubscribe*, SystemSubscribe, SysUnsubscribe,
InboxReply, NewRespInbox, WrapChk; EventFilterOptions, ServerApiResponse,
ApiError types
- Subscription.SysMsgCb field added for system subscription dispatch