public static IStreamFlowTransport UseRabbitMq(this IStreamFlowTransport builder, Action <IStreamFlowRabbitMq> configure) { var rabbitMq = new StreamFlowRabbitMq(builder.Services, builder.Options); configure(rabbitMq); return(builder); }
public static IStreamFlowTransport WithOutboxSupport(this IStreamFlowTransport transport, Action <IStreamFlowOutbox> configure) { transport.Services.TryAddScoped <IOutboxPublisher, OutboxPublisher>(); transport.Services.TryAddScoped <IOutboxMessageStore, PublisherOutboxMessageStore>(); transport.Services.TryAddSingleton <IOutboxMessageAddressProvider, OutboxMessageAddressProvider>(); var builder = new StreamFlowOutbox(transport); configure(builder); return(transport); }
public StreamFlowOutbox(IStreamFlowTransport transport) { _transport = transport; }