예제 #1
0
		private IMessage Receive (IModel model, int timeout, bool doAck)
		{
			string finalName = model.QueueDeclare (QRef.Queue, false);
			
			using (Subscription sub = new Subscription (model, finalName)) {
				BasicDeliverEventArgs result;
				if (sub.Next (timeout, out result)) {
					IMessage m = helper.ReadMessage (QRef, result);
					if (doAck)
						sub.Ack (result);
					return m;
				} else {
					throw new MonoMessagingException ("No Message Available");
				}
			}
		}
예제 #2
0
        private IMessage Receive(QueueReference qRef, int timeout, bool ack)
        {
            IModel _model = Model;

            string finalName = _model.QueueDeclare(qRef.Queue, false);

            using (Subscription sub = new Subscription(_model, finalName)) {
                BasicDeliverEventArgs result;
                if (sub.Next(timeout, out result))
                {
                    IMessage m = helper.ReadMessage(qRef, result);
                    if (ack)
                    {
                        sub.Ack(result);
                    }
                    return(m);
                }
                else
                {
                    throw new MonoMessagingException("No Message Available");
                }
            }
        }
 private IMessage CreateMessage(BasicDeliverEventArgs result)
 {
     return(helper.ReadMessage(qRef, result));
 }