silo

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2026 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Package silo provides Silo's native profile-driven conformance protocol.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Protocol

type Protocol struct{ *mediabrowser.Protocol }

func Load

func Load(dir string) (*Protocol, error)

func (*Protocol) Compare

func (p *Protocol) Compare(reference, target conform.Response) conform.Report

Compare treats valid Silo HLS implementation choices as informational while retaining structural and semantic failures as blocking.

func (*Protocol) CompareRequest

func (p *Protocol) CompareRequest(request conform.Request, reference, target conform.Response) conform.Report

func (*Protocol) Corpus

func (p *Protocol) Corpus(profile string) []conform.Request

Corpus runs the Apple capture's playback before the catalog item read. That item response includes last-play facts created by the preceding start.

func (*Protocol) Fetch

func (p *Protocol) Fetch(ctx context.Context, client *http.Client, base, token string, request conform.Request, profile string, vars map[string]string, jsonMode bool) (conform.Response, error)

Fetch follows the first HLS variant when a target exposes a master ladder. The corpus records a media playlist, so the subsequent segment probes must resolve against the selected variant rather than treating it as a segment.

func (*Protocol) Observe

func (*Protocol) Observe(request conform.Request, response conform.Response, vars map[string]string)

Observe carries a playable session and its relative HLS paths into the subsequent ordered probes. It never accepts an upstream-supplied hostname.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL