changed network from DashMap to MyDashMap
This commit is contained in:
parent
939a0514db
commit
1339d30cc4
@ -1,4 +1,4 @@
|
|||||||
use crate::peer;
|
use crate::peer::{self, V6Info};
|
||||||
|
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
@ -13,6 +13,8 @@ pub struct RegisterSuper<'a> {
|
|||||||
// 自身的sock信息
|
// 自身的sock信息
|
||||||
pub sock: Option<peer::SdlanSock>,
|
pub sock: Option<peer::SdlanSock>,
|
||||||
|
|
||||||
|
// v6 info
|
||||||
|
pub v6_info: Option<V6Info>,
|
||||||
// 自身的ip信息
|
// 自身的ip信息
|
||||||
pub dev_addr: peer::IpSubnet,
|
pub dev_addr: peer::IpSubnet,
|
||||||
|
|
||||||
@ -35,6 +37,7 @@ mod test {
|
|||||||
use crate::utils::gen_uuid;
|
use crate::utils::gen_uuid;
|
||||||
|
|
||||||
use self::peer::SdlanSock;
|
use self::peer::SdlanSock;
|
||||||
|
use self::peer::V6Info;
|
||||||
use crate::config::AF_INET;
|
use crate::config::AF_INET;
|
||||||
use crate::packet::Common;
|
use crate::packet::Common;
|
||||||
use crate::utils::Result;
|
use crate::utils::Result;
|
||||||
@ -65,6 +68,7 @@ mod test {
|
|||||||
pass: "encrypt!",
|
pass: "encrypt!",
|
||||||
cookie: 0,
|
cookie: 0,
|
||||||
sock: None,
|
sock: None,
|
||||||
|
v6_info: None,
|
||||||
dev_addr: peer::IpSubnet::new(192, 24),
|
dev_addr: peer::IpSubnet::new(192, 24),
|
||||||
pub_key: "public key",
|
pub_key: "public key",
|
||||||
token: "user's token",
|
token: "user's token",
|
||||||
@ -94,6 +98,10 @@ mod test {
|
|||||||
v4: [0; 4],
|
v4: [0; 4],
|
||||||
v6: [1; 16],
|
v6: [1; 16],
|
||||||
}),
|
}),
|
||||||
|
v6_info: Some(V6Info {
|
||||||
|
port: 3306,
|
||||||
|
v6: [0; 16],
|
||||||
|
}),
|
||||||
dev_addr: peer::IpSubnet::new(192, 24),
|
dev_addr: peer::IpSubnet::new(192, 24),
|
||||||
pub_key: "public key",
|
pub_key: "public key",
|
||||||
token: "user's token",
|
token: "user's token",
|
||||||
|
|||||||
12
src/peer.rs
12
src/peer.rs
@ -15,6 +15,7 @@ pub struct Peer {
|
|||||||
pub dev_addr: IpSubnet,
|
pub dev_addr: IpSubnet,
|
||||||
// 对端对外开放的ip和端口信息
|
// 对端对外开放的ip和端口信息
|
||||||
pub sock: RwLock<SdlanSock>,
|
pub sock: RwLock<SdlanSock>,
|
||||||
|
// peer's local v6 info
|
||||||
pub pub_key: RwLock<Vec<u8>>,
|
pub pub_key: RwLock<Vec<u8>>,
|
||||||
|
|
||||||
pub timeout: isize,
|
pub timeout: isize,
|
||||||
@ -127,6 +128,17 @@ pub struct SdlanSock {
|
|||||||
pub v6: [u8; 16],
|
pub v6: [u8; 16],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl SdlanSock {
|
||||||
|
pub fn deepcopy(&self) -> Self {
|
||||||
|
Self {
|
||||||
|
family: self.family,
|
||||||
|
port: self.port,
|
||||||
|
v4: self.v4,
|
||||||
|
v6: self.v6,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Serialize, Deserialize, PartialEq, sqlx::FromRow)]
|
#[derive(Debug, Serialize, Deserialize, PartialEq, sqlx::FromRow)]
|
||||||
pub struct V6Info {
|
pub struct V6Info {
|
||||||
pub port: u16,
|
pub port: u16,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user