Class ProtoProtocol

Namespace
ProtoTest.Core
Assembly
ProtoTest.Core.dll

What makes one protocol itself: the key its options are registered under, the name capabilities and coverage use, the trace source its operations declare, and the observation kind coverage collects. One descriptor per integration, so the builder that produces an observation and the collector that consumes it cannot disagree about its kind. CoverageCategory is null for a protocol that ships no collector (Messaging): it owns no coverage vocabulary, so it declares none.

public sealed record ProtoProtocol : IEquatable<ProtoProtocol>
Inheritance
ProtoProtocol
Implements
Inherited Members
Extension Methods

Constructors

ProtoProtocol(string, string, string, string, string?)

What makes one protocol itself: the key its options are registered under, the name capabilities and coverage use, the trace source its operations declare, and the observation kind coverage collects. One descriptor per integration, so the builder that produces an observation and the collector that consumes it cannot disagree about its kind. CoverageCategory is null for a protocol that ships no collector (Messaging): it owns no coverage vocabulary, so it declares none.

public ProtoProtocol(string Key, string Name, string TraceSource, string ResponseObservationKind, string? CoverageCategory = null)

Parameters

Key string
Name string
TraceSource string
ResponseObservationKind string
CoverageCategory string

Properties

Capability

The capability this protocol declares when it is registered.

public ProtoCapabilityDescriptor Capability { get; }

Property Value

ProtoCapabilityDescriptor

CoverageCategory

public string? CoverageCategory { get; init; }

Property Value

string

CoverageCategoryOrName

The coverage category a collector keys under: the declared category, or the protocol name when the protocol ships no category of its own. A collector reads this instead of re-deriving the fallback, so adding a collector without a category can never emit a null one.

public string CoverageCategoryOrName { get; }

Property Value

string

Key

public string Key { get; init; }

Property Value

string

Name

public string Name { get; init; }

Property Value

string

ResponseObservationKind

public string ResponseObservationKind { get; init; }

Property Value

string

TraceSource

public string TraceSource { get; init; }

Property Value

string