Add CanonicalSocketAddr struct (#49)

* Add CanonicalSocketAddr struct to aquatic_common, use in aquatic_udp

* udp_bench: fix build error by using CanonicalSocketAddr
This commit is contained in:
Joakim Frostegård 2022-02-02 22:34:54 +01:00 committed by GitHub
parent f7e0f61119
commit 91dcd3de4d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 92 additions and 65 deletions

View file

@ -1,9 +1,10 @@
use std::collections::BTreeMap;
use std::hash::Hash;
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr};
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
use std::sync::atomic::AtomicUsize;
use std::sync::Arc;
use aquatic_common::CanonicalSocketAddr;
use crossbeam_channel::{Sender, TrySendError};
use aquatic_common::access_list::AccessListArcSwap;
@ -68,13 +69,13 @@ impl RequestWorkerIndex {
pub struct ConnectedRequestSender {
index: SocketWorkerIndex,
senders: Vec<Sender<(SocketWorkerIndex, ConnectedRequest, SocketAddr)>>,
senders: Vec<Sender<(SocketWorkerIndex, ConnectedRequest, CanonicalSocketAddr)>>,
}
impl ConnectedRequestSender {
pub fn new(
index: SocketWorkerIndex,
senders: Vec<Sender<(SocketWorkerIndex, ConnectedRequest, SocketAddr)>>,
senders: Vec<Sender<(SocketWorkerIndex, ConnectedRequest, CanonicalSocketAddr)>>,
) -> Self {
Self { index, senders }
}
@ -83,7 +84,7 @@ impl ConnectedRequestSender {
&self,
index: RequestWorkerIndex,
request: ConnectedRequest,
addr: SocketAddr,
addr: CanonicalSocketAddr,
) {
match self.senders[index.0].try_send((self.index, request, addr)) {
Ok(()) => {}
@ -98,11 +99,11 @@ impl ConnectedRequestSender {
}
pub struct ConnectedResponseSender {
senders: Vec<Sender<(ConnectedResponse, SocketAddr)>>,
senders: Vec<Sender<(ConnectedResponse, CanonicalSocketAddr)>>,
}
impl ConnectedResponseSender {
pub fn new(senders: Vec<Sender<(ConnectedResponse, SocketAddr)>>) -> Self {
pub fn new(senders: Vec<Sender<(ConnectedResponse, CanonicalSocketAddr)>>) -> Self {
Self { senders }
}
@ -110,7 +111,7 @@ impl ConnectedResponseSender {
&self,
index: SocketWorkerIndex,
response: ConnectedResponse,
addr: SocketAddr,
addr: CanonicalSocketAddr,
) {
match self.senders[index.0].try_send((response, addr)) {
Ok(()) => {}