aboutsummaryrefslogtreecommitdiff
path: root/src/server/client_accept.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/client_accept.rs')
-rw-r--r--src/server/client_accept.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/server/client_accept.rs b/src/server/client_accept.rs
index afb2c398..ccfe7b1a 100644
--- a/src/server/client_accept.rs
+++ b/src/server/client_accept.rs
@@ -1,22 +1,23 @@
use std::io;
-use std::os::unix::net::UnixListener;
use std::sync::{atomic::AtomicBool, Arc};
+use interprocess::local_socket::traits::{Listener as _, Stream as _};
use tokio::sync::mpsc;
use tracing::{debug, error, warn};
+use crate::ipc::LocalListener;
use crate::server::client_transport::{self, ServerEvent};
/// Accepts pending thin-client connections and starts their handshake readers.
pub(crate) fn accept_pending_client_connections(
- listener: &UnixListener,
+ listener: &LocalListener,
next_client_id: &mut u64,
should_quit: &Arc<AtomicBool>,
server_event_tx: &mpsc::Sender<ServerEvent>,
) -> io::Result<()> {
loop {
match listener.accept() {
- Ok((stream, _addr)) => {
+ Ok(stream) => {
let client_id = *next_client_id;
*next_client_id = next_client_id.saturating_add(1);
@@ -53,10 +54,10 @@ pub(crate) fn accept_pending_client_connections(
///
/// During live handoff the old server must not let clients sit in the Unix
/// listener backlog waiting for a welcome frame that will never be sent.
-pub(crate) fn reject_pending_client_connections(listener: &UnixListener) -> io::Result<()> {
+pub(crate) fn reject_pending_client_connections(listener: &LocalListener) -> io::Result<()> {
loop {
match listener.accept() {
- Ok((_stream, _addr)) => {}
+ Ok(_stream) => {}
Err(ref err) if err.kind() == io::ErrorKind::WouldBlock => break,
Err(err) => {
error!(err = %err, "client listener reject failed");