/// <summary> /// Begins a SLA definition configuration for TRequest request message. /// </summary> /// <typeparam name="TRequest">Type of request message</typeparam> /// <param name="correlationFn">Method to retrieve request-response correlation ID for TRequest</param> public static SlaDefinitionBuilder For <TRequest>(Func <TRequest, Guid> correlationFn) { return(new SlaDefinitionBuilder(MessageDefinition.Create(correlationFn))); }
/// <summary> /// Defines SLA for TRequest - TResponse messages /// </summary> /// <typeparam name="TResponse">Type of response message</typeparam> /// <param name="sla">SLA</param> /// <param name="correlationFn">Method to retrieve request-response correlation ID for TResponse</param> public SlaDefinitionBuilder AddSla <TResponse>(TimeSpan sla, Func <TResponse, Guid> correlationFn) { _definitions.Add(new SlaDefinition(_request, MessageDefinition.Create(correlationFn), sla)); return(this); }