2025-01-16 11:31:50 +01:00
|
|
|
|
using Utils;
|
2024-08-01 09:09:30 +02:00
|
|
|
|
|
2025-01-16 11:31:50 +01:00
|
|
|
|
namespace CodexClient.Hooks
|
2024-07-26 08:39:27 +02:00
|
|
|
|
{
|
|
|
|
|
|
public interface ICodexNodeHooks
|
|
|
|
|
|
{
|
2026-02-11 10:18:06 +01:00
|
|
|
|
void OnNodeStarting(DateTime startUtc, string image);
|
2025-01-29 14:44:19 +01:00
|
|
|
|
void OnNodeStarted(ICodexNode node, string peerId, string nodeId);
|
2024-07-26 08:39:27 +02:00
|
|
|
|
void OnNodeStopping();
|
2024-08-01 09:09:30 +02:00
|
|
|
|
void OnFileUploading(string uid, ByteSize size);
|
|
|
|
|
|
void OnFileUploaded(string uid, ByteSize size, ContentId cid);
|
|
|
|
|
|
void OnFileDownloading(ContentId cid);
|
|
|
|
|
|
void OnFileDownloaded(ByteSize size, ContentId cid);
|
2024-07-26 08:39:27 +02:00
|
|
|
|
}
|
2025-01-29 14:44:19 +01:00
|
|
|
|
|
|
|
|
|
|
public class MuxingCodexNodeHooks : ICodexNodeHooks
|
|
|
|
|
|
{
|
|
|
|
|
|
private readonly ICodexNodeHooks[] backingHooks;
|
|
|
|
|
|
|
|
|
|
|
|
public MuxingCodexNodeHooks(ICodexNodeHooks[] backingHooks)
|
|
|
|
|
|
{
|
|
|
|
|
|
this.backingHooks = backingHooks;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void OnFileDownloaded(ByteSize size, ContentId cid)
|
|
|
|
|
|
{
|
|
|
|
|
|
foreach (var h in backingHooks) h.OnFileDownloaded(size, cid);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void OnFileDownloading(ContentId cid)
|
|
|
|
|
|
{
|
|
|
|
|
|
foreach (var h in backingHooks) h.OnFileDownloading(cid);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void OnFileUploaded(string uid, ByteSize size, ContentId cid)
|
|
|
|
|
|
{
|
|
|
|
|
|
foreach (var h in backingHooks) h.OnFileUploaded(uid, size, cid);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void OnFileUploading(string uid, ByteSize size)
|
|
|
|
|
|
{
|
|
|
|
|
|
foreach (var h in backingHooks) h.OnFileUploading(uid, size);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void OnNodeStarted(ICodexNode node, string peerId, string nodeId)
|
|
|
|
|
|
{
|
|
|
|
|
|
foreach (var h in backingHooks) h.OnNodeStarted(node, peerId, nodeId);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-02-11 10:18:06 +01:00
|
|
|
|
public void OnNodeStarting(DateTime startUtc, string image)
|
2025-01-29 14:44:19 +01:00
|
|
|
|
{
|
2026-02-11 10:18:06 +01:00
|
|
|
|
foreach (var h in backingHooks) h.OnNodeStarting(startUtc, image);
|
2025-01-29 14:44:19 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void OnNodeStopping()
|
|
|
|
|
|
{
|
|
|
|
|
|
foreach (var h in backingHooks) h.OnNodeStopping();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-07-26 08:39:27 +02:00
|
|
|
|
}
|