public void HandleBasicCancelOk(string consumerTag) { BasicConsumerRpcContinuation k = (BasicConsumerRpcContinuation)m_continuationQueue.Next(); Trace.Assert(k.m_consumerTag == consumerTag, string.Format( "Consumer tag mismatch during cancel: {0} != {1}", k.m_consumerTag, consumerTag )); lock (m_consumers) { k.m_consumer = (IBasicConsumer)m_consumers[consumerTag]; m_consumers.Remove(consumerTag); } try { k.m_consumer.HandleBasicCancelOk(consumerTag); } catch (Exception e) { // FIXME: should we propagate the exception to the // caller of BasicCancel? CallbackExceptionEventArgs args = new CallbackExceptionEventArgs(e); args.Detail["consumer"] = k.m_consumer; args.Detail["context"] = "HandleBasicCancelOk"; OnCallbackException(args); } k.HandleCommand(null); // release the continuation. }
public void HandleBasicConsumeOk(string consumerTag) { BasicConsumerRpcContinuation k = (BasicConsumerRpcContinuation)m_continuationQueue.Next(); k.m_consumerTag = consumerTag; lock (m_consumers) { m_consumers[consumerTag] = k.m_consumer; } try { k.m_consumer.HandleBasicConsumeOk(consumerTag); } catch (Exception e) { // FIXME: should we propagate the exception to the // caller of BasicConsume? CallbackExceptionEventArgs args = new CallbackExceptionEventArgs(e); args.Detail["consumer"] = k.m_consumer; args.Detail["context"] = "HandleBasicConsumeOk"; OnCallbackException(args); } k.HandleCommand(null); // release the continuation. }