/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Clients/ReceiveEndpointClientFactoryContext.cs
57 строк
2 KB
Chris Patterson
Changed endpoint client factory to avoid Task return value, added support for RabbitMQ direct REPLY-TO request client using SetRabbitMqReplyToRequestClientFactory
08 окт 2024, 21:29
08 окт 2024, 21:29
30450b5
Код
Авторство
О чём код?
#nullable enable namespace MassTransit.Clients { using System; public class ReceiveEndpointClientFactoryContext : ClientFactoryContext { readonly HostReceiveEndpointHandle _handle; readonly IReceiveEndpoint _receiveEndpoint; public ReceiveEndpointClientFactoryContext(HostReceiveEndpointHandle handle, RequestTimeout defaultTimeout = default) { _handle = handle; _receiveEndpoint = handle.ReceiveEndpoint; ResponseAddress = _receiveEndpoint.InputAddress; DefaultTimeout = defaultTimeout.Or(RequestTimeout.Default); } public ConnectHandle ConnectConsumePipe<T>(IPipe<ConsumeContext<T>> pipe) where T : class { return _receiveEndpoint.ConnectConsumePipe(pipe); } public ConnectHandle ConnectConsumePipe<T>(IPipe<ConsumeContext<T>> pipe, ConnectPipeOptions options) where T : class { return _receiveEndpoint.ConnectConsumePipe(pipe, options); } public ConnectHandle ConnectRequestPipe<T>(Guid requestId, IPipe<ConsumeContext<T>> pipe) where T : class { return _receiveEndpoint.ConnectRequestPipe(requestId, pipe); } public Uri ResponseAddress { get; } public IRequestSendEndpoint<T> GetRequestEndpoint<T>(ConsumeContext? consumeContext = default) where T : class { return new ReceiveEndpointPublishRequestSendEndpoint<T>(_handle, consumeContext); } public IRequestSendEndpoint<T> GetRequestEndpoint<T>(Uri destinationAddress, ConsumeContext? consumeContext = default) where T : class { return new ReceiveEndpointSendRequestSendEndpoint<T>(_handle, destinationAddress, consumeContext); } public RequestTimeout DefaultTimeout { get; } } }