2025-02-20 16:10:09 +03:00
|
|
|
using System;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Threading.Tasks;
|
2025-02-16 11:45:08 +03:00
|
|
|
using mROA.Implementation;
|
|
|
|
|
|
2025-02-20 16:10:09 +03:00
|
|
|
namespace mROA.Abstract
|
2025-02-16 11:45:08 +03:00
|
|
|
{
|
2025-04-09 14:11:31 +03:00
|
|
|
public interface INextGenerationInteractionModule : IInjectableModule, IDisposable
|
2025-02-20 16:10:09 +03:00
|
|
|
{
|
2025-03-31 12:27:46 +03:00
|
|
|
int ConnectionId { get; set; }
|
2025-02-20 16:10:09 +03:00
|
|
|
public Stream? BaseStream { 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);
|
2025-03-31 10:34:04 +03:00
|
|
|
void HandleMessage(NetworkMessageHeader messageHeader);
|
|
|
|
|
NetworkMessageHeader[] UnhandledMessages { get; }
|
|
|
|
|
NetworkMessageHeader? FirstByFilter(Predicate<NetworkMessageHeader> predicate);
|
2025-04-06 20:51:12 +03:00
|
|
|
event Action<int> OnDisconected;
|
2025-04-08 11:48:46 +03:00
|
|
|
Task Restart(bool sendRecovery);
|
2025-02-20 16:10:09 +03:00
|
|
|
}
|
2025-01-11 15:55:46 +03:00
|
|
|
}
|