Documentation
¶
Overview ¶
Package capabilities provides the core-owned capability negotiation boundary.
Package capabilities provides the core-owned capability negotiation boundary.
It wraps the canonical lipapi negotiation types with a package-level home for future capability expansion, cross-plugin capability aggregation, and capability-aware routing integration.
Index ¶
- func AdmitCandidate(ctx context.Context, call lipapi.Call, inv lipapi.Invocation, ...) lipapi.CandidateAdmissionResult
- func Require(ctx context.Context, c lipapi.Call, backend lipapi.BackendCaps, n Negotiator) lipapi.NegotiationResult
- type BackendCapsFunc
- type CandidateFacts
- type DefaultNegotiator
- type FailoverRequirementSet
- type MapResolver
- type Negotiator
- type Resolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdmitCandidate ¶
func AdmitCandidate(ctx context.Context, call lipapi.Call, inv lipapi.Invocation, cand routing.AttemptCandidate, facts CandidateFacts) lipapi.CandidateAdmissionResult
AdmitCandidate evaluates one candidate against call requirements before upstream work.
func Require ¶
func Require(ctx context.Context, c lipapi.Call, backend lipapi.BackendCaps, n Negotiator) lipapi.NegotiationResult
Require derives required capabilities from a canonical call and negotiates against the given backend capabilities.
Types ¶
type BackendCapsFunc ¶
type BackendCapsFunc func(ctx context.Context, cand routing.AttemptCandidate, call lipapi.Call) lipapi.BackendCaps
BackendCapsFunc resolves caps for a single backend id; used to build MapResolver at composition.
type CandidateFacts ¶
type CandidateFacts struct {
Caps lipapi.BackendCaps
TransportCaps lipapi.BackendTransportCaps
ReplaySupport lipapi.ReasoningReplaySupport
DialectSupport lipapi.DialectSupport
ProjectionTarget lipapi.LegacyProjectionTarget
FrozenRequirements *lipapi.ProtocolRequirements
}
CandidateFacts carries resolved backend facts used for pre-network candidate admission.
type DefaultNegotiator ¶
type DefaultNegotiator struct{}
DefaultNegotiator delegates to the canonical lipapi.Negotiate function.
func (DefaultNegotiator) Negotiate ¶
func (DefaultNegotiator) Negotiate(_ context.Context, required []lipapi.Capability, backend lipapi.BackendCaps) lipapi.NegotiationResult
type FailoverRequirementSet ¶
type FailoverRequirementSet struct {
Required lipapi.ProtocolRequirements
}
FailoverRequirementSet retains the complete requirement set that every failover candidate must satisfy.
func NewFailoverRequirementSet ¶
func NewFailoverRequirementSet(call lipapi.Call) FailoverRequirementSet
NewFailoverRequirementSet derives the requirement set from the baseline call.
func NewFailoverRequirementSetFromRequirements ¶
func NewFailoverRequirementSetFromRequirements(req lipapi.ProtocolRequirements) FailoverRequirementSet
NewFailoverRequirementSetFromRequirements constructs a FailoverRequirementSet directly from static metadata ProtocolRequirements without requiring a lipapi.Call (Requirements 7, 8, 19).
func (FailoverRequirementSet) CandidateMatchesFailoverRequirements ¶
func (f FailoverRequirementSet) CandidateMatchesFailoverRequirements(supported lipapi.ProtocolRequirements, replay lipapi.ReasoningReplaySupport) bool
CandidateMatchesFailoverRequirements reports whether candidate support satisfies the baseline requirement set.
type MapResolver ¶
type MapResolver map[string]BackendCapsFunc
MapResolver dispatches to a per-backend-id function (typically wrapping per-plugin ResolveCaps shims from the executor backend seam in internal/core/execbackend).
func (MapResolver) DescribeCandidate ¶
func (m MapResolver) DescribeCandidate(ctx context.Context, cand routing.AttemptCandidate, call lipapi.Call) lipapi.BackendCaps
DescribeCandidate implements Resolver.
type Negotiator ¶
type Negotiator interface {
Negotiate(ctx context.Context, required []lipapi.Capability, backend lipapi.BackendCaps) lipapi.NegotiationResult
}
Negotiator compares required capabilities against a backend's declared set. The default implementation delegates to lipapi.Negotiate.
type Resolver ¶
type Resolver interface {
DescribeCandidate(ctx context.Context, cand routing.AttemptCandidate, call lipapi.Call) lipapi.BackendCaps
}
Resolver resolves effective backend capabilities for one routing candidate before upstream negotiation (requirement 7.1). Composition wires a registry-backed implementation without importing concrete backend plugins from core orchestration.