Permissions, RateControl and Auditing

This commit is contained in:
2026-07-16 14:01:08 +03:00
parent 3a1b95dbc5
commit ba64a0c95a
62 changed files with 6095 additions and 2366 deletions
+23
View File
@@ -94,4 +94,27 @@ public class AsyncQueueTests
Assert.Equal(Enumerable.Range(1, itemCount), sequences.OrderBy(x => x));
}
[Fact]
public void LargeReadyBatch_IsDeliveredInOrder()
{
const int itemCount = 5_000;
var queue = new AsyncQueue<int>();
var replies = Enumerable.Range(0, itemCount)
.Select(_ => new AsyncReply<int>())
.ToArray();
var delivered = new List<int>(itemCount);
queue.Then(delivered.Add);
foreach (var reply in replies)
queue.Add(reply);
// Keep the head pending while every later item becomes ready, then release
// the whole batch at once. This exercises the bulk-removal path.
for (var i = 1; i < replies.Length; i++)
replies[i].Trigger(i);
replies[0].Trigger(0);
Assert.Equal(Enumerable.Range(0, itemCount), delivered);
}
}