Channel interaction module refresh base

This commit is contained in:
2025-04-30 12:25:23 +03:00
parent 3d3772a341
commit d2a41150f1
12 changed files with 143 additions and 90 deletions
+5 -6
View File
@@ -6,18 +6,17 @@ using mROA.Implementation;
namespace mROA.Abstract
{
public interface INextGenerationInteractionModule : IInjectableModule, IDisposable
public interface IChannelInteractionModule : IInjectableModule, IDisposable
{
int ConnectionId { get; set; }
Stream? BaseStream { get; set; }
ChannelReader<NetworkMessageHeader> UntrustedReceiveChanel { get; set; }
ChannelWriter<(int clientId, NetworkMessageHeader messageHeader)> UntrustedPostChanel { get; set; }
ChannelWriter<NetworkMessageHeader> ReceiveChanel { get; }
ChannelReader<NetworkMessageHeader> TrustedPostChanel { get; }
ChannelReader<NetworkMessageHeader> UntrustedPostChanel { get; }
Action<bool> IsConnected { get; set; }
Task<NetworkMessageHeader> GetNextMessageReceiving(bool infinite = true);
Task PostMessageAsync(NetworkMessageHeader messageHeader);
Task PostMessageUntrustedAsync(NetworkMessageHeader messageHeader);
void HandleMessage(NetworkMessageHeader messageHeader);
// NetworkMessageHeader[] UnhandledMessages { get; }
NetworkMessageHeader? FirstByFilter(Predicate<NetworkMessageHeader> predicate);
event Action<int> OnDisconnected;
Task Restart(bool sendRecovery);