public Task <long> AddAllAsync <TE>(ICollection <TE> collection, OverflowPolicy overflowPolicy) where TE : T { ValidationUtil.ThrowExceptionIfTrue(collection.Count == 0, "Collection cannot be empty"); var valueList = ToDataList(collection); var request = RingbufferAddAllCodec.EncodeRequest(GetName(), valueList, (int)overflowPolicy); return(InvokeAsync(request, GetPartitionKey(), m => RingbufferAddAllCodec.DecodeResponse(m).response)); }
/// <inheritdoc /> public async Task <long> AddAllAsync(ICollection <TItem> items, OverflowPolicy overflowPolicy) { if (items.Count == 0) { throw new ArgumentException("Cannot add zero items.", nameof(items)); } var itemsData = ToSafeData(items); var requestMessage = RingbufferAddAllCodec.EncodeRequest(Name, itemsData, (int)overflowPolicy); var responseMessage = await Cluster.Messaging.SendToPartitionOwnerAsync(requestMessage, PartitionId).CfAwait(); return(RingbufferAddAllCodec.DecodeResponse(responseMessage).Response); }