haproxy_api/
stick_table.rs1use std::ops::Deref;
2
3use mlua::{FromLua, Lua, Result, Table, TableExt, Value};
4
5#[derive(Clone)]
7pub struct StickTable<'lua> {
8 class: Table<'lua>,
9}
10
11impl<'lua> StickTable<'lua> {
12 #[inline]
14 pub fn info(&self) -> Result<Table<'lua>> {
15 self.class.call_method("info", ())
16 }
17
18 #[inline]
20 pub fn lookup(&self, key: &str) -> Result<Table<'lua>> {
21 self.class.call_method("lookup", key)
22 }
23
24 #[inline]
30 pub fn dump(&self, filter: Option<&str>) -> Result<Table<'lua>> {
31 self.class.call_method("dump", filter)
32 }
33}
34
35impl<'lua> FromLua<'lua> for StickTable<'lua> {
36 #[inline]
37 fn from_lua(value: Value<'lua>, lua: &'lua Lua) -> Result<Self> {
38 let class = Table::from_lua(value, lua)?;
39 Ok(StickTable { class })
40 }
41}
42
43impl<'lua> Deref for StickTable<'lua> {
44 type Target = Table<'lua>;
45
46 #[inline]
47 fn deref(&self) -> &Self::Target {
48 &self.class
49 }
50}