< Summary

Information
Class: NexusLabs.Needlr.AgentFramework.Providers.ProviderFailureContext
Assembly: NexusLabs.Needlr.AgentFramework
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework/Providers/ProviderFailureContext.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 25
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_ProviderName()100%11100%
get_Exception()100%11100%
get_SkipUntil()100%11100%

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework/Providers/ProviderFailureContext.cs

#LineLine coverage
 1namespace NexusLabs.Needlr.AgentFramework.Providers;
 2
 3/// <summary>
 4/// Diagnostic context passed to <see cref="ProviderFailurePolicy.OnHit"/> when a
 5/// matching failure policy is applied to a provider's thrown exception.
 6/// </summary>
 7/// <param name="ProviderName">
 8/// Name of the failing provider (from <see cref="ITieredProvider{TQuery, TResult}.Name"/>).
 9/// </param>
 10/// <param name="Exception">
 11/// The exception that was thrown by
 12/// <see cref="ITieredProvider{TQuery, TResult}.ExecuteAsync"/> and matched by the policy.
 13/// </param>
 14/// <param name="SkipUntil">
 15/// The absolute UTC timestamp until which the provider will be skipped on subsequent
 16/// calls, or <see langword="null"/> when the matched policy specified
 17/// <see cref="ProviderFailurePolicy.SkipDuration"/> as <see langword="null"/> (i.e. no
 18/// cross-call skip applied). When the policy specified
 19/// <see cref="ProviderFailurePolicy.IndefiniteSkip"/>, this resolves to
 20/// <see cref="DateTimeOffset.MaxValue"/>.
 21/// </param>
 1022public sealed record ProviderFailureContext(
 223    string ProviderName,
 224    Exception Exception,
 1525    DateTimeOffset? SkipUntil);