use std::net::IpAddr;
use url::Url;
pub struct RpcEndhostApiDiscoveryService;
impl RpcEndhostApiDiscoveryService {
pub const SERVICE_PATH: &'static str = "/endhost.discovery.v1.EndhostApiDiscoveryService";
pub const GET_ENDHOST_APIS_PATH: &'static str = "/GetEndhostApis";
}
#[async_trait::async_trait]
pub trait EndhostApiDiscovery: Send + Sync {
async fn discover_endhost_apis(&self, public_ip: IpAddr) -> Vec<EndhostApiGroup>;
}
#[derive(Clone, PartialEq, Eq, Hash, Debug)]
pub struct EndhostApiGroup {
pub apis: Vec<EndhostApiInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, Debug)]
pub struct EndhostApiInfo {
pub address: Url,
}