Documentation
¶
Index ¶
- Constants
- func ArticleAvailabilityScore(in ArticleAvailabilityAttestation) float64
- func ChecksumScore(in ChecksumAttestation) float64
- func HashBody(body any) (string, error)
- func ValidateArticleAvailability(in ArticleAvailabilityAttestation, now time.Time, ...) error
- func ValidateCapacity(in ValidatorCapacity, now time.Time, futureTolerance time.Duration) error
- func ValidateChecksum(in ChecksumAttestation, now time.Time, futureTolerance time.Duration) error
- func ValidateRequest(in Request, now time.Time, futureTolerance time.Duration) error
- type ArticleAvailabilityAttestation
- type ChecksumAttestation
- type ProviderScope
- type Request
- type Response
- type ValidatorCapacity
Constants ¶
View Source
const ( TypeValidatorCapacity = "ValidatorCapacity" TypeArticleAvailabilityAttestation = "ArticleAvailabilityAttestation" TypeChecksumAttestation = "ChecksumAttestation" TypeValidationRequest = "ValidationRequest" ValidatorCapacityBodySchema = "gonzbnet.ValidatorCapacity/1.0" ArticleAvailabilityAttestationBodySchema = "gonzbnet.ArticleAvailabilityAttestation/1.0" ChecksumAttestationBodySchema = "gonzbnet.ChecksumAttestation/1.0" StatusAvailable = "available" StatusPartial = "partial" StatusMissing = "missing" StatusUnverified = "unverified" StatusSkipped = "skipped" StatusFailed = "failed" )
Variables ¶
This section is empty.
Functions ¶
func ArticleAvailabilityScore ¶
func ArticleAvailabilityScore(in ArticleAvailabilityAttestation) float64
func ChecksumScore ¶
func ChecksumScore(in ChecksumAttestation) float64
func ValidateCapacity ¶
func ValidateChecksum ¶
Types ¶
type ArticleAvailabilityAttestation ¶
type ArticleAvailabilityAttestation struct {
SchemaVersion string `json:"schema_version"`
Type string `json:"type"`
ReleaseID string `json:"release_id"`
ManifestID string `json:"manifest_id"`
CheckedAt string `json:"checked_at"`
Status string `json:"status"`
ArticlesTotal int `json:"articles_total"`
ArticlesAvailable int `json:"articles_available"`
MissingArticles int `json:"missing_articles"`
ProviderScope ProviderScope `json:"provider_scope"`
Confidence float64 `json:"confidence"`
Method string `json:"method"`
}
type ChecksumAttestation ¶
type ChecksumAttestation struct {
SchemaVersion string `json:"schema_version"`
Type string `json:"type"`
ReleaseID string `json:"release_id"`
ManifestID string `json:"manifest_id"`
CheckedAt string `json:"checked_at"`
Status string `json:"status"`
ChecksumsTotal int `json:"checksums_total"`
ChecksumsVerified int `json:"checksums_verified"`
ChecksumsFailed int `json:"checksums_failed"`
Confidence float64 `json:"confidence"`
Method string `json:"method"`
}
type ProviderScope ¶
type Request ¶
type Request struct {
SchemaVersion string `json:"schema_version"`
Type string `json:"type"`
RequestID string `json:"request_id"`
ReleaseID string `json:"release_id"`
ManifestID string `json:"manifest_id"`
PoolID string `json:"pool_id"`
RequestingNodeID string `json:"requesting_node_id"`
TargetNodeID string `json:"target_node_id,omitempty"`
Reason string `json:"reason,omitempty"`
Priority int `json:"priority,omitempty"`
DueAt string `json:"due_at,omitempty"`
CreatedAt string `json:"created_at"`
}
type ValidatorCapacity ¶
type ValidatorCapacity struct {
SchemaVersion string `json:"schema_version"`
Type string `json:"type"`
NodeID string `json:"node_id"`
PublishedAt string `json:"published_at"`
MaxTasksPerHour int `json:"max_tasks_per_hour"`
ArticleAvailability bool `json:"article_availability"`
ChecksumValidation bool `json:"checksum_validation"`
ProviderScope ProviderScope `json:"provider_scope"`
AcceptedManifestSchemas []string `json:"accepted_manifest_schemas"`
ManifestFeatures []string `json:"manifest_features,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.