Commit 70f6dc3a authored by nanahira's avatar nanahira

ext

parent 9f7e5412
Pipeline #39789 passed with stages
in 1 minute and 48 seconds
...@@ -11,8 +11,8 @@ use std::sync::Arc; ...@@ -11,8 +11,8 @@ use std::sync::Arc;
#[repr(C)] #[repr(C)]
pub struct Meta { pub struct Meta {
pub src_id: u8, pub src_id: u16,
pub dst_id: u8, pub dst_id: u16,
pub reversed: u16, pub reversed: u16,
} }
...@@ -20,7 +20,7 @@ use serde::Deserialize; ...@@ -20,7 +20,7 @@ use serde::Deserialize;
#[derive(Deserialize)] #[derive(Deserialize)]
pub struct ConfigRouter { pub struct ConfigRouter {
pub remote_id: u8, pub remote_id: u16,
pub proto: i32, pub proto: i32,
pub family: u8, pub family: u8,
pub mark: u32, pub mark: u32,
...@@ -32,7 +32,7 @@ pub struct ConfigRouter { ...@@ -32,7 +32,7 @@ pub struct ConfigRouter {
#[derive(Deserialize)] #[derive(Deserialize)]
pub struct Config { pub struct Config {
pub local_id: u8, pub local_id: u16,
pub local_secret: String, pub local_secret: String,
pub routers: Vec<ConfigRouter>, pub routers: Vec<ConfigRouter>,
} }
...@@ -45,14 +45,14 @@ fn main() -> Result<(), Box<dyn Error>> { ...@@ -45,14 +45,14 @@ fn main() -> Result<(), Box<dyn Error>> {
let config: Config = serde_json::from_str(env::args().nth(1).ok_or("need param")?.as_str())?; let config: Config = serde_json::from_str(env::args().nth(1).ok_or("need param")?.as_str())?;
let local_secret: [u8; SECRET_LENGTH] = Router::create_secret(config.local_secret.as_str())?; let local_secret: [u8; SECRET_LENGTH] = Router::create_secret(config.local_secret.as_str())?;
let mut sockets: HashMap<u16, Arc<Socket>> = HashMap::new(); let mut sockets: HashMap<u16, Arc<Socket>> = HashMap::new();
let routers: HashMap<u8, Router> = config let routers: HashMap<u16, Router> = config
.routers .routers
.iter() .iter()
.map(|c| Router::new(c, &mut sockets).map(|router| (c.remote_id, router))) .map(|c| Router::new(c, &mut sockets).map(|router| (c.remote_id, router)))
.collect::<Result<_, _>>()?; .collect::<Result<_, _>>()?;
let (mut router_readers, router_writers): ( let (mut router_readers, router_writers): (
HashMap<u8, RouterReader>, HashMap<u16, RouterReader>,
HashMap<u8, RouterWriter>, HashMap<u16, RouterWriter>,
) = routers ) = routers
.into_iter() .into_iter()
.map(|(id, router)| { .map(|(id, router)| {
...@@ -60,7 +60,7 @@ fn main() -> Result<(), Box<dyn Error>> { ...@@ -60,7 +60,7 @@ fn main() -> Result<(), Box<dyn Error>> {
((id, reader), (id, writer)) ((id, reader), (id, writer))
}) })
.unzip(); .unzip();
let router_writers3: Vec<(Arc<Socket>, HashMap<u8, RouterWriter>)> = router_writers let router_writers3: Vec<(Arc<Socket>, HashMap<u16, RouterWriter>)> = router_writers
.into_iter() .into_iter()
.grouping_by(|(_, v)| v.key()) .grouping_by(|(_, v)| v.key())
.into_iter() .into_iter()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment