public (IDisposablePublisher <T>, ISubscriber <T>) CreateEvent <T>() { var core = new MessageBrokerCore <T>(diagnosticsInfo, options); var publisher = new DisposablePublisher <T>(core); var subscriber = new MessageBroker <T>(core, handlerFactory); return(publisher, subscriber); }
public (IDisposableBufferedPublisher <T>, IBufferedSubscriber <T>) CreateBufferedEvent <T>(T initialValue) { var innerCore = new MessageBrokerCore <T>(diagnosticsInfo, options); var core = new BufferedMessageBrokerCore <T>(innerCore); var broker = new BufferedMessageBroker <T>(core, handlerFactory); var publisher = new DisposableBufferedPublisher <T>(broker, innerCore); var subscriber = broker; publisher.Publish(initialValue); return(publisher, subscriber); }
public BufferedMessageBrokerCore(MessageBrokerCore <TMessage> core) { this.core = core; this.lastMessage = default; }
public Subscription(MessageBrokerCore <TMessage> core, int subscriptionKey) { this.core = core; this.subscriptionKey = subscriptionKey; }
public MessageBroker(MessageBrokerCore <TMessage> core, FilterAttachedMessageHandlerFactory handlerFactory) { this.core = core; this.handlerFactory = handlerFactory; }
public HandlerHolder(MessageBrokerCore <TKey, TMessage> core) { this.handlers = new FreeList <IMessageHandler <TMessage> >(); this.core = core; }
public DisposablePublisher(MessageBrokerCore <TMessage> core) { this.core = core; }