Trait vector_buffers::topology::builder::IntoBuffer
source · pub trait IntoBuffer<T: Bufferable>: Send {
// Required method
fn into_buffer_parts<'async_trait>(
self: Box<Self>,
usage_handle: BufferUsageHandle,
) -> Pin<Box<dyn Future<Output = Result<(SenderAdapter<T>, ReceiverAdapter<T>), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>
where Self: 'async_trait;
// Provided method
fn provides_instrumentation(&self) -> bool { ... }
}
Expand description
Value that can be used as a stage in a buffer topology.
Required Methods§
sourcefn into_buffer_parts<'async_trait>(
self: Box<Self>,
usage_handle: BufferUsageHandle,
) -> Pin<Box<dyn Future<Output = Result<(SenderAdapter<T>, ReceiverAdapter<T>), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>where
Self: 'async_trait,
fn into_buffer_parts<'async_trait>(
self: Box<Self>,
usage_handle: BufferUsageHandle,
) -> Pin<Box<dyn Future<Output = Result<(SenderAdapter<T>, ReceiverAdapter<T>), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>where
Self: 'async_trait,
Converts this value into a sender and receiver pair suitable for use in a buffer topology.
Provided Methods§
sourcefn provides_instrumentation(&self) -> bool
fn provides_instrumentation(&self) -> bool
Gets whether or not this buffer stage provides its own instrumentation, or if it should be instrumented from the outside.
As some buffer stages, like the in-memory channel, never have a chance to catch the values
in the middle of the channel without introducing an unnecessary hop, BufferSender
and
BufferReceiver
can be configured to instrument all events flowing through directly.
When instrumentation is provided in this way, [vector_common::byte_size_of::ByteSizeOf
]
is used to calculate the size of the event going both into and out of the buffer.