Fixed some network errors.
This commit is contained in:
+2
-2
@@ -175,7 +175,7 @@ impl DnsServer for DnsUdpServer {
|
|||||||
/// This method takes ownership of the server, preventing the method from being called multiple times.
|
/// This method takes ownership of the server, preventing the method from being called multiple times.
|
||||||
fn run_server(self) -> Result<()> {
|
fn run_server(self) -> Result<()> {
|
||||||
// Bind the socket
|
// Bind the socket
|
||||||
let socket = UdpSocket::bind(("[::]", self.context.dns_port))?;
|
let socket = UdpSocket::bind(("::", self.context.dns_port))?;
|
||||||
|
|
||||||
// Spawn threads for handling requests
|
// Spawn threads for handling requests
|
||||||
for thread_id in 0..self.thread_count {
|
for thread_id in 0..self.thread_count {
|
||||||
@@ -290,7 +290,7 @@ impl DnsTcpServer {
|
|||||||
|
|
||||||
impl DnsServer for DnsTcpServer {
|
impl DnsServer for DnsTcpServer {
|
||||||
fn run_server(mut self) -> Result<()> {
|
fn run_server(mut self) -> Result<()> {
|
||||||
let socket = TcpListener::bind(("[::]", self.context.dns_port))?;
|
let socket = TcpListener::bind(("::", self.context.dns_port))?;
|
||||||
|
|
||||||
// Spawn threads for handling requests, and create the channels
|
// Spawn threads for handling requests, and create the channels
|
||||||
for thread_id in 0..self.thread_count {
|
for thread_id in 0..self.thread_count {
|
||||||
|
|||||||
+5
-2
@@ -168,8 +168,11 @@ fn handle_connection_event(context: Arc<Mutex<Context>>, peers: &mut Peers, regi
|
|||||||
Err(_) => { return Ok(false); }
|
Err(_) => { return Ok(false); }
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Consider connection as unreliable
|
// Try to reregister connection
|
||||||
return Ok(false);
|
let peer = peers.get_mut_peer(&event.token()).expect("Error getting peer for connection");
|
||||||
|
let mut stream = peer.get_stream();
|
||||||
|
registry.reregister(stream, event.token(), Interest::READABLE);
|
||||||
|
return Ok(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user