public Hub( IEventRepository <HubEvent> hubEventRepository, IEventRepository <EndpointEvent> endpointEventRepository, IHubTransport hubTransport, ILogger logger) { _hubEventRepository = hubEventRepository; _endpointEventRepository = endpointEventRepository; _hubTransport = hubTransport; _logger = logger; _scheduler = new AsynchronousScheduler(_logger); _queue = new EventQueue <HubEvent>(this, _hubEventRepository, new NoEventSchedulingPolicy(), _logger); _scheduler.Subscribe(_queue); _hubTransport.Connect(this); _scheduler.Start(); }
public Endpoint( IHub hub, EndpointId id, IEventRepository <EndpointEvent> endpointEventRepository, IHubTransport hubTransport, ILogger logger, IAsynchronousScheduler scheduler) { _hub = hub; _hubTransport = hubTransport; _scheduler = scheduler; Id = id; _queue = new EventQueue <EndpointEvent>(this, endpointEventRepository, new NoEventSchedulingPolicy(), logger); _scheduler.Subscribe(_queue); }