EasyNetQ by Mike Hadlow,Michael Denny,Yury Pliner,Wiebe Tijsma,Contributors (see GitHub repo)

<PackageReference Include="EasyNetQ" Version="7.0.0-rc1" />

.NET API 453,120 bytes

 IPullingConsumer<TPullResult>

public interface IPullingConsumer<TPullResult> : IDisposable where TPullResult : IPullResult
Allows to receive messages by pulling them one by one
Task AckAsync(ulong deliveryTag, bool multiple, CancellationToken cancellationToken = default)

Acknowledges one or more messages

Task<TPullResult> PullAsync(CancellationToken cancellationToken = default)

Receives a single message

Task RejectAsync(ulong deliveryTag, bool multiple, bool requeue, CancellationToken cancellationToken = default)

Rejects one or more messages