atm0s_reverse_proxy_protocol/
key.rs

1use 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}