コード例 #1
0
        private void groupMessages(Envelope[] messages)
        {
            var groups = messages.GroupBy(x => x.Destination);

            foreach (var @group in groups)
            {
                var batch = new OutgoingMessageBatch(@group.Key, @group);
                _sender.Post(batch);
            }
        }
コード例 #2
0
 private async Task sendBatch(OutgoingMessageBatch batch)
 {
     try
     {
         await _protocol.SendBatch(_callback, batch);
     }
     catch (Exception e)
     {
         batchSendFailed(batch, e);
     }
 }
コード例 #3
0
        public async Task SendBatch(ISenderCallback callback, OutgoingMessageBatch batch)
        {
            using (var client = new TcpClient())
            {
                await connect(client, batch.Destination)
                .TimeoutAfter(5000);

                using (var stream = client.GetStream())
                {
                    await WireProtocol.Send(stream, batch, callback).TimeoutAfter(5000);
                }
            }
        }
コード例 #4
0
ファイル: TransportBase.cs プロジェクト: fengweijp/jasper
 void ISenderCallback.TimedOut(OutgoingMessageBatch outgoing)
 {
     processRetry(outgoing);
 }
コード例 #5
0
ファイル: TransportBase.cs プロジェクト: fengweijp/jasper
 void ISenderCallback.Successful(OutgoingMessageBatch outgoing)
 {
     Persistence.RemoveOutgoing(outgoing.Messages);
 }
コード例 #6
0
ファイル: TransportBase.cs プロジェクト: fengweijp/jasper
 void ISenderCallback.ProcessingFailure(OutgoingMessageBatch outgoing, Exception exception)
 {
     processRetry(outgoing);
 }
コード例 #7
0
ファイル: TransportBase.cs プロジェクト: fengweijp/jasper
 void ISenderCallback.QueueDoesNotExist(OutgoingMessageBatch outgoing)
 {
     processRetry(outgoing);
 }
コード例 #8
0
ファイル: TransportBase.cs プロジェクト: fengweijp/jasper
 void ISenderCallback.SerializationFailure(OutgoingMessageBatch outgoing)
 {
     processRetry(outgoing);
 }
コード例 #9
0
 private void batchSendFailed(OutgoingMessageBatch batch, Exception exception)
 {
     _callback.ProcessingFailure(batch, exception);
 }
コード例 #10
0
ファイル: IPersistence.cs プロジェクト: kassadube/jasper
 public void PersistBasedOnSentAttempts(OutgoingMessageBatch batch, int maxAttempts)
 {
 }