Beispiel #1
0
 public DeliveryManager(IMetaLogger logger,
                        Func <IPubSubMessage, Task> onDelayedMessage,
                        Func <IPubSubMessage, Task <bool> > onRemoteDeliver)
 {
     _logger           = logger;
     _onDelayedMessage = onDelayedMessage;
     _onRemoteDeliver  = onRemoteDeliver;
 }
Beispiel #2
0
 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;
 }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 public PipeServer(MessageHub hub, IMetaLogger logger, Action <Type, PipeServer> onNewPipeSubscriber)
     : base(hub, logger)
 {
     _onNewPipeSubscriber = onNewPipeSubscriber;
 }
Beispiel #6
0
 public RemotePubSubProxy(MessageHub hub, IMetaLogger logger)
     : base(hub, logger)
 {
 }
Beispiel #7
0
 public PipeConnection(MessageHub hub, IMetaLogger logger)
 {
     _logger = logger;
     _hub    = hub;
 }