public MultiSend ( IEnumerable |
||
requests | IEnumerable |
/// The requests. /// |
return | void |
public void MultiSend(IEnumerable<ProducerRequest> requests)
{
Guard.NotNull(requests, "requests");
Guard.Assert<ArgumentNullException>(
() => requests.All(
x => x != null && x.MessageSet != null && x.MessageSet.Messages != null));
Guard.Assert<ArgumentNullException>(
() => requests.All(
x => x.MessageSet.Messages.All(
y => y != null && y.PayloadSize <= this.Config.MaxMessageSize)));
this.EnsuresNotDisposed();
var multiRequest = new MultiProducerRequest(requests);
this.connection.Write(multiRequest);
}
public void ProducerSendMultiRequest() { List<ProducerRequest> requests = new List<ProducerRequest> { new ProducerRequest(CurrentTestTopic, 0, new List<Message> { new Message(Encoding.UTF8.GetBytes("1: " + DateTime.UtcNow)) }), new ProducerRequest(CurrentTestTopic, 0, new List<Message> { new Message(Encoding.UTF8.GetBytes("2: " + DateTime.UtcNow)) }), new ProducerRequest(CurrentTestTopic, 0, new List<Message> { new Message(Encoding.UTF8.GetBytes("3: " + DateTime.UtcNow)) }), new ProducerRequest(CurrentTestTopic, 0, new List<Message> { new Message(Encoding.UTF8.GetBytes("4: " + DateTime.UtcNow)) }) }; var config = new SyncProducerConfig(clientConfig); var producer = new SyncProducer(config); producer.MultiSend(requests); }