Abstraction of representation module rewrite

This commit is contained in:
2025-05-02 13:34:40 +03:00
parent 4e9b595620
commit e6466b133b
6 changed files with 104 additions and 105 deletions
+23
View File
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using mROA.Implementation;
namespace mROA.Abstract
{
public interface IRepresentationModule : IInjectableModule
{
int Id { get; }
Task<(object parced, EMessageType originalType)> GetSingle(Predicate<NetworkMessageHeader> rule, CancellationToken token,
params Func<NetworkMessageHeader, Type?>[] converter);
IAsyncEnumerable<(object parced, EMessageType originalType)> GetStream(Predicate<NetworkMessageHeader> rule, CancellationToken token,
params Func<NetworkMessageHeader, Type?>[] converter);
Task PostCallMessageAsync<T>(Guid id, EMessageType eMessageType, T payload) where T : notnull;
void PostCallMessage<T>(Guid id, EMessageType eMessageType, T payload) where T : notnull;
void PostCallMessage(Guid id, EMessageType eMessageType, object payload, Type payloadType);
}
}