/// <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; }
/// <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; }
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); }
/// <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) { }