попытка буферизировать сообщения не увенчалась успехом, но может использоваться в будущем

This commit is contained in:
2025-02-18 14:56:31 +03:00
parent 6023f47212
commit 635fcbf914
5 changed files with 55 additions and 27 deletions
+18 -5
View File
@@ -35,13 +35,26 @@ public class RepresentationModule : IRepresentationModule
public async Task<byte[]> GetRawMessage(Guid? requestId = null, MessageType? messageType = null)
{
while (true)
var fromBuffer =
_interaction.UnhandledMessages.FirstOrDefault(message =>
(requestId is null || message.Id == requestId) &&
(messageType is null || message.SchemaId == messageType));
if (fromBuffer == null)
{
var message = await _interaction.GetNextMessageReceiving();
if ((requestId is null || message.Id == requestId) &&
(messageType is null || message.SchemaId == messageType))
return message.Data;
while (true)
{
var message = await _interaction.GetNextMessageReceiving();
if ((requestId is null || message.Id == requestId) &&
(messageType is null || message.SchemaId == messageType))
{
_interaction.HandleMessage(message);
return message.Data;
}
}
}
_interaction.HandleMessage(fromBuffer);
return fromBuffer.Data;
}
public async Task PostCallMessageAsync<T>(Guid id, MessageType messageType, T payload)