internal Listener(IModel listenerChanel, EventingBasicConsumer consumer, string queueName, EventHandler <BasicDeliverEventArgs> receivedHandler, Publisher responceSender, ResponseBynarySender binarySender) { this.ListenerChanel = listenerChanel; this.consumer = consumer; this.QueueName = queueName; this.ReceivedHandler = receivedHandler; this.responceSender = responceSender; this.binarySender = binarySender; this.consumer.Received += Consumer_Received; }
/// <summary> /// Creates and returns the Rabbit MQ Listener which can send call-backs /// </summary> /// <param name="hostName">Rabbit MQ host.</param> /// <param name="queueName"></param> /// <param name="receivedHandler"></param> /// <param name="binarySender"></param> /// <returns></returns> public static Listener CreateListener(string hostName, string queueName, EventHandler <BasicDeliverEventArgs> receivedHandler, ResponseBynarySender binarySender) { var connection = ConnectionFactory.CreateConection(hostName); var requestChanel = ChanelFactory.CreateRequestChanel(queueName, connection); var sender = PublisherFactory.CreateResponseSender(hostName, queueName, connection); var consumer = ConsumerFactory.RequestConsumer(requestChanel, queueName); return(new Listener(requestChanel, consumer, queueName, receivedHandler, sender, binarySender)); }