pub struct TumblingWindow {
pub window_ms: u64,
/* private fields */
}Expand description
固定幅タンブリングウィンドウ。
ウィンドウ境界でMetricSlotをrotateし、完了したウィンドウを返す。
|---window 0---|---window 1---|---window 2---|
↑ events ↑ events ↑ eventsFields§
§window_ms: u64ウィンドウ幅(ミリ秒)。
Implementations§
Source§impl TumblingWindow
impl TumblingWindow
Sourcepub fn insert(&mut self, value: f64, timestamp_ms: u64) -> Option<WindowResult>
pub fn insert(&mut self, value: f64, timestamp_ms: u64) -> Option<WindowResult>
イベントを投入。ウィンドウ境界を超えた場合、完了したスロットを返す。
時刻は saturating_add で足す: timestamp_ms が u64::MAX 近傍だと
current_start + window_ms が溢れ、2026-10-07 までは debug build で
panic し release build では wrap して境界時刻が巻き戻っていた
飽和させると最後のウィンドウが閉じなくなるだけで、flush() で取り出せる
Sourcepub fn flush(&mut self) -> WindowResult
pub fn flush(&mut self) -> WindowResult
現在のウィンドウを強制的にフラッシュ。
Sourcepub const fn current_count(&self) -> u64
pub const fn current_count(&self) -> u64
現在のウィンドウのイベント数。
Auto Trait Implementations§
impl Freeze for TumblingWindow
impl RefUnwindSafe for TumblingWindow
impl Send for TumblingWindow
impl Sync for TumblingWindow
impl Unpin for TumblingWindow
impl UnsafeUnpin for TumblingWindow
impl UnwindSafe for TumblingWindow
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