/// <summary> /// Subscribes to incoming messages. /// </summary> /// <param name="QueueName">Queue name.</param> /// <param name="Cancel">Cancel event. Set this event object, to cancel subscription.</param> /// <param name="Stopped">Optional Event that will be set when the subscription has ended.</param> /// <param name="Callback">Method to call when new message has been read.</param> /// <param name="State">State object to pass on to callback method.</param> public void SubscribeIncoming(string QueueName, ManualResetEvent Cancel, TaskCompletionSource <bool> Stopped, MqMessageEventHandler Callback, object State) { this.Information("Subscribing to messages from " + QueueName); SubscriptionTask Item = new SubscriptionTask(this, QueueName, Cancel, Stopped, Callback, State); MqTasks.ExecuteTask(Item); }
/// <summary> /// Subscribes to messages frmo a queue. /// </summary> /// <param name="Client">MQ Client</param> /// <param name="Queue">Quene Name</param> /// <param name="Callback">Event object that can be used to cancel subscription.</param> /// <param name="Cancel">Event object that can be used to wait for the subscription to be stopped.</param> /// <param name="State">Method to call when messages are received.</param> /// <param name="Stopped">State object to pass on to callback method.</param> public SubscriptionTask(MqClient Client, string Queue, ManualResetEvent Cancel, TaskCompletionSource <bool> Stopped, MqMessageEventHandler Callback, object State) : base(Client) { this.queue = Queue; this.cancel = Cancel; this.stopped = Stopped; this.callback = Callback; this.state = State; }
/// <summary> /// Subscribes to incoming messages. /// </summary> /// <param name="QueueName">Queue name.</param> /// <param name="Cancel">Cancel event. Set this event object, to cancel subscription.</param> /// <param name="Callback">Method to call when new message has been read.</param> /// <param name="State">State object to pass on to callback method.</param> public void SubscribeIncoming(string QueueName, ManualResetEvent Cancel, MqMessageEventHandler Callback, object State) { this.SubscribeIncoming(QueueName, Cancel, null, Callback, State); }