示例#1
0
 protected override IAsyncResult OnBeginTryReceive(TrackingContext trackingContext, int messageCount, TimeSpan serverWaitTime, AsyncCallback callback, object state)
 {
     if (messageCount > 1)
     {
         throw new NotSupportedException(SRClient.FeatureNotSupported("ReceiveBatch"));
     }
     return(new AmqpMessageReceiver.ReceiveMessageAsyncResult(this, false, serverWaitTime, callback, state));
 }
示例#2
0
 private IAsyncResult BeginDisposeMessages(IEnumerable <Guid> lockTokens, Outcome outcome, bool batchable, TimeSpan timeout, AsyncCallback callback, object state)
 {
     if (System.Transactions.Transaction.Current != null)
     {
         throw new NotSupportedException(SRClient.FeatureNotSupported("Transaction"));
     }
     return(new AmqpMessageReceiver.DisposeMessageAsyncResult(this, lockTokens, outcome, batchable, timeout, callback, state));
 }
示例#3
0
 private IAsyncResult BeginDisposeEvents(IEnumerable <ArraySegment <byte> > deliveryTags, Outcome outcome, bool batchable, TimeSpan timeout, AsyncCallback callback, object state)
 {
     if (System.Transactions.Transaction.Current != null)
     {
         throw new NotSupportedException(SRClient.FeatureNotSupported("Transaction"));
     }
     return(new AmqpMessageReceiver.DisposeEventAsyncResult(this, deliveryTags, outcome, batchable, timeout, callback, state));
 }
 protected override IAsyncResult OnBeginSendEventData(TrackingContext trackingContext, IEnumerable <EventData> eventDatas, TimeSpan timeout, AsyncCallback callback, object state)
 {
     if (System.Transactions.Transaction.Current != null)
     {
         throw new NotSupportedException(SRClient.FeatureNotSupported("Transaction"));
     }
     return(new AmqpMessageSender.SendEventDataAsyncResult(this, eventDatas, true, timeout, callback, state));
 }
 private IAsyncResult OnBeginSend(TrackingContext trackingContext, IEnumerable <BrokeredMessage> messages, TimeSpan timeout, bool batchable, AsyncCallback callback, object state)
 {
     if (System.Transactions.Transaction.Current != null)
     {
         throw new NotSupportedException(SRClient.FeatureNotSupported("Transaction"));
     }
     return(new AmqpMessageSender.SendBrokeredMessageAsyncResult(this, messages, batchable, timeout, callback, state));
 }
示例#6
0
            private Guid CheckAndGetLockToken(IEnumerable <Guid> lockTokens)
            {
                Guid empty = Guid.Empty;

                foreach (Guid lockToken in lockTokens)
                {
                    if (empty != Guid.Empty)
                    {
                        throw new NotSupportedException(SRClient.FeatureNotSupported("CompleteBatch"));
                    }
                    empty = lockToken;
                }
                return(empty);
            }
            protected override AmqpMessage CreateAmqpMessage()
            {
                AmqpMessage batchable = null;

                if (this.messages != null)
                {
                    foreach (BrokeredMessage message in this.messages)
                    {
                        if (batchable != null)
                        {
                            throw new NotSupportedException(SRClient.FeatureNotSupported("SendBatch"));
                        }
                        batchable           = MessageConverter.ClientGetMessage(message);
                        batchable.Batchable = base.Batchable;
                    }
                }
                return(batchable);
            }