in src/DotPulsar/Internal/Connection.cs [103:132]
public Task Send(CommandPing command, CancellationToken cancellationToken)
=> Send(command.AsBaseCommand(), cancellationToken);
public Task Send(CommandPong command, CancellationToken cancellationToken)
=> Send(command.AsBaseCommand(), cancellationToken);
public Task Send(CommandAck command, CancellationToken cancellationToken)
=> Send(command.AsBaseCommand(), cancellationToken);
public Task Send(CommandFlow command, CancellationToken cancellationToken)
=> Send(command.AsBaseCommand(), cancellationToken);
public Task Send(CommandRedeliverUnacknowledgedMessages command, CancellationToken cancellationToken)
=> Send(command.AsBaseCommand(), cancellationToken);
public async Task<BaseCommand> Send(CommandUnsubscribe command, CancellationToken cancellationToken)
{
ThrowIfDisposed();
Task<BaseCommand>? responseTask;
using (await _lock.Lock(cancellationToken).ConfigureAwait(false))
{
responseTask = _channelManager.Outgoing(command);
var sequence = Serializer.Serialize(command.AsBaseCommand());
await _stream.Send(sequence).ConfigureAwait(false);
}
return await responseTask.ConfigureAwait(false);
}