pub struct VectorFactory<I: Error + Send + 'static, E: TryInto<Vec<Value>, Error = I> + CondSerialize + CondDeserialize> { /* private fields */ }
Expand description
One of the simplest input method to the monitor. It accepts any type that can be turned into Vec<Value>
.
If the length of the vector is smaller than the number of windows the vector is extended with Value::None
.
The conversion to values and the order of inputs must be handled externally. When creating the VectorFactory
the user must provide the length of the vector that is returned in the conversion. The implementation then checks
dynamically if this size is satisfied.
Trait Implementations§
Source§impl<I: Clone + Error + Send + 'static, E: Clone + TryInto<Vec<Value>, Error = I> + CondSerialize + CondDeserialize> Clone for VectorFactory<I, E>
impl<I: Clone + Error + Send + 'static, E: Clone + TryInto<Vec<Value>, Error = I> + CondSerialize + CondDeserialize> Clone for VectorFactory<I, E>
Source§fn clone(&self) -> VectorFactory<I, E>
fn clone(&self) -> VectorFactory<I, E>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<I: Debug + Error + Send + 'static, E: Debug + TryInto<Vec<Value>, Error = I> + CondSerialize + CondDeserialize> Debug for VectorFactory<I, E>
impl<I: Debug + Error + Send + 'static, E: Debug + TryInto<Vec<Value>, Error = I> + CondSerialize + CondDeserialize> Debug for VectorFactory<I, E>
Source§impl<I: Error + Send + 'static, E: TryInto<Vec<Value>, Error = I> + Send + CondSerialize + CondDeserialize> EventFactory for VectorFactory<I, E>
impl<I: Error + Send + 'static, E: TryInto<Vec<Value>, Error = I> + Send + CondSerialize + CondDeserialize> EventFactory for VectorFactory<I, E>
Source§type CreationData = usize
type CreationData = usize
Arbitrary type of the data provided to the input source at creation time.
Source§type Error = VectorFactoryError<I>
type Error = VectorFactoryError<I>
The error type returned by the input source on IO errors or parsing issues.
Source§fn try_new(
map: HashMap<String, InputReference>,
setup_data: Self::CreationData,
) -> Result<(Self, Vec<String>), EventFactoryError>
fn try_new( map: HashMap<String, InputReference>, setup_data: Self::CreationData, ) -> Result<(Self, Vec<String>), EventFactoryError>
Construction the input for only a subset of the required input streams. Enables the combination of multiple Input implementors into one.
The returned Vector contains the names of the input streams that can be served by this input.
The constructed input should return
Value::None
for all inputs that are unknown to it.Source§fn get_event(&self, rec: Self::Record) -> Result<Event, EventFactoryError>
fn get_event(&self, rec: Self::Record) -> Result<Event, EventFactoryError>
This function converts a record to an event.
Source§fn new(
map: HashMap<String, InputReference>,
setup_data: Self::CreationData,
) -> Result<Self, EventFactoryError>
fn new( map: HashMap<String, InputReference>, setup_data: Self::CreationData, ) -> Result<Self, EventFactoryError>
Creates a new input source from a HashMap mapping the names of the inputs in the specification to their position in the event.
Auto Trait Implementations§
impl<I, E> Freeze for VectorFactory<I, E>
impl<I, E> RefUnwindSafe for VectorFactory<I, E>where
E: RefUnwindSafe,
impl<I, E> Send for VectorFactory<I, E>where
E: Send,
impl<I, E> Sync for VectorFactory<I, E>where
E: Sync,
impl<I, E> Unpin for VectorFactory<I, E>where
E: Unpin,
impl<I, E> UnwindSafe for VectorFactory<I, E>where
E: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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