feat: complete final jetstream parity transport and runtime baselines

This commit is contained in:
Joseph Doherty
2026-02-23 11:04:43 -05:00
parent 53585012f3
commit 8bce096f55
61 changed files with 2655 additions and 129 deletions

View File

@@ -1,3 +1,7 @@
namespace NATS.Server.Subscriptions;
public sealed record RemoteSubscription(string Subject, string? Queue, string RouteId);
public sealed record RemoteSubscription(string Subject, string? Queue, string RouteId, bool IsRemoval = false)
{
public static RemoteSubscription Removal(string subject, string? queue, string routeId)
=> new(subject, queue, routeId, IsRemoval: true);
}

View File

@@ -103,7 +103,10 @@ public sealed class SubList : IDisposable
try
{
var key = $"{sub.RouteId}|{sub.Subject}|{sub.Queue}";
_remoteSubs[key] = sub;
if (sub.IsRemoval)
_remoteSubs.Remove(key);
else
_remoteSubs[key] = sub;
Interlocked.Increment(ref _generation);
}
finally
@@ -119,6 +122,9 @@ public sealed class SubList : IDisposable
{
foreach (var remoteSub in _remoteSubs.Values)
{
if (remoteSub.IsRemoval)
continue;
if (SubjectMatch.MatchLiteral(subject, remoteSub.Subject))
return true;
}