private static async Task <LoopbackHost> StartAsync( ILoopbackConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken)) { var host = new LoopbackHost(configuration); await host.Init(cancellationToken); return(host); }
private LoopbackHost(ILoopbackConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } // Placeholder value; required by the bus var baseUri = configuration.BaseUri; var transportService = new LoopbackTransportService(configuration.MessageJournal); _bus = new Bus(configuration, baseUri, transportService, configuration.MessageQueueingService); }
/// <summary> /// Creates and starts a new <see cref="LoopbackHost"/> /// </summary> /// <param name="configuration">The HTTP sever configuration</param> /// <param name="cancellationToken">(Optional) A cancellation token that can be used by the /// caller to cancel loopback host initialization</param> /// <returns>Returns the fully initialized and listening loopback host</returns> public static LoopbackHost Start(ILoopbackConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken)) { return(StartAsync(configuration, cancellationToken) .GetResultFromCompletionSource(cancellationToken)); }