AsyncVecDocumentBuilder

Struct AsyncVecDocumentBuilder 

Source
pub struct AsyncVecDocumentBuilder<St>
where St: Stream, St::Item: Serialize,
{ /* private fields */ }
Expand description

An stream adapter for building many Documents.

Frequently, fog-pack’s 1 MiB size limit can pose problems with large data sets. Generally, these data sets can be treated as large arrays of relatively small data objects. This adaptor can take a stream over any set of data objects, and will produce a series of Documents that are under the size limit.

For the synchronous version that works on iterators, see AsyncVecDocumentBuilder.

Implementations§

Source§

impl<St> AsyncVecDocumentBuilder<St>
where St: Stream, St::Item: Serialize,

Source

pub fn new(stream: St, schema: Option<&Hash>) -> Self

Initialize a new builder, optionally having each document adhering to a schema. When the provided stream returns None, this builder will complete the last document and cease using the iterator.

Source

pub fn new_ordered(stream: St, schema: Option<&Hash>) -> Self

Initialize a new builder, optionally having each document adhering to a schema. When the provided stream returns None, this builder will complete the last document and cease using the iterator.

Unlike new, this requires that the provided serializable items have all of their fields and subfields lexicographically ordered, and will fail if that isn’t upheld.

Source

pub fn compression(self, setting: Option<u8>) -> Self

Override the default compression settings for all produced Documents. None will disable compression. Some(level) will compress with the provided level as the setting for the algorithm.

Source

pub fn sign(self, key: &IdentityKey) -> Self

Sign the all produced documents from this point onward.

Trait Implementations§

Source§

impl<St> Debug for AsyncVecDocumentBuilder<St>
where St: Stream + Debug, St::Item: Serialize + Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<St> FusedStream for AsyncVecDocumentBuilder<St>
where St: Stream + FusedStream, St::Item: Serialize,

Source§

fn is_terminated(&self) -> bool

Returns true if the stream should no longer be polled.
Source§

impl<St> Stream for AsyncVecDocumentBuilder<St>
where St: Stream, St::Item: Serialize,

Source§

type Item = Result<NewDocument, Error>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Result<NewDocument>>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
Source§

impl<'__pin, St> Unpin for AsyncVecDocumentBuilder<St>
where PinnedFieldsOf<__Origin<'__pin, St>>: Unpin, St: Stream, St::Item: Serialize,

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more