]> git.lizzy.rs Git - connect-rs.git/blobdiff - src/tls/server.rs
working tls examples
[connect-rs.git] / src / tls / server.rs
index 66e4206dcb844a67ffc4088ced0895cc0ba4a0de..64e44c97512c961927973f85c914a796cbeb6d68 100644 (file)
@@ -1,5 +1,5 @@
-use crate::Connection;
 use crate::tls::TlsConnectionMetadata;
+use crate::Connection;
 use async_std::net::*;
 use async_std::pin::Pin;
 use async_std::prelude::*;
@@ -16,7 +16,10 @@ pub struct TlsServer {
 }
 
 impl TlsServer {
-    pub fn new<A: ToSocketAddrs + std::fmt::Display>(ip_addrs: A, acceptor: TlsAcceptor) -> anyhow::Result<Self> {
+    pub fn new<A: ToSocketAddrs + std::fmt::Display>(
+        ip_addrs: A,
+        acceptor: TlsAcceptor,
+    ) -> anyhow::Result<Self> {
         let listener = task::block_on(TcpListener::bind(ip_addrs))?;
         info!("Started TLS server at {}", listener.local_addr()?);
 
@@ -33,18 +36,22 @@ impl Stream for TlsServer {
 
     fn poll_next(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
         if let Some(Ok(tcp_stream)) = futures::executor::block_on(self.listener.incoming().next()) {
-            let local_addr = tcp_stream.local_addr().expect(
-                "Local address could not be retrieved",
-            );
+            let local_addr = tcp_stream
+                .local_addr()
+                .expect("Local address could not be retrieved");
 
-            let peer_addr = tcp_stream.peer_addr().expect(
-                "Peer address could not be retrieved",
-            );
+            let peer_addr = tcp_stream
+                .peer_addr()
+                .expect("Peer address could not be retrieved");
             debug!("Received connection attempt from {}", peer_addr);
 
             if let Ok(tls_stream) = futures::executor::block_on(self.acceptor.accept(tcp_stream)) {
                 debug!("Established TLS connection from {}", peer_addr);
-                Poll::Ready(Some(Connection::from(TlsConnectionMetadata::Server{ local_addr, peer_addr, stream: tls_stream })))
+                Poll::Ready(Some(Connection::from(TlsConnectionMetadata::Server {
+                    local_addr,
+                    peer_addr,
+                    stream: tls_stream,
+                })))
             } else {
                 debug!("Could not encrypt connection with TLS from {}", peer_addr);
                 Poll::Pending