atm0s_reverse_proxy_protocol/
key.rs1use std::fmt::Debug;
2
3pub trait ClusterRequest {
4 type Context: Clone + Send + Sync + 'static + Debug;
5 fn context(&self) -> Self::Context;
6}
7
8pub trait AgentSigner<RES> {
9 fn sign_connect_req(&self) -> Vec<u8>;
10 fn validate_connect_res(&self, resp: &[u8]) -> anyhow::Result<RES>;
11}
12
13pub trait ClusterValidator<REQ: ClusterRequest>: Send + Sync + Clone + 'static {
14 fn validate_connect_req(&self, req: &[u8]) -> anyhow::Result<REQ>;
15 fn generate_domain(&self, req: &REQ) -> anyhow::Result<String>;
16 fn sign_response_res(&self, m: &REQ, err: Option<String>) -> Vec<u8>;
17}