Skip to main content

airup_sdk/
extapi.rs

1use crate::system::LogRecord;
2
3/// An extension trait to provide invocation for conventional `extapi.*` APIs.
4pub trait ConnectionExt<'a>: crate::Connection {
5    fn append_log(
6        &'a mut self,
7        subject: &'a str,
8        module: &'a str,
9        msg: &'a [u8],
10    ) -> Self::Invoke<'a, ()> {
11        self.invoke("extapi.logger.append", (subject, module, msg))
12    }
13
14    fn tail_logs(&'a mut self, subject: &'a str, n: usize) -> Self::Invoke<'a, Vec<LogRecord>> {
15        self.invoke("extapi.logger.tail", (subject, n))
16    }
17}
18impl<T> ConnectionExt<'_> for T where T: crate::Connection {}