Expand description
§rsynko-memory
rsynko-memory provides deterministic, inspectable in-memory interpreters for the Rsynko specifications. It is a semantic witness and test model, not an application framework.
Reference extractors use explicit URL prefixes and fixed outcomes. Reference processors use a closed transformation language. Neither hides policy inside callbacks.
The in-memory manager interprets the associated manager carriers as ManagerState, SourceRequest, and stable numeric QueueId values. This representation belongs here rather than in the manager specification:
use rsynko_manager::ProgressiveDownloadsExt;
use rsynko_memory::MemoryManager;
let manager = MemoryManager.progressive_downloads([
"fixture://single-video",
"https://www.youtube.com/watch?v=VIDEO_ID",
]);
assert_eq!(manager.queue().len(), 2);Interactive event interpretation uses the same concrete carrier:
use rsynko_manager::{ManagerIntentExt, ManagerIntentOp, ManagerPage};
use rsynko_memory::{DownloadOptions, ManagerState, SourceRequest};
let mut manager = ManagerState::downloads();
manager.apply_manager_event(ManagerIntentOp::AddSources {
requests: vec![SourceRequest::new(
"fixture://single-video",
None,
DownloadOptions::progressive(),
)],
});
manager.apply_manager_event(ManagerIntentOp::OpenSelected {});
assert!(matches!(manager.page(), ManagerPage::Details(_)));
assert_eq!(manager.queue().len(), 1);use rsynko_media::ExtractionExt;
use rsynko_memory::{Extraction, InfoRecord, Media};
use rsynko_memory::{ReferenceExtractor, ReferenceExtractorRegistry};
let result = Extraction::Media(Media::new("42".to_owned(), InfoRecord::default(), Vec::default()));
let mut registry = ReferenceExtractorRegistry::default();
registry.push(ReferenceExtractor::succeeds(
"example",
"https://example.test/",
result.clone(),
));
assert_eq!(registry.extract_url("https://example.test/42"), Ok(result));Structs§
- Artifact
- Denotes one artifact owned by the processing pipeline.
- Artifact
Set - Stores artifacts by identity for the in-memory processing interpreter.
- Collection
- Denotes an ordered collection of extraction results.
- Download
Options - Denotes editable choices for one not-yet-started download.
- Download
Progress - Denotes one monotonic observation of bytes retrieved for a destination.
- Download
Syntax - Reifies download observations as inspectable values.
- Extractor
Key - Identifies an extractor independently of its implementation type.
- Format
- Denotes one alternative representation of a media item.
- Info
Record - Denotes an open metadata record.
- Manager
State - Denotes the complete renderer-neutral manager application state.
- Media
- Denotes one fully described media item.
- Media
Syntax - Reifies every media sort as inspectable Rust syntax.
- Memory
Manager - Selects the deterministic in-memory interpretation of manager carriers.
- Planned
Change - Denotes one change a rehearsal stated the transfer would make.
- Processing
Program - Denotes an ordered sequence of artifact transformations.
- Processing
Step - Denotes application of one processor at one stage.
- Processing
Syntax - Reifies processing programs as ordered inspectable syntax.
- Processor
Id - Identifies a processor independently of its implementation type.
- Queue
Entry - Denotes one source in the in-memory manager collection.
- QueueId
- Identifies one queue entry independently of list position.
- Reference
Download Env - Interprets fetching, atomic publication, and reporting entirely in memory.
- Reference
Extractor - Interprets one extractor as inspectable prefix matching and a fixed outcome.
- Reference
Extractor Registry - Interprets an ordered extractor catalog in memory.
- Reference
Format Selector - Interprets format predicates and selection programs over the reified media sorts.
- Reference
Processing Refusal - Denotes a processor the reference context refuses to apply.
- Reference
Processor - Interprets one named artifact transformation in memory.
- Reference
Processor Env - Interprets processing programs over an in-memory artifact set.
- Reference
Publish Error - Denotes publication failure in the deterministic download interpreter.
- Reference
Run - Carries one authored run: the work it has left, what it has said, and whether it was stopped.
- Reference
Session - Attends to runs that say what they were authored to say, one thing per pass.
- Reference
Sync Env - Runs folder transfers by stating a transcript instead of moving anything.
- Reference
Sync Error - Denotes a transfer the reference interpreter refused to run.
- ReferenceX
Env - Asks about tweets by writing down the address that would be asked.
- Reference
Youtube Download Env - Retrieves the representation one Youtube media request states.
- Reference
Youtube Env - Interprets the Youtube query surface and resolves only the challenges it was seeded with.
- Rsync
Endpoint - Denotes one end of a folder transfer.
- Rsync
Syntax - Interprets the folder-transfer sorts as ordinary in-memory records.
- Source
Request - Denotes one requested source and optional explicit output path.
- Sync
Command - Denotes exactly the command one transfer runs.
- Text
Screen - Renders screens as plain text.
- Transfer
State - Denotes the mechanism-independent state of one transfer.
- UrlReference
- Denotes a URL whose meaning requires another extraction.
- XAttachment
- Holds one file a tweet carries.
- Youtube
Request Syntax - Reifies Youtube requests as inspectable domain syntax.
Enums§
- Change
Kind - Denotes what one rehearsed change would do to a path.
- Download
Event - Denotes one terminal download observation.
- Download
Observation Op - Represents one
DownloadObservationoperation as pure data. - Download
Observation Reply - Represents the reply produced by a
DownloadObservationoperation. - Extraction
- Denotes one step of extraction meaning.
- Format
Catalog - Denotes discovery state for selectable formats.
- Format
Choice - Selects either the best matching format or one concrete format identity.
- Format
Predicate - Denotes a predicate over what one format states about itself.
- Format
Selection - Denotes a first-order format-selection program.
- Info
Value - Denotes a metadata value without closing the set of extractor-defined fields.
- Reference
Artifact Transform - Denotes an inspectable artifact transformation in the reference interpreter.
- Reference
Extraction Error - Denotes failures of the deterministic extraction interpreter.
- Reference
Extraction Outcome - Denotes the result a reference extractor assigns to an accepted URL.
- Reference
Fetch Error - Denotes retrieval failure in the deterministic download interpreter.
- Reference
Processing Error - Denotes failures of the deterministic processing interpreter.
- Rehearsal
- Denotes what rehearsal has stated about one request.
- Sync
Observation - Denotes one thing a running transfer states.
- Youtube
Request - Denotes one request required by Youtube interpretation without choosing HTTP representation.
Constants§
- REFERENCE_
MEDIA_ EXTENSION - Names the container the reference player response states.
- REFERENCE_
MEDIA_ URL - Locates the representation the reference player response describes.
- REFERENCE_
PLAYER_ PROGRAM - States the player program the reference environment resolves challenges under.
- REFERENCE_
PLAYER_ PROGRAM_ URL - Locates the player program the reference watch page states.
- REFERENCE_
VIDEO_ ID - Names the video identity that watch URL denotes.
- REFERENCE_
WATCH_ URL - Names the watch URL the reference environment answers.
Traits§
- Download
Observation - Defines the first-order observation stream emitted by one download.
- Download
Observation Interpreter - Interprets one
DownloadObservationoperation at a time.
Functions§
- interpret_
selection - Interprets one reified selection program against a preference-ordered catalog.
- predicate_
accepts - Interprets one reified predicate against one format.
- role_
accepts - Observes whether one described format carries exactly the streams a role requires.
Type Aliases§
- Reference
Laws - Names the reference composition every law scenario runs against.
- Reference
Youtube Laws - Names the composition the Youtube law scenarios run against.