/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="eventHandler">Event Handler</param>
        /// <param name="sleep">Sleep</param>
        public BufferedMessageEventHandler(IBusEventHandler <T> eventHandler, ISleep sleep)
        {
            if (null == eventHandler)
            {
                throw new ArgumentNullException("eventHandler");
            }
            if (null == sleep)
            {
                throw new ArgumentNullException("sleep");
            }

            this.eventHandler = eventHandler;
            this.sleep        = sleep;
        }
Exemple #2
0
        /// <summary>
        /// Service Bus Events
        /// </summary>
        /// <param name="reciever">Source</param>
        /// <param name="eventHandler">Event Handler</param>
        /// <param name="concurrentCalls">Concurrent Calls</param>
        public BusEvents(IBusReciever reciever, IBusEventHandler <T> eventHandler, byte concurrentCalls = DefaultConcurrentCalls)
        {
            if (null == reciever)
            {
                throw new ArgumentNullException("source");
            }
            if (null == eventHandler)
            {
                throw new ArgumentNullException("eventHandler");
            }

            this.reciever        = reciever;
            this.handler         = eventHandler;
            this.concurrentCalls = concurrentCalls <= 5 ? DefaultConcurrentCalls : concurrentCalls;
        }
Exemple #3
0
        public IBus RegisterHandler <T>(IBusEventHandler <T> handler)
        {
            if (this._handlers.TryGetValue(typeof(T), out var tHandlers) == false)
            {
                if (tHandlers == null)
                {
                    var handlerDelegate =
                        //Delegate.CreateDelegate(typeof(HandleBusEvent), handler, nameof(IBusEventHandler<T>.Handle));
                        new HandleBusEvent(handler.Handle);

                    tHandlers = new List <HandleBusEvent>
                    {
                        handlerDelegate
                    };

                    this._handlers.TryAdd(typeof(T), tHandlers);
                }
            }

            return(this);
        }
Exemple #4
0
 /// <summary>
 /// Service Bus Events
 /// </summary>
 /// <param name="reciever">Queu/Topic</param>
 /// <param name="eventHandler">Event Handler</param>
 /// <param name="concurrentCalls">Concurrent Calls</param>
 public BufferedReciever(IBusReciever reciever, IBusEventHandler <T> eventHandler, byte concurrentCalls = BusEvents <T> .DefaultConcurrentCalls)
     : base(reciever, new BufferedMessageEventHandler <T>(eventHandler, new Sleep()), concurrentCalls)
 {
 }