pub struct RemoteScanOptions {
pub bidirectional: bool,
}Expand description
Reader-side options for the scan walker.
Defaults to a bidirectional walk: the remote backend pairs forward preamble fetches with backward postamble fetches, and a pipelined full-discovery scanner overlaps each round’s backward validation with the next round’s primary fetches. On real-network workloads this roughly halves wall-clock for full layout discovery and tail / middle access.
use tensogram::RemoteScanOptions;
let opts = RemoteScanOptions::default();
assert!(opts.bidirectional);Fields§
§bidirectional: boolEnable the bidirectional walker on the remote backend.
When true (the default), the remote backend pairs forward
preamble fetches with backward postamble fetches across the
file, using the v3 postamble’s mirrored total_length field
to walk inward from EOF in parallel with the forward sweep.
The pipelined scanner overlaps each round’s candidate-preamble
validation with the next round’s primary fetches, collapsing
the per-round critical path from 2 RTTs to 1 RTT.
Set false to force a forward-only walk — useful when an
adversarial server might serve disagreeing forward and backward
reads, or when the remote source returns paired ranges over a
transport whose connection-pool serialises them anyway.
RemoteScanOptions only configures the remote backend. The
local-file backend uses a separate in-memory walker
configured by crate::framing::ScanOptions; this flag is
silently ignored when the source resolves to a local path.
Trait Implementations§
Source§impl Clone for RemoteScanOptions
impl Clone for RemoteScanOptions
Source§fn clone(&self) -> RemoteScanOptions
fn clone(&self) -> RemoteScanOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for RemoteScanOptions
Source§impl Debug for RemoteScanOptions
impl Debug for RemoteScanOptions
Source§impl Default for RemoteScanOptions
impl Default for RemoteScanOptions
impl Eq for RemoteScanOptions
Source§impl PartialEq for RemoteScanOptions
impl PartialEq for RemoteScanOptions
Source§fn eq(&self, other: &RemoteScanOptions) -> bool
fn eq(&self, other: &RemoteScanOptions) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RemoteScanOptions
Auto Trait Implementations§
impl Freeze for RemoteScanOptions
impl RefUnwindSafe for RemoteScanOptions
impl Send for RemoteScanOptions
impl Sync for RemoteScanOptions
impl Unpin for RemoteScanOptions
impl UnsafeUnpin for RemoteScanOptions
impl UnwindSafe for RemoteScanOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more