msr_plugin_csv_event_journal/api/
query.rs1use 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}