🔖 Add obipipeline parallel pipeline library

- Introduce `obipipline` crate with multi-threaded data pipeline architecture
- Implement core types: SourceFn, SharedFun (Arc), SinkFN with biased scheduler and crossbeam channels
- Add macros: `make_source!`, `transform!/fallible`/sink!, and high-level DSL macro
- Replace old wrapper/error modules with unified scheduler module (renamed types, improved error variants)

- Update workspace: add `obipipeline` member to Cargo.toml and lockfile  
- Document pipeline in docmd/implementation with full architecture, error handling & example
- Refactor sandbox_pipeline.rs to use new DSL instead of manual channel wiring
This commit is contained in:
Eric Coissac
2026-04-24 08:52:46 +02:00
parent 3f8880a7e5
commit 22951fb0e8
11 changed files with 578 additions and 271 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ impl<R: std::io::Read> MimeTypeGuesser<R> {
pub fn mime_type(&mut self) -> Option<&'static str> {
let buf = self.0.header(BUF_SIZE)?;
INFER.get_mime_type_for_bytes(buf).map(|kind| kind.mime_type)
INFER.get_mime_type_for_bytes(buf).map(|kind| kind.mime_type())
}
}