Expand description
Everything the daemon and the interface both need: one definition of an episode, of every wire message, and of every filesystem path. No I/O policy of its own beyond retrieving the catalog; the daemon is the sole writer of playback and download state, and clients render what it last reported.
Re-exports§
pub use config::Config;pub use error::Error;pub use error::ErrorCode;pub use error::Result;pub use model::Catalog;pub use model::Episode;
Modules§
- catalog
- The episode catalog: the authoritative feed, its best-effort enrichment, the disk cache that lets the player start without a network, and query over the result.
- config
- The optional configuration file.
- error
- The crate error type and the stable machine-readable codes clients branch on.
- model
- The episode model and the catalog that holds it.
- paths
- Where the player keeps its configuration, caches, durable state, logs, and socket. The daemon and every client resolve these identically, so they always agree on the endpoint and on which files they share.
- protocol
- The newline-delimited JSON wire protocol. This module is its definition.
Constants§
- USER_
AGENT - The User-Agent every request to musicforprogramming.net carries. Upstream is a small independent host, so requests identify themselves.