msr_plugin_csv_event_journal/api/
query.rs

1use std::num::NonZeroUsize;
2
3use msr_core::event_journal::{RecordFilter, StoredRecord};
4
5use crate::ResultSender;
6
7use super::{Config, Status};
8
9#[derive(Debug)]
10pub enum Query {
11    Config(ResultSender<Config>),
12    Status(ResultSender<Status>, StatusRequest),
13    RecentRecords(ResultSender<Vec<StoredRecord>>, RecentRecordsRequest),
14    FilterRecords(ResultSender<Vec<StoredRecord>>, FilterRecordsRequest),
15}
16
17#[derive(Debug, Clone)]
18pub struct StatusRequest {
19    pub with_storage_statistics: bool,
20}
21
22#[derive(Debug, Clone)]
23pub struct RecentRecordsRequest {
24    pub limit: NonZeroUsize,
25}
26
27#[derive(Debug, Clone)]
28pub struct FilterRecordsRequest {
29    pub limit: NonZeroUsize,
30    pub filter: RecordFilter,
31}