in foreign/csharp/Iggy_SDK/IggyClient/Implementations/TcpMessageStream.cs [282:306]
public async Task SendMessagesAsync(MessageSendRequest request,
Func<byte[], byte[]>? encryptor = null,
CancellationToken token = default)
{
if (request.Messages.Count == 0)
{
return;
}
//TODO - explore making fields of Message class mutable, so there is no need to create em from scratch
if (encryptor is not null)
{
for (var i = 0; i < request.Messages.Count || token.IsCancellationRequested; i++)
{
request.Messages[i] = request.Messages[i] with { Payload = encryptor(request.Messages[i].Payload) };
}
}
if (_messageInvoker is not null)
{
await _messageInvoker.SendMessagesAsync(request, token);
return;
}
await _channel!.Writer.WriteAsync(request, token);
}