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 {}