Example #1
0
 public MessageHub(IInternalRegistrationService internalRegistrationService,
                   ILocalSocketFactory localSocketFactory,
                   IMessageRouter messageRouter,
                   ISecurityProvider securityProvider,
                   ICallbackHandlerStack callbackHandlers)
 {
     ReceiverIdentifier = ReceiverIdentifier.Create(ReceiverKind.MessageHub);
     this.internalRegistrationService = internalRegistrationService;
     this.messageRouter    = messageRouter;
     this.securityProvider = securityProvider;
     this.callbackHandlers = callbackHandlers;
     socket = localSocketFactory.Create(DispatchMessage);
 }
Example #2
0
 public MessageHub(ISocketFactory socketFactory,
                   ICallbackHandlerStack callbackHandlers,
                   MessageHubConfiguration config,
                   IMessageTracer messageTracer,
                   ILogger logger)
 {
     this.logger = logger;
     this.messageTracer = messageTracer;
     this.socketFactory = socketFactory;
     this.config = config;
     receivingSocketIdentityPromise = new TaskCompletionSource<byte[]>();
     hubRegistered = new ManualResetEventSlim();
     this.callbackHandlers = callbackHandlers;
     registrationsQueue = new BlockingCollection<CallbackRegistration>(new ConcurrentQueue<CallbackRegistration>());
     cancellationTokenSource = new CancellationTokenSource();
 }
Example #3
0
 public MessageHub(ICallbackHandlerStack callbackHandlers,
                   ILocalSocket <IMessage> localRouterSocket,
                   ILocalSendingSocket <InternalRouteRegistration> internalRegistrationsSender,
                   ILocalSocketFactory localSocketFactory,
                   IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                   ISecurityProvider securityProvider,
                   ILogger logger,
                   bool keepRegistrationLocal = false)
 {
     this.logger                        = logger;
     this.localRouterSocket             = localRouterSocket;
     this.internalRegistrationsSender   = internalRegistrationsSender;
     this.scaleOutConfigurationProvider = scaleOutConfigurationProvider;
     this.securityProvider              = securityProvider;
     this.keepRegistrationLocal         = keepRegistrationLocal;
     this.callbackHandlers              = callbackHandlers;
     registrationsQueue                 = new BlockingCollection <CallbackRegistration>(new ConcurrentQueue <CallbackRegistration>());
     receivingSocket                    = localSocketFactory.Create <IMessage>();
     ReceiverIdentifier                 = ReceiverIdentities.CreateForMessageHub();
 }