Enum fdb::range::StreamingMode
source · [−]#[non_exhaustive]
pub enum StreamingMode {
WantAll,
Iterator,
Exact,
Small,
Medium,
Large,
Serial,
}
Expand description
Options that control the way the Rust binding performs range reads.
These options can be passed to get_range
method.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
WantAll
Client intends to consume the entire range and would like it all transferred as early as possible.
Iterator
The default. The client doesn’t know how much of the range it is likely to used and wants different performance concerns to be balanced. Only a small portion of data is transferred to the client initially (in order to minimize costs if the client doesn’t read the entire range), and as the caller iterates over more items in the range larger batches will be transferred in order to minimize latency. After enough iterations, the iterator mode will eventually reach the same byte limit as WANT_ALL
Exact
Infrequently used. The client has passed a specific row limit and wants that many rows delivered in a single batch. Because of iterator operation in client drivers make request batches transparent to the user, consider WANT_ALL
StreamingMode instead. A row limit must be specified if this mode is used.
Small
Infrequently used. Transfer data in batches small enough to not be much more expensive than reading individual rows, to minimize cost if iteration stops early.
Medium
Infrequently used. Transfer data in batches sized in between small and large.
Large
Infrequently used. Transfer data in batches large enough to be, in a high-concurrency environment, nearly as efficient as possible. If the client stops iteration early, some disk and network bandwidth may be wasted. The batch size may still be too small to allow a single client to get high throughput from the database, so if that is what you need consider the SERIAL StreamingMode.
Serial
Transfer data in batches large enough that an individual client can get reasonable read bandwidth from the database. If the client stops iteration early, considerable disk and network bandwidth may be wasted.
Trait Implementations
sourceimpl Clone for StreamingMode
impl Clone for StreamingMode
sourcefn clone(&self) -> StreamingMode
fn clone(&self) -> StreamingMode
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for StreamingMode
impl Debug for StreamingMode
sourceimpl PartialEq<StreamingMode> for StreamingMode
impl PartialEq<StreamingMode> for StreamingMode
impl Copy for StreamingMode
impl StructuralPartialEq for StreamingMode
Auto Trait Implementations
impl RefUnwindSafe for StreamingMode
impl Send for StreamingMode
impl Sync for StreamingMode
impl Unpin for StreamingMode
impl UnwindSafe for StreamingMode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more