[−][src]Enum nakadion::consumer::CommitStrategy
Defines how to commit cursors
This value should always be set when creating a Consumer
because otherwise
a it will be guessed by Nakadion
which might not result in best performance.
FromStr
use nakadion::components::committer::CommitStrategy; let strategy = "immediately".parse::<CommitStrategy>().unwrap(); assert_eq!(strategy, CommitStrategy::Immediately); let strategy = "latest_possible".parse::<CommitStrategy>().unwrap(); assert_eq!(strategy, CommitStrategy::LatestPossible); let strategy = "after seconds:1 cursors:2 events:3".parse::<CommitStrategy>().unwrap(); assert_eq!( strategy, CommitStrategy::After { seconds: Some(1), cursors: Some(2), events: Some(3), } ); let strategy = "after seconds:1 events:3".parse::<CommitStrategy>().unwrap(); assert_eq!( strategy, CommitStrategy::After { seconds: Some(1), cursors: None, events: Some(3), } ); assert!("after".parse::<CommitStrategy>().is_err());
JSON is also valid:
use nakadion::components::committer::CommitStrategy; let strategy = r#""immediately""#.parse::<CommitStrategy>().unwrap(); assert_eq!(strategy, CommitStrategy::Immediately); let strategy = r#""latest_possible""#.parse::<CommitStrategy>().unwrap(); assert_eq!(strategy, CommitStrategy::LatestPossible); let strategy = r#"{"after":{"seconds":1, "cursors":3}}"#.parse::<CommitStrategy>().unwrap(); assert_eq!( strategy, CommitStrategy::After { seconds: Some(1), cursors: Some(3), events: None, } );
Environment variables
Fetching values from the environment uses FromStr
for parsing
Variants
Commit cursors immediately
Commit cursors as late as possible.
This strategy is determined by the commit timeout defined
via StreamParameters
Commit after on of the criteria was met:
seconds
: Afterseconds
secondscursors
: Aftercursors
cursors have been receivedevents
: Afterevents
have been received. This requires theBatchHandler
to give a hint on the amount of events processed.
Implementations
impl CommitStrategy
[src]
pub const ENV_TYPE_NAME: &'static str
[src]
The default name of the environment variable for this type. The name of the environment variable is " COMMIT_STRATEGY "
pub fn try_from_env() -> Result<Option<Self>, Error>
[src]
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is "NAKADION_
COMMIT_STRATEGY
"
pub fn try_from_env_prefixed<T: Into<String>>(
prefix: T
) -> Result<Option<Self>, Error>
[src]
prefix: T
) -> Result<Option<Self>, Error>
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is "prefix
_
COMMIT_STRATEGY
"
The underscore and prefix will be omitted if prefix is empty.
pub fn try_from_env_named<T: AsRef<str>>(
var_name: T
) -> Result<Option<Self>, Error>
[src]
var_name: T
) -> Result<Option<Self>, Error>
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is var_name
.
pub fn try_from_env_type_name() -> Result<Option<Self>, Error>
[src]
Initialize from the environment.
Returns None
if the value was not found and fails if the value could not be parsed.
The name of the environment variable is "
COMMIT_STRATEGY
"
pub fn from_env() -> Result<Self, Error>
[src]
Initialize from the environment. Fails if the value was not found or if the value could not be parsed. The name of the environment variable is "NAKADION_ COMMIT_STRATEGY "
pub fn from_env_prefixed<T: Into<String>>(prefix: T) -> Result<Self, Error>
[src]
Initialize from the environment.
Fails if the value was not found or if the value could not be parsed.
The name of the environment variable is "prefix
_
COMMIT_STRATEGY
"
The underscore and prefix will be omitted if prefix is empty.
pub fn from_env_named<T: AsRef<str>>(var_name: T) -> Result<Self, Error>
[src]
Initialize from the environment.
Fails if the value was not found or if the value could not be parsed.
The name of the environment variable is var_name
.
pub fn from_env_type_name() -> Result<Self, Error>
[src]
Initialize from the environment. Fails if the value was not found or if the value could not be parsed. The name of the environment variable is " COMMIT_STRATEGY "
pub fn from_env_opt() -> Option<Self>
[src]
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is "NAKADION_
COMMIT_STRATEGY
"
pub fn from_env_opt_prefixed<T: Into<String>>(prefix: T) -> Option<Self>
[src]
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is "prefix
_
COMMIT_STRATEGY
"
The underscore and prefix will be omitted if prefix is empty.
pub fn from_env_opt_named<T: AsRef<str>>(var_name: T) -> Option<Self>
[src]
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is var_name
.
pub fn from_env_opt_type_name() -> Option<Self>
[src]
Initialize from the environment.
Returns None
if the value could not be read for any reason.
The name of the environment variable is "
COMMIT_STRATEGY
"
pub fn after_seconds(seconds: u32) -> Self
[src]
pub fn validate(&self) -> Result<(), Error>
[src]
pub fn derive_from_stream_parameters(
stream_parameters: &StreamParameters
) -> Self
[src]
stream_parameters: &StreamParameters
) -> Self
Trait Implementations
impl Clone for CommitStrategy
[src]
fn clone(&self) -> CommitStrategy
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for CommitStrategy
[src]
impl Debug for CommitStrategy
[src]
impl Default for CommitStrategy
[src]
impl<'de> Deserialize<'de> for CommitStrategy
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Display for CommitStrategy
[src]
impl Eq for CommitStrategy
[src]
impl FromStr for CommitStrategy
[src]
type Err = Error
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
impl PartialEq<CommitStrategy> for CommitStrategy
[src]
fn eq(&self, other: &CommitStrategy) -> bool
[src]
fn ne(&self, other: &CommitStrategy) -> bool
[src]
impl Serialize for CommitStrategy
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralEq for CommitStrategy
[src]
impl StructuralPartialEq for CommitStrategy
[src]
Auto Trait Implementations
impl RefUnwindSafe for CommitStrategy
impl Send for CommitStrategy
impl Sync for CommitStrategy
impl Unpin for CommitStrategy
impl UnwindSafe for CommitStrategy
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
T: Send + Sync + UnwindSafe + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,