gproxy-protocol 2.0.15

GPROXY protocol types and endpoint metadata
Documentation
macro_rules! extensible_string_enum {
    ($outer:ident, $known:ident { $($variant:ident => $wire:literal),+ $(,)? }) => {
        #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
        #[serde(untagged)]
        pub enum $outer {
            Known($known),
            Unknown(String),
        }

        #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
        pub enum $known {
            $(
                #[serde(rename = $wire)]
                $variant,
            )+
        }
    };
}

macro_rules! strict_string_enum {
    ($outer:ident { $($variant:ident => $wire:literal),+ $(,)? }) => {
        #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
        pub enum $outer {
            $(
                #[serde(rename = $wire)]
                $variant,
            )+
        }
    };
}

mod chat;
mod content;
mod images;
mod responses;
mod tools;

pub use chat::*;
pub use content::*;
pub use images::*;
pub use responses::*;
pub use tools::*;