Initial import of IC.Rebuild

This commit is contained in:
2026-10-13 22:55:05 +08:00
commit 16d61f7a5e
87 changed files with 17054 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
using ICRebuild.Core;
namespace ICRebuild.Runtime;
// Feature 36 owns subscriptions; native hooks may also serve independent consumers.
public sealed class NetworkCapture(NetworkManager network,ModuleManager modules,PacketBuffer buffer)
{
private readonly PacketRecorder recorder=new(buffer);
public long Errors => network.Pipeline.ReadErrors;
public long CompleteUp => recorder.CompleteUp;
public long CompleteDown => recorder.CompleteDown;
public long MetadataOnly => recorder.MetadataOnly;
public string LastIssue => network.Pipeline.LastIssue;
public void Register() => modules.Register(36,scope =>
{
network.Observe(scope,NetworkPhase.Received,recorder.Record);
network.Observe(scope,NetworkPhase.BeforeSend,recorder.Record);
scope.Defer(()=>buffer.Paused=true);
buffer.Paused=false;
});
}