private void EnsurePipeline() { if (_incomingPipeline == null) { IHubPipelineModule module = _modules.Reverse().Aggregate((a, b) => new ComposedModule(a, b)); _incomingPipeline = module.BuildIncoming(HubDispatcher.Incoming); _connectPipeline = module.BuildConnect(HubDispatcher.Connect); _reconnectPipeline = module.BuildReconnect(HubDispatcher.Reconnect); _disconnectPipeline = module.BuildDisconnect(HubDispatcher.Disconnect); _rejoiningGroupsPipeline = module.BuildRejoiningGroups(HubDispatcher.RejoiningGroups); _outgoingPipeling = module.BuildOutgoing(HubDispatcher.Outgoing); } }
public Func <IHub, Task> BuildConnect(Func <IHub, Task> callback) { return(_left.BuildConnect(_right.BuildConnect(callback))); }