From 4a7d464bf6755564fd21cc2a6a98696bc5512aa8 Mon Sep 17 00:00:00 2001 From: Banyc <36535895+Banyc@users.noreply.github.com> Date: Thu, 22 Feb 2024 00:53:13 +0800 Subject: [PATCH] chore: clean up commented code --- access_server/src/stream/proxy_table.rs | 149 ------------------------ common/src/stream/mod.rs | 1 - common/src/stream/proxy_table.rs | 99 ---------------- 3 files changed, 249 deletions(-) delete mode 100644 common/src/stream/proxy_table.rs diff --git a/access_server/src/stream/proxy_table.rs b/access_server/src/stream/proxy_table.rs index f55138d..b500807 100644 --- a/access_server/src/stream/proxy_table.rs +++ b/access_server/src/stream/proxy_table.rs @@ -6,152 +6,3 @@ pub type StreamProxyTableBuildContext<'caller> = ProxyTableBuildContext<'caller, ConcreteStreamAddr, StreamTracerBuilder>; pub type StreamProxyGroupBuildContext<'caller> = ProxyGroupBuildContext<'caller, ConcreteStreamAddr, StreamTracerBuilder>; - -// use std::{collections::HashMap, num::NonZeroUsize, sync::Arc}; - -// use common::{ -// config::SharableConfig, -// filter::{Matcher, MatcherBuilder}, -// proxy_table::{ProxyAction, ProxyGroup, ProxyTable, ProxyTableEntry, ProxyTableError}, -// stream::proxy_table::{ -// StreamProxyConfig, StreamProxyConfigBuildError, StreamProxyGroup, StreamProxyTable, -// StreamProxyTableEntry, StreamProxyTableEntryAction, StreamWeightedProxyChainBuilder, -// }, -// }; -// use protocol::stream::{ -// addr::{ConcreteStreamAddrStr, ConcreteStreamType}, -// context::ConcreteStreamContext, -// }; -// use proxy_client::stream::StreamTracer; -// use serde::{Deserialize, Serialize}; -// use thiserror::Error; -// use tokio_util::sync::CancellationToken; - -// #[derive(Debug, Clone, Serialize, Deserialize)] -// #[serde(deny_unknown_fields)] -// pub struct StreamProxyTableBuilder { -// pub entries: Vec, -// } -// impl StreamProxyTableBuilder { -// pub fn build( -// self, -// cx: StreamProxyTableBuildContext<'_>, -// ) -> Result, StreamProxyTableBuildError> { -// let mut built = vec![]; -// for entry in self.entries { -// let e = entry.build(cx.clone())?; -// built.push(e); -// } -// Ok(ProxyTable::new(built)) -// } -// } -// #[derive(Debug, Clone)] -// pub struct StreamProxyTableBuildContext<'caller> { -// pub matcher: &'caller HashMap, Matcher>, -// pub stream_proxy_group: &'caller HashMap, StreamProxyGroup>, -// pub proxy_group_cx: StreamProxyGroupBuildContext<'caller>, -// } - -// #[derive(Debug, Clone, Serialize, Deserialize)] -// #[serde(deny_unknown_fields)] -// pub struct StreamProxyTableEntryBuilder { -// matcher: SharableConfig, -// #[serde(flatten)] -// action: StreamProxyActionBuilder, -// } -// impl StreamProxyTableEntryBuilder { -// pub fn build( -// self, -// cx: StreamProxyTableBuildContext<'_>, -// ) -> Result, StreamProxyTableBuildError> { -// let matcher = match self.matcher { -// SharableConfig::SharingKey(k) => cx -// .matcher -// .get(&k) -// .cloned() -// .ok_or_else(|| StreamProxyTableBuildError::KeyNotFound(k))?, -// SharableConfig::Private(v) => v.build().map_err(StreamProxyTableBuildError::Matcher)?, -// }; -// let action = self -// .action -// .build(cx.stream_proxy_group, cx.proxy_group_cx)?; -// Ok(ProxyTableEntry::new(matcher, action)) -// } -// } - -// #[derive(Debug, Clone, Serialize, Deserialize)] -// #[serde(deny_unknown_fields)] -// #[serde(rename = "snake_case")] -// pub enum StreamProxyActionBuilder { -// Direct, -// Block, -// ProxyGroup(SharableConfig), -// } -// impl StreamProxyActionBuilder { -// pub fn build( -// self, -// stream_proxy_group: &HashMap, StreamProxyGroup>, -// proxy_group_cx: StreamProxyGroupBuildContext<'_>, -// ) -> Result, StreamProxyTableBuildError> { -// Ok(match self { -// StreamProxyActionBuilder::Direct => ProxyAction::Direct, -// StreamProxyActionBuilder::Block => ProxyAction::Block, -// StreamProxyActionBuilder::ProxyGroup(p) => ProxyAction::ProxyGroup(Arc::new(match p { -// SharableConfig::SharingKey(k) => stream_proxy_group -// .get(&k) -// .cloned() -// .ok_or_else(|| StreamProxyTableBuildError::KeyNotFound(k))?, -// SharableConfig::Private(p) => p.build(proxy_group_cx)?, -// })), -// }) -// } -// } - -// #[derive(Debug, Clone, Serialize, Deserialize)] -// #[serde(deny_unknown_fields)] -// pub struct StreamProxyGroupBuilder { -// pub chains: Vec>, -// pub trace_rtt: bool, -// pub active_chains: Option, -// } -// impl StreamProxyGroupBuilder { -// pub fn build( -// self, -// cx: StreamProxyGroupBuildContext<'_>, -// ) -> Result, StreamProxyTableBuildError> { -// let chains = self -// .chains -// .into_iter() -// .map(|c| c.build(cx.stream_proxy_server)) -// .collect::>() -// .map_err(StreamProxyTableBuildError::ChainConfig)?; -// let tracer = match self.trace_rtt { -// true => Some(StreamTracer::new(cx.stream_context.clone())), -// false => None, -// }; -// Ok(ProxyGroup::new( -// chains, -// tracer, -// self.active_chains, -// cx.cancellation, -// )?) -// } -// } -// #[derive(Debug, Clone)] -// pub struct StreamProxyGroupBuildContext<'caller> { -// pub stream_proxy_server: &'caller HashMap, StreamProxyConfig>, -// pub stream_context: &'caller ConcreteStreamContext, -// pub cancellation: CancellationToken, -// } - -// #[derive(Debug, Error)] -// pub enum StreamProxyTableBuildError { -// #[error("Key not found: `{0}`")] -// KeyNotFound(Arc), -// #[error("Matcher: {0}")] -// Matcher(#[source] regex::Error), -// #[error("Chain config is invalid: {0}")] -// ChainConfig(#[source] StreamProxyConfigBuildError), -// #[error("{0}")] -// ProxyTable(#[from] ProxyTableError), -// } diff --git a/common/src/stream/mod.rs b/common/src/stream/mod.rs index 0e9ccfc..a8a8636 100644 --- a/common/src/stream/mod.rs +++ b/common/src/stream/mod.rs @@ -13,7 +13,6 @@ pub mod header; pub mod io_copy; pub mod metrics; pub mod pool; -pub mod proxy_table; pub mod session_table; pub mod steer; pub mod xor; diff --git a/common/src/stream/proxy_table.rs b/common/src/stream/proxy_table.rs deleted file mode 100644 index 10c94d6..0000000 --- a/common/src/stream/proxy_table.rs +++ /dev/null @@ -1,99 +0,0 @@ -// use std::{collections::HashMap, sync::Arc}; - -// use serde::{Deserialize, Serialize}; -// use thiserror::Error; - -// use crate::{ -// config::SharableConfig, -// proxy_table::{ -// ProxyAction, ProxyConfig, ProxyGroup, ProxyTable, ProxyTableEntry, WeightedProxyChain, -// }, -// }; - -// use super::{addr::StreamAddrStr, StreamAddr}; - -// #[derive(Debug, Clone, Serialize, Deserialize)] -// #[serde(deny_unknown_fields)] -// pub struct StreamProxyConfigBuilder { -// pub address: SAS, -// pub header_key: tokio_chacha20::config::ConfigBuilder, -// pub payload_key: Option, -// } - -// impl StreamProxyConfigBuilder { -// pub fn build(self) -> Result, StreamProxyConfigBuildError> -// where -// SAS: StreamAddrStr, -// { -// let header_crypto = self.header_key.build()?; -// let payload_crypto = self.payload_key.map(|p| p.build()).transpose()?; -// let address = self.address.into_inner(); -// Ok(ProxyConfig { -// address, -// header_crypto, -// payload_crypto, -// }) -// } -// } - -// #[derive(Debug, Error)] -// pub enum StreamProxyConfigBuildError { -// #[error("{0}")] -// Crypto(#[from] tokio_chacha20::config::ConfigBuildError), -// #[error("Key not found: {0}")] -// KeyNotFound(Arc), -// #[error("Multiple payload keys")] -// MultiplePayloadKeys, -// } - -// #[derive(Debug, Clone, Serialize, Deserialize)] -// #[serde(deny_unknown_fields)] -// pub struct StreamWeightedProxyChainBuilder { -// pub weight: usize, -// pub chain: Vec>>, -// } - -// impl StreamWeightedProxyChainBuilder { -// pub fn build( -// self, -// proxy_server: &HashMap, StreamProxyConfig>, -// ) -> Result, StreamProxyConfigBuildError> -// where -// SAS: StreamAddrStr, -// { -// let chain = self -// .chain -// .into_iter() -// .map(|c| match c { -// SharableConfig::SharingKey(k) => proxy_server -// .get(&k) -// .cloned() -// .ok_or_else(|| StreamProxyConfigBuildError::KeyNotFound(k)), -// SharableConfig::Private(c) => c.build(), -// }) -// .collect::, _>>()?; -// let mut payload_crypto = None; -// for proxy_config in chain.iter() { -// let Some(p) = &proxy_config.payload_crypto else { -// continue; -// }; -// if payload_crypto.is_some() { -// return Err(StreamProxyConfigBuildError::MultiplePayloadKeys); -// } -// payload_crypto = Some(p.clone()); -// } -// Ok(WeightedProxyChain { -// weight: self.weight, -// chain, -// payload_crypto, -// }) -// } -// } - -// pub type StreamProxyConfig = ProxyConfig>; -// pub type StreamProxyChain = [StreamProxyConfig]; -// pub type StreamWeightedProxyChain = WeightedProxyChain>; -// pub type StreamProxyTable = ProxyTable>; -// pub type StreamProxyTableEntry = ProxyTableEntry>; -// pub type StreamProxyTableEntryAction = ProxyAction>; -// pub type StreamProxyGroup = ProxyGroup>;