1#![deny(missing_docs)]
2#![forbid(unsafe_code)]
3mod encoding;
5mod event;
6
7pub use event::*;
8
9use futures::stream::BoxStream;
10
11#[async_trait::async_trait]
13pub trait AuditStreamSink {
14 type Error: std::error::Error + std::fmt::Debug;
16
17 async fn append_audit_events(
19 &self,
20 events: &[AuditEvent],
21 ) -> std::result::Result<(), Self::Error>;
22
23 async fn audit_stream(
25 &self,
26 reverse: bool,
27 ) -> Result<
28 BoxStream<'static, Result<AuditEvent, Self::Error>>,
29 Self::Error,
30 >;
31}