SDK y paquetes@styx/source-sdkclasses

Class: HttpRangeSource

Referencia de @styx/source-sdk generada de su TSDoc.

ImplementadoSin versión del tren todavía· generada desde packages/source-sdk/package.json

Página generada desde el TSDoc de @styx/source-sdk. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

Class: HttpRangeSource

Source para una URL HTTP con soporte de Range requests (RFC 7233). Útil para assets remotos sin FUSE (r03). Usa fetch nativo de Bun/Node.

Example

const src = new HttpRangeSource('https://cdn.example.com/asset.mkv', 12345678);
const result = await src.readAt({ offset: 0, length: 2048, purpose: 'playback' });

Implements

Constructors

Constructor

new HttpRangeSource(url, sizeBytes, fetchImpl?): HttpRangeSource

Parameters

url

string

URL HTTP/HTTPS del recurso (debe soportar Range).

sizeBytes

number

Tamaño total (de HEAD/Content-Length). 0 si desconocido.

fetchImpl?

typeof fetch = fetch

Implementación de fetch (para inyección en tests).

Returns

HttpRangeSource

Properties

kind

readonly kind: "http" = 'http'

Tipo de source (local, http, s3, webdav, torrent, etc.).

Implementation of

ISeekableMediaSource.kind


sizeBytes

readonly sizeBytes: number

Tamaño total en bytes (0 si desconocido, ej: streams live).

Implementation of

ISeekableMediaSource.sizeBytes


uri

readonly uri: string

URI canónica del source (file://, https://, s3://, etc.).

Implementation of

ISeekableMediaSource.uri

Methods

availability()

availability(): SourceAvailability

Consulta la disponibilidad actual del source.

Returns

SourceAvailability

Estado de disponibilidad.

Implementation of

ISeekableMediaSource.availability


cancel()

cancel(requestId): Promise<void>

Cancela una read individual por su requestId (r20 §3.6). No afecta a otros requests en curso.

Parameters

requestId

string

ID del request a cancelar.

Returns

Promise<void>

Implementation of

ISeekableMediaSource.cancel


cancelOutside()

cancelOutside(_window): Promise<void>

Cancela todos los requests fuera de la ventana dada (r20 §3.6). Útil tras un seek: cancela reads del offset antiguo. Impl real deferida a F3; este SDK declara la firma.

Parameters

_window

IReadWindow

Returns

Promise<void>

Implementation of

ISeekableMediaSource.cancelOutside


metrics()

metrics(): ISourceMetrics | null

Métricas observadas del source (para SourceMetrics aggregate). NO scoring — eso va en playback-policy o source-selection-policy.

Returns

ISourceMetrics | null

Métricas actuales o null si no hay datos todavía.

Implementation of

ISeekableMediaSource.metrics


prefetch()

prefetch(_ranges): Promise<void>

Hint de prefetch: el source debería precargar estos rangos en cache. No bloquea; el source puede ignorar si su cache está lleno.

Parameters

_ranges

readonly IPrefetchRange[]

Returns

Promise<void>

Implementation of

ISeekableMediaSource.prefetch


readAt()

readAt(request): Promise<Result<IReadResult, ResultError<SourceErrorCode>>>

Lee length bytes desde offset.

Parameters

request

IReadRequest

Request de lectura con purpose + deadline + requestId.

Returns

Promise<Result<IReadResult, ResultError<SourceErrorCode>>>

Result con el resultado (puede ser parcial) o ResultError<SourceErrorCode>. El código viaja dentro de ResultError (ver error-handling.md).

Implementation of

ISeekableMediaSource.readAt