pub struct ArrayFactory<const N: usize, I: Error + Send + 'static, E: TryInto<[Value; N], Error = I> + CondSerialize + CondDeserialize> { /* private fields */ }
Expand description
The simplest input method to the monitor. It accepts any type that can be turned into [Value; N]
where N
is ideally the number of input streams.
If N is smaller than the number of windows the array is extended with Value::None
.
The conversion to values and the order of inputs must be handled externally.
Trait Implementations§
Source§impl<const N: usize, I: Clone + Error + Send + 'static, E: Clone + TryInto<[Value; N], Error = I> + CondSerialize + CondDeserialize> Clone for ArrayFactory<N, I, E>
impl<const N: usize, I: Clone + Error + Send + 'static, E: Clone + TryInto<[Value; N], Error = I> + CondSerialize + CondDeserialize> Clone for ArrayFactory<N, I, E>
Source§fn clone(&self) -> ArrayFactory<N, I, E>
fn clone(&self) -> ArrayFactory<N, 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<const N: usize, I: Debug + Error + Send + 'static, E: Debug + TryInto<[Value; N], Error = I> + CondSerialize + CondDeserialize> Debug for ArrayFactory<N, I, E>
impl<const N: usize, I: Debug + Error + Send + 'static, E: Debug + TryInto<[Value; N], Error = I> + CondSerialize + CondDeserialize> Debug for ArrayFactory<N, I, E>
Source§impl<const N: usize, I: Error + Send + 'static, E: TryInto<[Value; N], Error = I> + Send + CondSerialize + CondDeserialize> EventFactory for ArrayFactory<N, I, E>
impl<const N: usize, I: Error + Send + 'static, E: TryInto<[Value; N], Error = I> + Send + CondSerialize + CondDeserialize> EventFactory for ArrayFactory<N, I, E>
Source§type CreationData = ()
type CreationData = ()
Arbitrary type of the data provided to the input source at creation time.
Source§type Error = ArrayFactoryError<I>
type Error = ArrayFactoryError<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<const N: usize, I, E> Freeze for ArrayFactory<N, I, E>
impl<const N: usize, I, E> RefUnwindSafe for ArrayFactory<N, I, E>where
E: RefUnwindSafe,
impl<const N: usize, I, E> Send for ArrayFactory<N, I, E>where
E: Send,
impl<const N: usize, I, E> Sync for ArrayFactory<N, I, E>where
E: Sync,
impl<const N: usize, I, E> Unpin for ArrayFactory<N, I, E>where
E: Unpin,
impl<const N: usize, I, E> UnwindSafe for ArrayFactory<N, 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