pub mod zencodec_io pub mod zencodec_io::destination pub struct zencodec_io::destination::Forward(pub W) impl core::io::write::Write for zencodec_io::destination::Forward pub fn zencodec_io::destination::Forward::flush(&mut self) -> core::io::error::Result<()> pub fn zencodec_io::destination::Forward::write(&mut self, bytes: &[u8]) -> core::io::error::Result impl zencodec_io::destination::Destination for zencodec_io::destination::Forward pub fn zencodec_io::destination::Forward::can_patch(&self) -> bool pub fn zencodec_io::destination::Forward::position(&mut self, _: u64) -> core::io::error::Result<()> pub struct zencodec_io::destination::SeekBack impl zencodec_io::destination::SeekBack pub fn zencodec_io::destination::SeekBack::new(writer: W) -> core::io::error::Result impl zencodec_io::destination::Destination for zencodec_io::destination::SeekBack pub fn zencodec_io::destination::SeekBack::can_patch(&self) -> bool pub fn zencodec_io::destination::SeekBack::position(&mut self, relative: u64) -> core::io::error::Result<()> impl core::io::write::Write for zencodec_io::destination::SeekBack pub fn zencodec_io::destination::SeekBack::flush(&mut self) -> core::io::error::Result<()> pub fn zencodec_io::destination::SeekBack::write(&mut self, bytes: &[u8]) -> core::io::error::Result pub trait zencodec_io::destination::Destination: core::io::write::Write + zencodec_io::destination::sealed::Sealed pub fn zencodec_io::destination::Destination::can_patch(&self) -> bool pub fn zencodec_io::destination::Destination::position(&mut self, relative: u64) -> core::io::error::Result<()> impl zencodec_io::destination::Destination for zencodec_io::destination::SeekBack pub fn zencodec_io::destination::SeekBack::can_patch(&self) -> bool pub fn zencodec_io::destination::SeekBack::position(&mut self, relative: u64) -> core::io::error::Result<()> impl zencodec_io::destination::Destination for zencodec_io::destination::Forward pub fn zencodec_io::destination::Forward::can_patch(&self) -> bool pub fn zencodec_io::destination::Forward::position(&mut self, _: u64) -> core::io::error::Result<()> pub mod zencodec_io::row_encode #[non_exhaustive] pub enum zencodec_io::row_encode::Refusal pub zencodec_io::row_encode::Refusal::DestinationChanged pub zencodec_io::row_encode::Refusal::EarlyOutput pub zencodec_io::row_encode::Refusal::EarlyOutput::pass: core::option::Option pub zencodec_io::row_encode::Refusal::Empty pub zencodec_io::row_encode::Refusal::IncompletePass pub zencodec_io::row_encode::Refusal::IncompletePass::pass: u32 pub zencodec_io::row_encode::Refusal::NoInputRoute pub zencodec_io::row_encode::Refusal::OutputLimit pub zencodec_io::row_encode::Refusal::Overflow pub zencodec_io::row_encode::Refusal::PassLimit pub zencodec_io::row_encode::Refusal::PassLimit::pass: u32 pub zencodec_io::row_encode::Refusal::Patches pub zencodec_io::row_encode::Refusal::PullProtocol pub zencodec_io::row_encode::Refusal::ReplayChanged pub zencodec_io::row_encode::Refusal::ReplayChanged::first: u32 pub zencodec_io::row_encode::Refusal::ReplayChanged::pass: u32 pub zencodec_io::row_encode::Refusal::RequestOrder pub zencodec_io::row_encode::Refusal::RequestOrder::first: u32 pub zencodec_io::row_encode::Refusal::RequestOrder::pass: u32 pub zencodec_io::row_encode::Refusal::SourceChanged impl core::error::Error for zencodec_io::row_encode::Refusal impl core::fmt::Display for zencodec_io::row_encode::Refusal pub fn zencodec_io::row_encode::Refusal::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::row_encode::Stage pub zencodec_io::row_encode::Stage::Encode pub zencodec_io::row_encode::Stage::Finish pub zencodec_io::row_encode::Stage::Patch pub zencodec_io::row_encode::Stage::Policy pub zencodec_io::row_encode::Stage::Prepare pub zencodec_io::row_encode::Stage::Read pub zencodec_io::row_encode::Stage::Replay pub zencodec_io::row_encode::Stage::Start pub zencodec_io::row_encode::Stage::Write pub struct zencodec_io::row_encode::Completed pub zencodec_io::row_encode::Completed::emitted: u64 pub zencodec_io::row_encode::Completed::patched_bytes: u64 pub zencodec_io::row_encode::Completed::report: zencodec::operation::policy::OperationReport pub zencodec_io::row_encode::Completed::schedule: zencodec::operation::scheduling::OutputSchedule pub struct zencodec_io::row_encode::Description pub zencodec_io::row_encode::Description::color_context: core::option::Option> pub zencodec_io::row_encode::Description::descriptor: zenpixels::descriptor::PixelDescriptor pub zencodec_io::row_encode::Description::exact_depth: core::option::Option pub zencodec_io::row_encode::Description::height: u32 pub zencodec_io::row_encode::Description::width: u32 impl zencodec_io::row_encode::Description pub const fn zencodec_io::row_encode::Description::new(width: u32, height: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> Self pub fn zencodec_io::row_encode::Description::with_color_context(self, context: alloc::rcs::arc::Arc) -> Self pub const fn zencodec_io::row_encode::Description::with_exact_depth(self, exact: zenpixels::sample::exact::ExactDepth) -> Self pub struct zencodec_io::row_encode::ExactDepthContradiction pub zencodec_io::row_encode::ExactDepthContradiction::claim: zenpixels::sample::exact::ExactDepth pub zencodec_io::row_encode::ExactDepthContradiction::first_row: u32 impl core::error::Error for zencodec_io::row_encode::ExactDepthContradiction impl core::fmt::Display for zencodec_io::row_encode::ExactDepthContradiction pub fn zencodec_io::row_encode::ExactDepthContradiction::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result pub struct zencodec_io::row_encode::Failure pub zencodec_io::row_encode::Failure::emitted: u64 pub zencodec_io::row_encode::Failure::patched_bytes: u64 pub zencodec_io::row_encode::Failure::report: alloc::boxed::Box pub zencodec_io::row_encode::Failure::stage: zencodec_io::row_encode::Stage impl core::error::Error for zencodec_io::row_encode::Failure pub fn zencodec_io::row_encode::Failure::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Debug for zencodec_io::row_encode::Failure pub fn zencodec_io::row_encode::Failure::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result impl core::fmt::Display for zencodec_io::row_encode::Failure pub fn zencodec_io::row_encode::Failure::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result pub struct zencodec_io::row_encode::Options impl zencodec_io::row_encode::Options pub fn zencodec_io::row_encode::Options::new(storage: zencodec::storage::StorageBudget, max_output_bytes: u64) -> Self pub fn zencodec_io::row_encode::Options::with_batch_rows(self, rows: core::num::nonzero::NonZeroU32) -> Self pub fn zencodec_io::row_encode::Options::with_disk_staging(self, file: std::fs::File, replay_bytes: core::num::nonzero::NonZeroUsize) -> core::io::error::Result pub fn zencodec_io::row_encode::Options::with_policy_set(self, preset: zencodec::operation::policy::PolicySet) -> Self pub fn zencodec_io::row_encode::Options::with_raw_disk_staging(self, file: std::fs::File, max_bytes: u64) -> core::io::error::Result pub struct zencodec_io::row_encode::Raster<'a>(_) impl<'a> zencodec_io::row_encode::Raster<'a> pub const fn zencodec_io::row_encode::Raster<'a>::new(pixels: zenpixels::buffer::PixelSlice<'a>) -> Self impl zencodec_io::row_encode::Source for zencodec_io::row_encode::Raster<'_> pub type zencodec_io::row_encode::Raster<'_>::Error = zencodec::error::CodecError pub fn zencodec_io::row_encode::Raster<'_>::borrowed_pixels(&self) -> core::option::Option> pub fn zencodec_io::row_encode::Raster<'_>::description(&self) -> zencodec_io::row_encode::Description pub fn zencodec_io::row_encode::Raster<'_>::mechanism(&self) -> zencodec::operation::scheduling::OutputSource pub fn zencodec_io::row_encode::Raster<'_>::read_rows(&mut self, first: u32, rows: zenpixels::buffer::PixelSliceMut<'_>, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result<(), Self::Error> pub fn zencodec_io::row_encode::Raster<'_>::replay_identity(&self) -> core::result::Result, Self::Error> pub fn zencodec_io::row_encode::Raster<'_>::supports_positional_replay(&self) -> bool pub trait zencodec_io::row_encode::Source pub type zencodec_io::row_encode::Source::Error: core::error::Error + core::marker::Send + core::marker::Sync + 'static pub fn zencodec_io::row_encode::Source::borrowed_pixels(&self) -> core::option::Option> pub fn zencodec_io::row_encode::Source::description(&self) -> zencodec_io::row_encode::Description pub fn zencodec_io::row_encode::Source::mechanism(&self) -> zencodec::operation::scheduling::OutputSource pub fn zencodec_io::row_encode::Source::read_rows(&mut self, first: u32, rows: zenpixels::buffer::PixelSliceMut<'_>, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result<(), Self::Error> pub fn zencodec_io::row_encode::Source::replay_identity(&self) -> core::result::Result, Self::Error> pub fn zencodec_io::row_encode::Source::supports_positional_replay(&self) -> bool impl zencodec_io::row_encode::Source for zencodec_io::row_encode::Raster<'_> pub type zencodec_io::row_encode::Raster<'_>::Error = zencodec::error::CodecError pub fn zencodec_io::row_encode::Raster<'_>::borrowed_pixels(&self) -> core::option::Option> pub fn zencodec_io::row_encode::Raster<'_>::description(&self) -> zencodec_io::row_encode::Description pub fn zencodec_io::row_encode::Raster<'_>::mechanism(&self) -> zencodec::operation::scheduling::OutputSource pub fn zencodec_io::row_encode::Raster<'_>::read_rows(&mut self, first: u32, rows: zenpixels::buffer::PixelSliceMut<'_>, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result<(), Self::Error> pub fn zencodec_io::row_encode::Raster<'_>::replay_identity(&self) -> core::result::Result, Self::Error> pub fn zencodec_io::row_encode::Raster<'_>::supports_positional_replay(&self) -> bool pub fn zencodec_io::row_encode::encode(encoder: E, source: S, writer: W, resolver: R, options: zencodec_io::row_encode::Options, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result> pub fn zencodec_io::row_encode::encode_dyn_job(job: alloc::boxed::Box, source: S, writer: W, resolver: R, options: zencodec_io::row_encode::Options, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result> pub fn zencodec_io::row_encode::encode_dyn_job_to_destination(job: alloc::boxed::Box, source: S, writer: D, resolver: R, options: zencodec_io::row_encode::Options, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result> pub fn zencodec_io::row_encode::encode_job(job: J, source: S, writer: W, resolver: R, options: zencodec_io::row_encode::Options, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result> where ::Enc: zencodec::traits::encoder::Encoder pub fn zencodec_io::row_encode::encode_job_to_destination(job: J, source: S, writer: D, resolver: R, options: zencodec_io::row_encode::Options, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result> where ::Enc: zencodec::traits::encoder::Encoder pub fn zencodec_io::row_encode::encode_to_destination(encoder: E, source: S, writer: D, resolver: R, options: zencodec_io::row_encode::Options, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result> pub mod zencodec_io::storage pub use zencodec_io::storage::OwnedStorage pub use zencodec_io::storage::SharedStorage pub use zencodec_io::storage::StorageBudget pub use zencodec_io::storage::StorageError pub mod zencodec_io::tokio_io #[non_exhaustive] pub enum zencodec_io::tokio_io::AsyncDriveError pub zencodec_io::tokio_io::AsyncDriveError::Cancelled(enough::reason::StopReason) pub zencodec_io::tokio_io::AsyncDriveError::Disconnected pub zencodec_io::tokio_io::AsyncDriveError::Input(zencodec_io::InputError) pub zencodec_io::tokio_io::AsyncDriveError::Protocol(zencodec_io::ProtocolViolation) pub zencodec_io::tokio_io::AsyncDriveError::Source(zencodec::traits::BoxedError) pub zencodec_io::tokio_io::AsyncDriveError::Step(zencodec::traits::incremental::StepError) pub zencodec_io::tokio_io::AsyncDriveError::Write(core::io::error::Error) impl core::error::Error for zencodec_io::tokio_io::AsyncDriveError pub fn zencodec_io::tokio_io::AsyncDriveError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::tokio_io::AsyncDriveError pub fn zencodec_io::tokio_io::AsyncDriveError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::tokio_io::StripEvent pub zencodec_io::tokio_io::StripEvent::Begin pub zencodec_io::tokio_io::StripEvent::Begin::descriptor: zenpixels::descriptor::PixelDescriptor pub zencodec_io::tokio_io::StripEvent::Begin::height: u32 pub zencodec_io::tokio_io::StripEvent::Begin::width: u32 pub zencodec_io::tokio_io::StripEvent::Finish pub zencodec_io::tokio_io::StripEvent::Strip pub zencodec_io::tokio_io::StripEvent::Strip::meta: zencodec::traits::incremental::BatchMeta pub zencodec_io::tokio_io::StripEvent::Strip::pixels: zenpixels::buffer::PixelBuffer pub struct zencodec_io::tokio_io::AsyncCursor impl zencodec_io::tokio_io::AsyncCursor pub fn zencodec_io::tokio_io::AsyncCursor::new(opts: zencodec_io::DriveOptions) -> Self pub async fn zencodec_io::tokio_io::AsyncCursor::next(&mut self, source: &mut Src, stage: &mut S, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result::Output>, zencodec_io::DriveFailure<::Error, zencodec::traits::BoxedError>> where S: zencodec_io::ByteStepper + ?core::marker::Sized, Src: zencodec_io::tokio_io::AsyncSource + ?core::marker::Sized pub fn zencodec_io::tokio_io::AsyncCursor::retained_input_capacity(&self) -> usize pub struct zencodec_io::tokio_io::AsyncReadSource impl zencodec_io::tokio_io::AsyncReadSource pub fn zencodec_io::tokio_io::AsyncReadSource::new(reader: R) -> Self impl zencodec_io::tokio_io::AsyncSource for zencodec_io::tokio_io::AsyncReadSource pub async fn zencodec_io::tokio_io::AsyncReadSource::len(&mut self) -> core::result::Result pub fn zencodec_io::tokio_io::AsyncReadSource::len_hint(&self) -> core::option::Option pub async fn zencodec_io::tokio_io::AsyncReadSource::read_at(&mut self, offset: u64, out: &mut [u8]) -> core::result::Result pub fn zencodec_io::tokio_io::AsyncReadSource::read_ranges(&mut self, reqs: &mut [(u64, &mut [u8])]) -> impl core::future::future::Future> + core::marker::Send pub struct zencodec_io::tokio_io::BridgeError(pub zencodec_io::tokio_io::AsyncDriveError) impl core::error::Error for zencodec_io::tokio_io::BridgeError pub fn zencodec_io::tokio_io::BridgeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::tokio_io::BridgeError pub fn zencodec_io::tokio_io::BridgeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result pub struct zencodec_io::tokio_io::BytesSource(pub alloc::rcs::arc::Arc<[u8]>) impl zencodec_io::tokio_io::AsyncSource for zencodec_io::tokio_io::BytesSource pub async fn zencodec_io::tokio_io::BytesSource::len(&mut self) -> core::result::Result pub fn zencodec_io::tokio_io::BytesSource::len_hint(&self) -> core::option::Option pub async fn zencodec_io::tokio_io::BytesSource::read_at(&mut self, offset: u64, out: &mut [u8]) -> core::result::Result pub fn zencodec_io::tokio_io::BytesSource::read_ranges(&mut self, reqs: &mut [(u64, &mut [u8])]) -> impl core::future::future::Future> + core::marker::Send pub struct zencodec_io::tokio_io::ChannelRowSink impl zencodec_io::tokio_io::ChannelRowSink pub fn zencodec_io::tokio_io::ChannelRowSink::new(tx: tokio::sync::mpsc::bounded::Sender, provisional: bool) -> Self pub fn zencodec_io::tokio_io::ChannelRowSink::with_pulse(self, pulse: how_far::pulse::SharedPulse) -> Self impl core::fmt::Debug for zencodec_io::tokio_io::ChannelRowSink pub fn zencodec_io::tokio_io::ChannelRowSink::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result impl zencodec::sink::DecodeRowSink for zencodec_io::tokio_io::ChannelRowSink pub fn zencodec_io::tokio_io::ChannelRowSink::accepts_provisional(&self) -> bool pub fn zencodec_io::tokio_io::ChannelRowSink::begin(&mut self, width: u32, height: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> core::result::Result<(), zencodec::sink::SinkError> pub fn zencodec_io::tokio_io::ChannelRowSink::finish(&mut self) -> core::result::Result<(), zencodec::sink::SinkError> pub fn zencodec_io::tokio_io::ChannelRowSink::provide_next_buffer(&mut self, y: u32, height: u32, width: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> core::result::Result, zencodec::sink::SinkError> pub fn zencodec_io::tokio_io::ChannelRowSink::provide_pass_buffer(&mut self, meta: zencodec::traits::incremental::BatchMeta, height: u32, width: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> core::result::Result, zencodec::sink::SinkError> pub struct zencodec_io::tokio_io::Inline impl zencodec_io::tokio_io::Compute for zencodec_io::tokio_io::Inline pub fn zencodec_io::tokio_io::Inline::runs_inline(&self) -> bool pub fn zencodec_io::tokio_io::Inline::spawn(&self, job: zencodec_io::tokio_io::Job) pub trait zencodec_io::tokio_io::AsyncSource: core::marker::Send pub fn zencodec_io::tokio_io::AsyncSource::len(&mut self) -> impl core::future::future::Future> + core::marker::Send pub fn zencodec_io::tokio_io::AsyncSource::len_hint(&self) -> core::option::Option pub fn zencodec_io::tokio_io::AsyncSource::read_at(&mut self, offset: u64, out: &mut [u8]) -> impl core::future::future::Future> + core::marker::Send pub fn zencodec_io::tokio_io::AsyncSource::read_ranges(&mut self, reqs: &mut [(u64, &mut [u8])]) -> impl core::future::future::Future> + core::marker::Send impl zencodec_io::tokio_io::AsyncSource for zencodec_io::tokio_io::BytesSource pub async fn zencodec_io::tokio_io::BytesSource::len(&mut self) -> core::result::Result pub fn zencodec_io::tokio_io::BytesSource::len_hint(&self) -> core::option::Option pub async fn zencodec_io::tokio_io::BytesSource::read_at(&mut self, offset: u64, out: &mut [u8]) -> core::result::Result pub fn zencodec_io::tokio_io::BytesSource::read_ranges(&mut self, reqs: &mut [(u64, &mut [u8])]) -> impl core::future::future::Future> + core::marker::Send impl zencodec_io::tokio_io::AsyncSource for zencodec_io::tokio_io::AsyncReadSource pub async fn zencodec_io::tokio_io::AsyncReadSource::len(&mut self) -> core::result::Result pub fn zencodec_io::tokio_io::AsyncReadSource::len_hint(&self) -> core::option::Option pub async fn zencodec_io::tokio_io::AsyncReadSource::read_at(&mut self, offset: u64, out: &mut [u8]) -> core::result::Result pub fn zencodec_io::tokio_io::AsyncReadSource::read_ranges(&mut self, reqs: &mut [(u64, &mut [u8])]) -> impl core::future::future::Future> + core::marker::Send pub trait zencodec_io::tokio_io::Compute: core::marker::Send + core::marker::Sync pub fn zencodec_io::tokio_io::Compute::runs_inline(&self) -> bool pub fn zencodec_io::tokio_io::Compute::spawn(&self, job: zencodec_io::tokio_io::Job) impl zencodec_io::tokio_io::Compute for zencodec_io::tokio_io::Inline pub fn zencodec_io::tokio_io::Inline::runs_inline(&self) -> bool pub fn zencodec_io::tokio_io::Inline::spawn(&self, job: zencodec_io::tokio_io::Job) impl zencodec_io::tokio_io::Compute for F pub fn F::runs_inline(&self) -> bool pub fn F::spawn(&self, job: zencodec_io::tokio_io::Job) pub fn zencodec_io::tokio_io::decode_async<'a, D, S, Src, C>(decoder: D, sink: S, source: &'a mut Src, compute: C, opts: zencodec_io::DriveOptions, pulse: core::option::Option) -> impl core::future::future::Future::Error>>> + core::marker::Send + 'a where D: zencodec::traits::incremental::IncrementalDecode + core::marker::Send + 'static, S: zencodec::sink::DecodeRowSink + core::marker::Send + 'static, Src: zencodec_io::tokio_io::AsyncSource + ?core::marker::Sized, C: zencodec_io::tokio_io::Compute + 'a pub fn zencodec_io::tokio_io::pull_decode_on_thread<'a, R, S, Src, C>(run: R, sink: S, source: &'a mut Src, compute: C, pulse: core::option::Option) -> impl core::future::future::Future>> + core::marker::Send + 'a where R: core::ops::function::FnOnce(&mut dyn zencodec::source::DynReadAt, &mut dyn zencodec::sink::DecodeRowSink) -> core::result::Result + core::marker::Send + 'static, S: zencodec::sink::DecodeRowSink + core::marker::Send + 'static, Src: zencodec_io::tokio_io::AsyncSource + ?core::marker::Sized, C: zencodec_io::tokio_io::Compute + 'a pub fn zencodec_io::tokio_io::transcode_async<'a, D, E, Src, W, C>(decoder: D, encoder: E, source: &'a mut Src, out: &'a mut W, compute: C, opts: zencodec_io::DriveOptions, pulse: core::option::Option) -> impl core::future::future::Future::Error>>> + core::marker::Send + 'a where D: zencodec::traits::incremental::IncrementalDecode + core::marker::Send + 'static, E: zencodec::traits::encoder::Encoder + core::marker::Send + 'static, ::Error: core::marker::Send + core::marker::Sync, Src: zencodec_io::tokio_io::AsyncSource + ?core::marker::Sized, W: tokio::io::async_write::AsyncWrite + core::marker::Unpin + core::marker::Send + ?core::marker::Sized, C: zencodec_io::tokio_io::Compute + 'a pub async fn zencodec_io::tokio_io::write_pending_async(enc: &mut E, w: &mut W) -> core::io::error::Result where E: zencodec::traits::encoder::Encoder, W: tokio::io::async_write::AsyncWrite + core::marker::Unpin + ?core::marker::Sized pub type zencodec_io::tokio_io::Job = alloc::boxed::Box<(dyn core::ops::function::FnOnce() + core::marker::Send + 'static)> #[non_exhaustive] pub enum zencodec_io::BufferPolicy pub zencodec_io::BufferPolicy::Spool pub zencodec_io::BufferPolicy::Spool::max_bytes: usize pub zencodec_io::BufferPolicy::Window pub zencodec_io::BufferPolicy::Window::window_bytes: usize impl zencodec_io::BufferPolicy pub const fn zencodec_io::BufferPolicy::for_pattern(pattern: zencodec::source::AccessPattern, max_bytes: usize) -> Self pub const fn zencodec_io::BufferPolicy::try_for_pattern(pattern: zencodec::source::AccessPattern, max_bytes: usize) -> core::result::Result impl zencodec_io::BufferPolicy pub const fn zencodec_io::BufferPolicy::max_bytes(&self) -> usize #[non_exhaustive] pub enum zencodec_io::ControlledEvent pub zencodec_io::ControlledEvent::Decode(zencodec::traits::incremental::Event) pub zencodec_io::ControlledEvent::Suspended(zencodec::traits::control::DecodeBoundary) #[non_exhaustive] pub enum zencodec_io::DriveFailure pub zencodec_io::DriveFailure::Input(zencodec_io::InputError) pub zencodec_io::DriveFailure::Protocol(zencodec_io::ProtocolViolation) pub zencodec_io::DriveFailure::Source(SE) pub zencodec_io::DriveFailure::Step(E) impl zencodec_io::DriveFailure pub fn zencodec_io::DriveFailure::widen(self) -> zencodec_io::DriveFailure impl core::error::Error for zencodec_io::DriveFailure pub fn zencodec_io::DriveFailure::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::DriveFailure pub fn zencodec_io::DriveFailure::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::EncodeWriteError pub zencodec_io::EncodeWriteError::Encoder(E) pub zencodec_io::EncodeWriteError::Io(core::io::error::Error) impl core::error::Error for zencodec_io::EncodeWriteError pub fn zencodec_io::EncodeWriteError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::EncodeWriteError pub fn zencodec_io::EncodeWriteError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::EncoderSinkError pub zencodec_io::EncoderSinkError::Encoder(E) pub zencodec_io::EncoderSinkError::Sink(zencodec::sink::SinkError) impl core::error::Error for zencodec_io::EncoderSinkError pub fn zencodec_io::EncoderSinkError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::EncoderSinkError pub fn zencodec_io::EncoderSinkError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::InputError pub zencodec_io::InputError::Allocation pub zencodec_io::InputError::Allocation::bytes: usize pub zencodec_io::InputError::Allocation::source: alloc::collections::TryReserveError pub zencodec_io::InputError::Limit pub zencodec_io::InputError::Limit::limit: usize pub zencodec_io::InputError::Limit::needed: u64 pub zencodec_io::InputError::RangesDisabled pub zencodec_io::InputError::ReadsDisabled impl core::error::Error for zencodec_io::InputError pub fn zencodec_io::InputError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::InputError pub fn zencodec_io::InputError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::PolicyDecodeError pub zencodec_io::PolicyDecodeError::Native(E) pub zencodec_io::PolicyDecodeError::Policy(whereat::at::At) impl core::error::Error for zencodec_io::PolicyDecodeError pub fn zencodec_io::PolicyDecodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::PolicyDecodeError pub fn zencodec_io::PolicyDecodeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::ProtocolViolation pub zencodec_io::ProtocolViolation::AddressOverflow(zencodec::traits::incremental::InputRequest) pub zencodec_io::ProtocolViolation::EmptyRequest pub zencodec_io::ProtocolViolation::NeedPastEnd pub zencodec_io::ProtocolViolation::NeedPastEnd::request: zencodec::traits::incremental::InputRequest pub zencodec_io::ProtocolViolation::NeedPastEnd::total: u64 pub zencodec_io::ProtocolViolation::NoProgress(zencodec::traits::incremental::InputRequest) impl core::error::Error for zencodec_io::ProtocolViolation impl core::fmt::Display for zencodec_io::ProtocolViolation pub fn zencodec_io::ProtocolViolation::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::PumpFailure pub zencodec_io::PumpFailure::Input(zencodec_io::InputError) pub zencodec_io::PumpFailure::Io(core::io::error::Error) pub zencodec_io::PumpFailure::NeedsRandomAccess(zencodec::traits::incremental::InputRequest) pub zencodec_io::PumpFailure::Protocol(zencodec_io::ProtocolViolation) pub zencodec_io::PumpFailure::Step(E) pub zencodec_io::PumpFailure::WindowLimit pub zencodec_io::PumpFailure::WindowLimit::limit: usize pub zencodec_io::PumpFailure::WindowLimit::needed: usize impl core::error::Error for zencodec_io::PumpFailure pub fn zencodec_io::PumpFailure::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::PumpFailure pub fn zencodec_io::PumpFailure::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result #[non_exhaustive] pub enum zencodec_io::StdSourceError pub zencodec_io::StdSourceError::Allocation pub zencodec_io::StdSourceError::Allocation::requested: usize pub zencodec_io::StdSourceError::Allocation::source: alloc::collections::TryReserveError pub zencodec_io::StdSourceError::Io(core::io::error::Error) pub zencodec_io::StdSourceError::Source(zencodec::source::SourceError) impl core::convert::From for zencodec_io::StdSourceError pub fn zencodec_io::StdSourceError::from(error: core::io::error::Error) -> Self impl core::convert::From for zencodec_io::StdSourceError pub fn zencodec_io::StdSourceError::from(error: zencodec::source::SourceError) -> Self impl core::error::Error for zencodec_io::StdSourceError pub fn zencodec_io::StdSourceError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> impl core::fmt::Display for zencodec_io::StdSourceError pub fn zencodec_io::StdSourceError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result pub enum zencodec_io::Step pub zencodec_io::Step::Finished(O) pub zencodec_io::Step::Need pub zencodec_io::Step::Output(O) pub enum zencodec_io::Yield pub zencodec_io::Yield::Finished(O) pub zencodec_io::Yield::Output(O) impl zencodec_io::Yield pub fn zencodec_io::Yield::into_inner(self) -> O pub fn zencodec_io::Yield::is_finished(&self) -> bool pub struct zencodec_io::BufferedReadAt impl zencodec_io::BufferedReadAt pub fn zencodec_io::BufferedReadAt::new(reader: R, policy: zencodec_io::BufferPolicy) -> Self pub fn zencodec_io::BufferedReadAt::retained_bytes(&self) -> usize pub fn zencodec_io::BufferedReadAt::watermark(&self) -> u64 impl zencodec::source::ReadAt for zencodec_io::BufferedReadAt pub type zencodec_io::BufferedReadAt::Error = zencodec_io::StdSourceError pub fn zencodec_io::BufferedReadAt::len(&mut self) -> core::result::Result pub fn zencodec_io::BufferedReadAt::len_hint(&self) -> core::option::Option pub fn zencodec_io::BufferedReadAt::read_at(&mut self, offset: u64, out: &mut [u8]) -> core::result::Result pub fn zencodec_io::BufferedReadAt::read_exact_at(&mut self, offset: u64, out: &mut [u8]) -> core::result::Result<(), Self::Error> pub fn zencodec_io::BufferedReadAt::read_many_at(&mut self, reqs: &mut [(u64, &mut [u8])]) -> core::result::Result<(), Self::Error> pub struct zencodec_io::CollectSink impl zencodec_io::CollectSink pub fn zencodec_io::CollectSink::as_pixel_slice(&self) -> core::option::Option> pub fn zencodec_io::CollectSink::bytes(&self) -> &[u8] pub fn zencodec_io::CollectSink::descriptor(&self) -> core::option::Option pub fn zencodec_io::CollectSink::finished(&self) -> bool pub fn zencodec_io::CollectSink::height(&self) -> u32 pub fn zencodec_io::CollectSink::into_buffer(self) -> core::option::Option pub fn zencodec_io::CollectSink::new() -> Self pub fn zencodec_io::CollectSink::rows_written(&self) -> u64 pub fn zencodec_io::CollectSink::to_buffer(&self) -> core::option::Option pub fn zencodec_io::CollectSink::width(&self) -> u32 impl core::fmt::Debug for zencodec_io::CollectSink pub fn zencodec_io::CollectSink::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result impl zencodec::sink::DecodeRowSink for zencodec_io::CollectSink pub fn zencodec_io::CollectSink::begin(&mut self, width: u32, height: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> core::result::Result<(), zencodec::sink::SinkError> pub fn zencodec_io::CollectSink::finish(&mut self) -> core::result::Result<(), zencodec::sink::SinkError> pub fn zencodec_io::CollectSink::provide_next_buffer(&mut self, y: u32, height: u32, width: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> core::result::Result, zencodec::sink::SinkError> pub struct zencodec_io::ControlledStepper<'a, D, S> impl<'a, D: zencodec::traits::control::ControlledIncrementalDecode, S: zencodec::sink::DecodeRowSink> zencodec_io::ControlledStepper<'a, D, S> pub fn zencodec_io::ControlledStepper<'a, D, S>::info(&self) -> core::option::Option<&zencodec::info::ImageInfo> pub fn zencodec_io::ControlledStepper<'a, D, S>::new(decoder: D, sink: &'a mut S) -> Self pub fn zencodec_io::ControlledStepper<'a, D, S>::output_descriptor(&self) -> core::option::Option pub fn zencodec_io::ControlledStepper<'a, D, S>::resume(&mut self, boundary: zencodec::traits::control::BoundaryId, action: zencodec::traits::control::BoundaryAction, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result<(), zencodec::traits::incremental::StepError<::Error>> pub fn zencodec_io::ControlledStepper<'a, D, S>::sink(&self) -> &S pub fn zencodec_io::ControlledStepper<'a, D, S>::sink_mut(&mut self) -> &mut S impl zencodec_io::ByteStepper for zencodec_io::ControlledStepper<'_, D, S> pub type zencodec_io::ControlledStepper<'_, D, S>::Error = zencodec::traits::incremental::StepError<::Error> pub type zencodec_io::ControlledStepper<'_, D, S>::Output = zencodec_io::ControlledEvent pub fn zencodec_io::ControlledStepper<'_, D, S>::requested(&self) -> &[zencodec::traits::incremental::InputRequest] pub fn zencodec_io::ControlledStepper<'_, D, S>::step(&mut self, input: zencodec::traits::incremental::Input<'_>, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result, Self::Error> #[non_exhaustive] pub struct zencodec_io::DriveOptions pub zencodec_io::DriveOptions::limits: zencodec_io::IoLimits pub zencodec_io::DriveOptions::max_gap: u64 pub zencodec_io::DriveOptions::read_size: usize pub zencodec_io::DriveOptions::work_quota: zencodec_io::WorkQuota impl zencodec_io::DriveOptions pub const fn zencodec_io::DriveOptions::new(max_gap: u64, read_size: usize) -> Self pub const fn zencodec_io::DriveOptions::with_limits(self, limits: zencodec_io::IoLimits) -> Self pub const fn zencodec_io::DriveOptions::with_work_quota(self, quota: zencodec_io::WorkQuota) -> Self impl core::default::Default for zencodec_io::DriveOptions pub fn zencodec_io::DriveOptions::default() -> Self pub struct zencodec_io::DriveStats pub zencodec_io::DriveStats::bytes_read: u64 pub zencodec_io::DriveStats::reads: u64 pub zencodec_io::DriveStats::rows: u64 pub zencodec_io::DriveStats::steps: u64 #[non_exhaustive] pub struct zencodec_io::EncodeWriteReport pub zencodec_io::EncodeWriteReport::bytes: u64 pub zencodec_io::EncodeWriteReport::timing: zencodec::output::OutputTiming pub struct zencodec_io::EncoderSink impl zencodec_io::EncoderSink where ::Error: core::marker::Send + core::marker::Sync pub fn zencodec_io::EncoderSink::consume_output(&mut self, n: usize) pub fn zencodec_io::EncoderSink::encoder(&self) -> &E pub fn zencodec_io::EncoderSink::finish(self) -> core::result::Result::Error>> pub fn zencodec_io::EncoderSink::new(encoder: E) -> Self pub fn zencodec_io::EncoderSink::output_timing(&self) -> core::option::Option pub fn zencodec_io::EncoderSink::pending_output(&self) -> &[u8] pub fn zencodec_io::EncoderSink::rows_pushed(&self) -> u64 pub fn zencodec_io::EncoderSink::take_output(&mut self, into: &mut alloc::vec::Vec) pub fn zencodec_io::EncoderSink::write_pending(&mut self, w: &mut impl core::io::write::Write) -> core::io::error::Result impl core::fmt::Debug for zencodec_io::EncoderSink pub fn zencodec_io::EncoderSink::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result impl zencodec::sink::DecodeRowSink for zencodec_io::EncoderSink where ::Error: core::marker::Send + core::marker::Sync pub fn zencodec_io::EncoderSink::begin(&mut self, width: u32, height: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> core::result::Result<(), zencodec::sink::SinkError> pub fn zencodec_io::EncoderSink::finish(&mut self) -> core::result::Result<(), zencodec::sink::SinkError> pub fn zencodec_io::EncoderSink::provide_next_buffer(&mut self, _y: u32, height: u32, width: u32, descriptor: zenpixels::descriptor::PixelDescriptor) -> core::result::Result, zencodec::sink::SinkError> pub struct zencodec_io::FileReadAt impl zencodec_io::FileReadAt pub fn zencodec_io::FileReadAt::new(file: std::fs::File) -> core::result::Result pub fn zencodec_io::FileReadAt::open(path: impl core::convert::AsRef) -> core::result::Result impl zencodec::source::ReadAt for zencodec_io::FileReadAt pub type zencodec_io::FileReadAt::Error = zencodec_io::StdSourceError pub fn zencodec_io::FileReadAt::len(&mut self) -> core::result::Result pub fn zencodec_io::FileReadAt::len_hint(&self) -> core::option::Option pub fn zencodec_io::FileReadAt::read_exact_at(&mut self, offset: u64, out: &mut [u8]) -> core::result::Result<(), Self::Error> pub struct zencodec_io::IoLimits impl zencodec_io::IoLimits pub const fn zencodec_io::IoLimits::max_in_flight(self) -> usize pub const fn zencodec_io::IoLimits::max_input_bytes(self) -> usize pub const fn zencodec_io::IoLimits::max_ranges(self) -> usize pub const fn zencodec_io::IoLimits::new(input_bytes: usize, ranges: usize, in_flight: usize) -> Self pub const fn zencodec_io::IoLimits::unlimited() -> Self impl core::default::Default for zencodec_io::IoLimits pub fn zencodec_io::IoLimits::default() -> Self pub struct zencodec_io::PolicyDecoder impl zencodec_io::PolicyDecoder pub fn zencodec_io::PolicyDecoder::new(decoder: D, resolver: R) -> Self pub const fn zencodec_io::PolicyDecoder::report(&self) -> &zencodec::operation::policy::OperationReport pub fn zencodec_io::PolicyDecoder::with_policy_set(self, preset: zencodec::operation::policy::PolicySet) -> Self impl zencodec::traits::incremental::IncrementalDecode for zencodec_io::PolicyDecoder pub type zencodec_io::PolicyDecoder::Error = zencodec_io::PolicyDecodeError<::Error> pub fn zencodec_io::PolicyDecoder::access_pattern(&self) -> zencodec::source::AccessPattern pub fn zencodec_io::PolicyDecoder::info(&self) -> core::option::Option<&zencodec::info::ImageInfo> pub fn zencodec_io::PolicyDecoder::output_descriptor(&self) -> core::option::Option pub fn zencodec_io::PolicyDecoder::requested(&self) -> &[zencodec::traits::incremental::InputRequest] pub fn zencodec_io::PolicyDecoder::step(&mut self, input: zencodec::traits::incremental::Input<'_>, sink: &mut dyn zencodec::sink::DecodeRowSink, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result> pub fn zencodec_io::PolicyDecoder::take_details(&mut self) -> core::option::Option pub struct zencodec_io::ReadAtCursor impl zencodec_io::ReadAtCursor pub fn zencodec_io::ReadAtCursor::new(opts: zencodec_io::DriveOptions) -> Self pub fn zencodec_io::ReadAtCursor::next(&mut self, source: &mut Src, stage: &mut S, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result::Output>, zencodec_io::DriveFailure<::Error, ::Error>> where S: zencodec_io::ByteStepper + ?core::marker::Sized, Src: zencodec::source::ReadAt + ?core::marker::Sized pub fn zencodec_io::ReadAtCursor::retained_input_capacity(&self) -> usize pub fn zencodec_io::ReadAtCursor::stats(&self) -> zencodec_io::DriveStats pub struct zencodec_io::ReadAtReader impl zencodec_io::ReadAtReader pub fn zencodec_io::ReadAtReader::into_inner(self) -> S pub const fn zencodec_io::ReadAtReader::new(source: S) -> Self impl alloc::io::read::Read for zencodec_io::ReadAtReader pub fn zencodec_io::ReadAtReader::read(&mut self, out: &mut [u8]) -> core::io::error::Result impl core::io::seek::Seek for zencodec_io::ReadAtReader pub fn zencodec_io::ReadAtReader::seek(&mut self, to: core::io::seek::SeekFrom) -> core::io::error::Result pub fn zencodec_io::ReadAtReader::stream_position(&mut self) -> core::io::error::Result pub struct zencodec_io::ReadCursor impl zencodec_io::ReadCursor pub fn zencodec_io::ReadCursor::new(read_size: usize, max_window: usize) -> Self pub fn zencodec_io::ReadCursor::next(&mut self, reader: &mut R, stage: &mut S, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result::Output>, zencodec_io::PumpFailure<::Error>> where S: zencodec_io::ByteStepper + ?core::marker::Sized, R: alloc::io::read::Read + ?core::marker::Sized pub fn zencodec_io::ReadCursor::retained_input_capacity(&self) -> usize pub struct zencodec_io::SliceCursor impl zencodec_io::SliceCursor pub fn zencodec_io::SliceCursor::new(window: usize) -> Self pub fn zencodec_io::SliceCursor::next(&mut self, bytes: &[u8], stage: &mut S, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result::Output>, zencodec_io::DriveFailure<::Error, core::convert::Infallible>> pub fn zencodec_io::SliceCursor::stats(&self) -> zencodec_io::DriveStats pub struct zencodec_io::Stepped pub zencodec_io::Stepped::consumed: usize pub zencodec_io::Stepped::step: zencodec_io::Step pub struct zencodec_io::WorkQuota(_) impl zencodec_io::WorkQuota pub const fn zencodec_io::WorkQuota::max_steps(self) -> usize pub const fn zencodec_io::WorkQuota::new(steps: usize) -> core::option::Option pub const fn zencodec_io::WorkQuota::unlimited() -> Self impl core::default::Default for zencodec_io::WorkQuota pub fn zencodec_io::WorkQuota::default() -> Self pub trait zencodec_io::ByteStepper pub type zencodec_io::ByteStepper::Error pub type zencodec_io::ByteStepper::Output pub fn zencodec_io::ByteStepper::requested(&self) -> &[zencodec::traits::incremental::InputRequest] pub fn zencodec_io::ByteStepper::step(&mut self, input: zencodec::traits::incremental::Input<'_>, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result, Self::Error> impl zencodec_io::ByteStepper for zencodec_io::ControlledStepper<'_, D, S> pub type zencodec_io::ControlledStepper<'_, D, S>::Error = zencodec::traits::incremental::StepError<::Error> pub type zencodec_io::ControlledStepper<'_, D, S>::Output = zencodec_io::ControlledEvent pub fn zencodec_io::ControlledStepper<'_, D, S>::requested(&self) -> &[zencodec::traits::incremental::InputRequest] pub fn zencodec_io::ControlledStepper<'_, D, S>::step(&mut self, input: zencodec::traits::incremental::Input<'_>, pulse: core::option::Option<&dyn how_far::pulse::Pulse>) -> core::result::Result, Self::Error> pub fn zencodec_io::coalesce_byte_ranges(ranges: &[zencodec::traits::incremental::ByteRange], max_gap: u64) -> alloc::vec::Vec pub fn zencodec_io::coalesce_into(ranges: &[zencodec::traits::incremental::ByteRange], max_gap: u64, out: &mut alloc::vec::Vec) pub fn zencodec_io::drive_from_read_at(decoder: &mut D, source: &mut S, sink: &mut dyn zencodec::sink::DecodeRowSink, pulse: core::option::Option<&dyn how_far::pulse::Pulse>, opts: zencodec_io::DriveOptions) -> core::result::Result<(zencodec::cost::OutputInfo, zencodec_io::DriveStats), zencodec_io::DriveError<::Error, ::Error>> where D: zencodec::traits::incremental::IncrementalDecode + ?core::marker::Sized, S: zencodec::source::ReadAt + ?core::marker::Sized pub fn zencodec_io::drive_from_slice(decoder: &mut D, bytes: &[u8], sink: &mut dyn zencodec::sink::DecodeRowSink, pulse: core::option::Option<&dyn how_far::pulse::Pulse>, window: usize) -> core::result::Result<(zencodec::cost::OutputInfo, zencodec_io::DriveStats), zencodec_io::DriveError<::Error, core::convert::Infallible>> where D: zencodec::traits::incremental::IncrementalDecode + ?core::marker::Sized pub fn zencodec_io::encode_to_writer(enc: E, pixels: zenpixels::buffer::PixelSlice<'_>, w: &mut impl core::io::write::Write) -> core::result::Result::Error>> pub fn zencodec_io::pump_read_to_sink(reader: R, decoder: &mut D, sink: &mut dyn zencodec::sink::DecodeRowSink, pulse: core::option::Option<&dyn how_far::pulse::Pulse>, read_size: usize, max_window: usize) -> core::result::Result::Error>> where R: alloc::io::read::Read, D: zencodec::traits::incremental::IncrementalDecode + ?core::marker::Sized pub fn zencodec_io::write_pending(enc: &mut E, w: &mut impl core::io::write::Write) -> core::io::error::Result pub fn zencodec_io::write_pending_animation(enc: &mut A, w: &mut impl core::io::write::Write) -> core::io::error::Result pub type zencodec_io::DriveError = zencodec_io::DriveFailure, SE> pub type zencodec_io::PumpError = zencodec_io::PumpFailure>