|
@@ -6,7 +6,7 @@ use std::result::Result;
|
|
|
use std::sync::Arc;
|
|
|
use std::time::Duration;
|
|
|
use tokio::io::{split, AsyncWriteExt, ReadHalf, WriteHalf};
|
|
|
-use tokio::net::{TcpListener, TcpStream};
|
|
|
+use tokio::net::{TcpSocket, TcpStream};
|
|
|
use tokio::sync::{mpsc, Notify, RwLock};
|
|
|
use tokio::time::{timeout_at, Instant};
|
|
|
use tokio_rustls::{rustls::PrivateKey, server::TlsStream, TlsAcceptor};
|
|
@@ -53,7 +53,11 @@ async fn main() -> Result<(), Box<dyn Error>> {
|
|
|
.with_single_cert(certs, key)?;
|
|
|
let acceptor = TlsAcceptor::from(Arc::new(config));
|
|
|
|
|
|
- let listener = TcpListener::bind(&listen_addr).await?;
|
|
|
+ let addr = listen_addr.parse().unwrap();
|
|
|
+ let socket = TcpSocket::new_v4()?;
|
|
|
+ socket.set_nodelay(true)?;
|
|
|
+ socket.bind(addr)?;
|
|
|
+ let listener = socket.listen(4096)?;
|
|
|
log!("listening,{}", listen_addr);
|
|
|
|
|
|
// Maps group name to the table of message channels.
|