65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
"""
|
|
Chunker pipeline — splits files into chunks, processes concurrently, reassembles in order.
|
|
|
|
Public API:
|
|
Pipeline — orchestrates the full pipeline
|
|
PipelineResult — aggregate result dataclass
|
|
Chunker — file → Chunk generator
|
|
ChunkQueue — bounded thread-safe queue
|
|
WorkerPool — manages N worker threads
|
|
ResultCollector — heapq-based ordered reassembly
|
|
"""
|
|
|
|
from .chunker import Chunker
|
|
from .collector import ResultCollector
|
|
from .exceptions import (
|
|
ChunkChecksumError,
|
|
ChunkError,
|
|
ChunkReadError,
|
|
PipelineError,
|
|
ProcessingError,
|
|
ProcessorFailureError,
|
|
ProcessorTimeoutError,
|
|
ReassemblyError,
|
|
)
|
|
from .models import Chunk, ChunkResult, PipelineResult
|
|
from .pipeline import Pipeline
|
|
from .pool import WorkerPool
|
|
from .processor import (
|
|
ChecksumProcessor,
|
|
CompositeProcessor,
|
|
FFmpegExtractProcessor,
|
|
Processor,
|
|
SimulatedDecodeProcessor,
|
|
)
|
|
from .queue import ChunkQueue
|
|
|
|
__all__ = [
|
|
# Core
|
|
"Pipeline",
|
|
"PipelineResult",
|
|
# Components
|
|
"Chunker",
|
|
"ChunkQueue",
|
|
"WorkerPool",
|
|
"ResultCollector",
|
|
# Models
|
|
"Chunk",
|
|
"ChunkResult",
|
|
# Processors
|
|
"Processor",
|
|
"ChecksumProcessor",
|
|
"SimulatedDecodeProcessor",
|
|
"CompositeProcessor",
|
|
"FFmpegExtractProcessor",
|
|
# Exceptions
|
|
"PipelineError",
|
|
"ChunkError",
|
|
"ChunkReadError",
|
|
"ChunkChecksumError",
|
|
"ProcessingError",
|
|
"ProcessorFailureError",
|
|
"ProcessorTimeoutError",
|
|
"ReassemblyError",
|
|
]
|