public RunningRawEndpointInstance(SettingsHolder settings, RawTransportReceiver receiver, TransportInfrastructure transportInfrastructure, IDispatchMessages dispatcher, IManageSubscriptions subscriptionManager, string localAddress) { this.settings = settings; this.receiver = receiver; this.transportInfrastructure = transportInfrastructure; this.dispatcher = dispatcher; this.TransportAddress = localAddress; SubscriptionManager = subscriptionManager; }
RawTransportReceiver BuildMainReceiver(string poisonMessageQueue, bool purgeOnStartup, TransportTransactionMode requiredTransactionSupport) { var pushSettings = new PushSettings(localAddress, poisonMessageQueue, purgeOnStartup, requiredTransactionSupport); var dequeueLimitations = GetDequeueLimitationsForReceivePipeline(); var errorHandlingPolicy = settings.Get <IErrorHandlingPolicy>(); var receiver = new RawTransportReceiver(messagePump, dispatcher, onMessage, pushSettings, dequeueLimitations, criticalError, new RawEndpointErrorHandlingPolicy(settings.EndpointName(), localAddress, dispatcher, errorHandlingPolicy)); return(receiver); }
static async Task InitializeReceiver(RawTransportReceiver receiver) { try { await receiver.Init().ConfigureAwait(false); } catch (Exception ex) { Logger.Fatal("Receiver failed to initialize.", ex); throw; } }
static void StartReceiver(RawTransportReceiver receiver) { try { receiver.Start(); } catch (Exception ex) { Logger.Fatal("Receiver failed to start.", ex); throw; } }