pub struct HeartbeatConfig { /* private fields */ }Expand description
Configuration for a HeartbeatStream.
Holds the heartbeat interval, hard timeout, and callback function.
Created via HeartbeatConfig::new().
§Example
use loopctl::stream::heartbeat::{HeartbeatConfig, HeartbeatData};
use std::time::Duration;
let config = HeartbeatConfig::new(
Duration::from_secs(30),
Duration::from_secs(600),
Box::new(|_data: HeartbeatData| {}),
);
assert_eq!(config.heartbeat_interval(), Duration::from_secs(30));
assert_eq!(config.timeout(), Duration::from_secs(600));Implementations§
Source§impl HeartbeatConfig
impl HeartbeatConfig
Sourcepub fn new(
heartbeat_interval: Duration,
timeout: Duration,
on_heartbeat: HeartbeatCallback,
) -> Self
pub fn new( heartbeat_interval: Duration, timeout: Duration, on_heartbeat: HeartbeatCallback, ) -> Self
Create a new heartbeat configuration.
§Arguments
heartbeat_interval— How often to fire the callback.timeout— Maximum stream duration before returning an error.on_heartbeat— Callback invoked at each interval.
§Example
use loopctl::stream::heartbeat::{HeartbeatConfig, HeartbeatData};
use std::time::Duration;
let config = HeartbeatConfig::new(
Duration::from_secs(15),
Duration::from_secs(300),
Box::new(|data: HeartbeatData| {
println!("heartbeat: {:.1}s elapsed", data.elapsed.as_secs_f64());
}),
);Sourcepub fn heartbeat_interval(&self) -> Duration
pub fn heartbeat_interval(&self) -> Duration
Returns the configured heartbeat interval.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for HeartbeatConfig
impl !UnwindSafe for HeartbeatConfig
impl Freeze for HeartbeatConfig
impl Send for HeartbeatConfig
impl Sync for HeartbeatConfig
impl Unpin for HeartbeatConfig
impl UnsafeUnpin for HeartbeatConfig
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