Help us shape the future of Go! Take the 2026 Go Developer Survey

silo

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 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