Files
mROA/mROA/Abstract/IInteractionModule.cs
T

24 lines
996 B
C#
Raw Normal View History

using System;
using System.IO;
using System.Threading.Channels;
using System.Threading.Tasks;
using mROA.Implementation;
namespace mROA.Abstract
{
2025-04-30 12:25:23 +03:00
public interface IChannelInteractionModule : IInjectableModule, IDisposable
{
int ConnectionId { get; set; }
2025-04-30 12:25:23 +03:00
ChannelWriter<NetworkMessageHeader> ReceiveChanel { get; }
ChannelReader<NetworkMessageHeader> TrustedPostChanel { get; }
ChannelReader<NetworkMessageHeader> UntrustedPostChanel { get; }
2025-05-02 12:08:31 +03:00
Func<bool> IsConnected { get; set; }
2025-04-08 22:42:00 +03:00
Task<NetworkMessageHeader> GetNextMessageReceiving(bool infinite = true);
2025-04-06 20:51:12 +03:00
Task PostMessageAsync(NetworkMessageHeader messageHeader);
Task PostMessageUntrustedAsync(NetworkMessageHeader messageHeader);
2025-03-31 10:34:04 +03:00
void HandleMessage(NetworkMessageHeader messageHeader);
NetworkMessageHeader? FirstByFilter(Predicate<NetworkMessageHeader> predicate);
event Action<int> OnDisconnected;
Task Restart(bool sendRecovery);
}
2025-01-11 15:55:46 +03:00
}