public ServerTests() { _err = Substitute.For<IDeliveryErrorsQueue>(); _transporter = Substitute.For<IDeliverToEndpoint>(); _sut =new DispatcherServer(c => { c.DeliveryErrorsQueue = _err; c.Storage = Substitute.For<IStoreDispatcherServerState>(); c.Transporters.Add(Setup.TestEndpoint,_transporter); c.EndpointUpdatesNotifier = Substitute.For<IGetEndpointUpdates>(); c.MessageNotifier = Substitute.For<IGetMessages>(); }); _sut.ReceiveConfigurations(new [] {SetupConfig()}); _sut.Start(); }
public ServerTests() { _err = Substitute.For <IDeliveryErrorsQueue>(); _transporter = Substitute.For <IDeliverToEndpoint>(); _sut = new DispatcherServer(c => { c.DeliveryErrorsQueue = _err; c.Storage = Substitute.For <IStoreDispatcherServerState>(); c.Transporters.Add(Setup.TestEndpoint, _transporter); c.EndpointUpdatesNotifier = Substitute.For <IGetEndpointUpdates>(); c.MessageNotifier = Substitute.For <IGetMessages>(); }); _sut.ReceiveConfigurations(new [] { SetupConfig() }); _sut.Start(); }
private async Task Send(IDeliverToEndpoint transporter, EnvelopeToClient envelopeTo) { try { await transporter.Send(envelopeTo).ConfigureFalse(); } catch (CouldntSendMessagesException ex) { this.LogError(ex); _config.DeliveryErrorsQueue.TransporterError(ex); } //we need the server to not crash if one transporter throws an unhandled exception catch (Exception ex) { this.LogError(ex); } }
public void Add(EndpointId id, IDeliverToEndpoint instance) => _transporters.Add(id, instance);