Event Event() { var senderId = Id + "##" + HubGateway.LocalAddress(); var eventId = DateTime.Now.Ticks ^ Id.GetHashCode(); return(new Event(senderId, eventId, DateTime.Now)); }
protected override Task OnActivate() { hub = HubGateway.GetLocalHub(); timers.Register("flush", flushPeriod, flushPeriod, Flush); return(base.OnActivate()); }
public void On(Publish x) { var notifications = x.Events .Select(e => new Notification(e, DateTime.Now, HubGateway.LocalHubId())) .ToArray(); observers.Notify(notifications); }
protected override Task OnActivate() { timers.Register("pub-pub", TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(rand.Next(3, 10)), () => HubGateway.Publish(Event())); return(base.OnActivate()); }
protected override void Define() { On((InitHub x) => {}); On((Subscribe x) => observers.Add(x.Observer)); On((PublishEvents x) => { var notifications = x.Events .Select(e => new Notification(e, DateTime.Now, HubGateway.LocalHubId())) .ToArray(); observers.Notify(notifications); }); }