@@ -25,9 +25,11 @@ use tracing::{trace, Instrument as _};
2525pub mod tcp;
2626pub mod udp;
2727
28- // This trait is a temporary solution to abstract local_addr() method until we implement the handshake provider
29- pub trait Handshake : AsRef < secret :: Map > + Clone {
28+ // This trait is a temporary solution to abstract local_addr and map methods until we implement the handshake provider
29+ pub trait Handshake : Clone {
3030 fn local_addr ( & self ) -> SocketAddr ;
31+
32+ fn map ( & self ) -> & secret:: Map ;
3133}
3234
3335#[ derive( Clone ) ]
@@ -56,7 +58,7 @@ impl<H: Handshake + Clone, S: event::Subscriber + Clone> Server<H, S> {
5658 }
5759
5860 pub fn drop_state ( & self ) {
59- self . handshake . as_ref ( ) . drop_state ( )
61+ self . handshake . map ( ) . drop_state ( )
6062 }
6163
6264 pub fn handshake_state ( & self ) -> & H {
@@ -225,7 +227,7 @@ impl Builder {
225227
226228 env = env. with_socket_options ( options) ;
227229
228- let mut pool = udp_pool:: Config :: new ( handshake. as_ref ( ) . clone ( ) ) ;
230+ let mut pool = udp_pool:: Config :: new ( handshake. map ( ) . clone ( ) ) ;
229231
230232 pool. reuse_port = concurrency > 1 ;
231233 pool. accept_flavor = self . accept_flavor ;
@@ -443,7 +445,7 @@ impl<H: Handshake + Clone, S: event::Subscriber + Clone> Start<'_, H, S> {
443445 socket,
444446 & self . stream_sender ,
445447 & self . server . env ,
446- self . server . handshake . as_ref ( ) ,
448+ self . server . handshake . map ( ) ,
447449 self . accept_flavor ,
448450 )
449451 . run ( ) ;
@@ -474,7 +476,7 @@ impl<H: Handshake + Clone, S: event::Subscriber + Clone> Start<'_, H, S> {
474476 socket,
475477 & self . stream_sender ,
476478 & self . server . env ,
477- self . server . handshake . as_ref ( ) ,
479+ self . server . handshake . map ( ) ,
478480 self . backlog ,
479481 self . accept_flavor ,
480482 self . linger ,
0 commit comments