Exemplo n.º 1
0
        partial void HandleImplementation(EventMessage message)
        {
            // Implement your handler logic here.
            System.Diagnostics.Trace.TraceInformation("Notifications received: {0}", message.GetType().Name);

            IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext <Chat>();

            hubContext.Clients.All.send(message.Time.ToString());
        }
Exemplo n.º 2
0
        public void Handle(EventMessage @event)
        {
            var hubBroadcasterFor = this.hubBroadcaster.FirstOrDefault(_ => _.ForType == @event.Body.GetType());

            if (hubBroadcasterFor != null)
            {
                hubBroadcasterFor.Broadcast(@event.Body);
            }
            else
            {
                Debug.WriteLine("No broadcaster found for event {0}", @event.GetType());
            }
        }
Exemplo n.º 3
0
        public Task Publish(EventMessage @event)
        {
            var eventName = @event.GetType().Name;

            if (!EventHandlers.ContainsKey(eventName))
            {
                return(Task.CompletedTask);
            }

            foreach (var handler in EventHandlers[eventName])
            {
                handler.MethodInfo.Invoke(handler.Instance, new[] { @event });
            }

            return(Task.CompletedTask);
        }
Exemplo n.º 4
0
        public void Handle(EventMessage @event)
        {
            var context = new FeatureBeeContext();

            var databaseBroadcasterFor = this.databaseBroadcaster.FirstOrDefault(_ => _.ForType == @event.Body.GetType());

            if (databaseBroadcasterFor != null)
            {
                databaseBroadcasterFor.Broadcast(context, @event.Body);
            }
            else
            {
                Debug.WriteLine("No broadcaster found for event {0}", @event.GetType());
            }

            context.SaveChanges();
        }
Exemplo n.º 5
0
    public static void FireEvent(EventMessage eventMessage)
    {
        System.Type t = eventMessage.GetType();

        if (pairs.ContainsKey(t))
        {
            foreach (EventListener listener in pairs[t].priorityListeners)
            {
                listener.HandleEvent(eventMessage);
            }

            foreach (EventListener listener in pairs[t].normalListeners)
            {
                listener.HandleEvent(eventMessage);
            }
        }
        else
        {
            Debug.LogWarning("No listeners for " + t.ToString());
        }
    }
Exemplo n.º 6
0
 protected void FireEventWithFilter(object filter, object sender, EventMessage msg)
 {
     this.nFire++;
     try
     {
         if (filter != null)
         {
             Dictionary <System.Type, List <ICallback> > dictionary = null;
             if (this.listeners.TryGetValue(filter, out dictionary))
             {
                 List <ICallback> list = null;
                 if (dictionary.TryGetValue(msg.GetType(), out list))
                 {
                     foreach (ICallback callback in list)
                     {
                         try
                         {
                             callback.Fire(msg);
                             continue;
                         }
                         catch (Exception exception)
                         {
                             Debug.LogError(exception);
                             continue;
                         }
                     }
                 }
             }
         }
     }
     catch (Exception exception2)
     {
         Debug.LogError(exception2);
     }
     this.nFire--;
 }
Exemplo n.º 7
0
        public void Run()
        {
            Console.WriteLine("This will publish IEvent, EventMessage, and AnotherEventMessage alternately.");
            Console.WriteLine("Press 'Enter' to publish a message.To exit, Ctrl + C");

            var nextEventToPublish = 0;

            while (Console.ReadLine() != null)
            {
                IMyEvent eventMessage;

                switch (nextEventToPublish)
                {
                case 0:
                    eventMessage       = Bus.CreateInstance <IMyEvent>();
                    nextEventToPublish = 1;
                    break;

                case 1:
                    eventMessage       = new EventMessage();
                    nextEventToPublish = 2;
                    break;

                default:
                    eventMessage       = new EventMessage();
                    nextEventToPublish = 0;
                    break;
                }

                eventMessage.EventId  = Guid.NewGuid();
                eventMessage.Time     = DateTime.Now.Second > 30 ? (DateTime?)DateTime.Now : null;
                eventMessage.Duration = TimeSpan.FromSeconds(99999D);

                Bus.Publish(eventMessage);

                Console.WriteLine("Published event message type: {1} with Id {0}.", eventMessage.EventId, eventMessage.GetType().ToString());
                Console.WriteLine("==========================================================================");
            }
        }