public DeliveryManager(IMetaLogger logger, Func <IPubSubMessage, Task> onDelayedMessage, Func <IPubSubMessage, Task <bool> > onRemoteDeliver) { _logger = logger; _onDelayedMessage = onDelayedMessage; _onRemoteDeliver = onRemoteDeliver; }
public MessageHub(IMetaLogger logger, Func <IReadOnlyCollection <Subscriber>, IPubSubMessage, Task> onPublished, Action <Type, Subscriber> onNewSubscriber) { _logger = logger; _onPublished = onPublished; _onNewSubscriber = onNewSubscriber; }
internal PipeConnectionsManager(MessageHub hub, IMetaLogger logger, Action <Type, PipeServer> onNewPipeSubscriber) { _logger = logger; _hub = hub; _onNewPipeSubscriber = onNewPipeSubscriber; }
public MetaPubSub(IMetaLogger logger = null) { _logger = logger ?? MetaLogger.Default; _delayedMessages = new DelayedMessages(); _deliveryManager = new DeliveryManager(_logger, _delayedMessages.Put, PipeConections_Put); _messageHub = new MessageHub(_logger, _deliveryManager.Put, _delayedMessages.OnNewSubscriber); _pipeConections = new PipeConnectionsManager(_messageHub, _logger, _delayedMessages.OnNewPipeSubscriber); _requestResponseProcessor = new RequestResponseProcessor(this); _messageScheduler = new MessageScheduler(_messageHub.Publish); _proxy = new RemotePubSubProxy(_messageHub, _logger); }
public PipeServer(MessageHub hub, IMetaLogger logger, Action <Type, PipeServer> onNewPipeSubscriber) : base(hub, logger) { _onNewPipeSubscriber = onNewPipeSubscriber; }
public RemotePubSubProxy(MessageHub hub, IMetaLogger logger) : base(hub, logger) { }
public PipeConnection(MessageHub hub, IMetaLogger logger) { _logger = logger; _hub = hub; }