@@ -554,6 +554,46 @@ impl TcpStream {
554554        self . 0 . ttl ( ) 
555555    } 
556556
557+     /// Sets the value for the `IPV6_UNICAST_HOPS` option on this socket. 
558+ /// 
559+ /// This value sets the unicast hop limit field that is used in every packet 
560+ /// sent from this socket. 
561+ /// 
562+ /// # Examples 
563+ /// 
564+ /// ```no_run 
565+ /// #![feature(ipv6_hop_limit)] 
566+ /// use std::net::TcpStream; 
567+ /// 
568+ /// let stream = TcpStream::connect("[::1]:12345") 
569+ ///                        .expect("Couldn't connect to the server..."); 
570+ /// stream.set_hop_limit_v6(88).expect("set_hop_limit_v6 call failed"); 
571+ /// ``` 
572+ #[ unstable( feature = "ipv6_hop_limit" ,  issue = "139166" ) ]  
573+     pub  fn  set_hop_limit_v6 ( & self ,  limit :  u8 )  -> io:: Result < ( ) >  { 
574+         self . 0 . set_hop_limit_v6 ( limit) 
575+     } 
576+ 
577+     /// Gets the value of the `IPV6_UNICAST_HOPS` option on this socket. 
578+ /// 
579+ /// For more information about this option, see [`TcpStream::set_hop_limit_v6`]. 
580+ /// 
581+ /// # Examples 
582+ /// 
583+ /// ```no_run 
584+ /// #![feature(ipv6_hop_limit)] 
585+ /// use std::net::TcpStream; 
586+ /// 
587+ /// let stream = TcpStream::connect("[::1]:12345") 
588+ ///                        .expect("Couldn't connect to the server..."); 
589+ /// stream.set_hop_limit_v6(88).expect("set_hop_limit_v6 call failed"); 
590+ /// assert_eq!(stream.hop_limit_v6().unwrap(), 88); 
591+ /// ``` 
592+ #[ unstable( feature = "ipv6_hop_limit" ,  issue = "139166" ) ]  
593+     pub  fn  hop_limit_v6 ( & self )  -> io:: Result < u8 >  { 
594+         self . 0 . hop_limit_v6 ( ) 
595+     } 
596+ 
557597    /// Gets the value of the `SO_ERROR` option on this socket. 
558598/// 
559599/// This will retrieve the stored error in the underlying socket, clearing 
@@ -948,6 +988,44 @@ impl TcpListener {
948988        self . 0 . ttl ( ) 
949989    } 
950990
991+     /// Sets the value for the `IPV6_UNICAST_HOPS` option on this socket. 
992+ /// 
993+ /// This value sets the unicast hop limit field that is used in every packet 
994+ /// sent from this socket. 
995+ /// 
996+ /// # Examples 
997+ /// 
998+ /// ```no_run 
999+ /// #![feature(ipv6_hop_limit)] 
1000+ /// use std::net::TcpListener; 
1001+ /// 
1002+ /// let listener = TcpListener::bind("[::1]:12345").unwrap(); 
1003+ /// listener.set_hop_limit_v6(88).expect("set_hop_limit_v6 call failed"); 
1004+ /// ``` 
1005+ #[ unstable( feature = "ipv6_hop_limit" ,  issue = "139166" ) ]  
1006+     pub  fn  set_hop_limit_v6 ( & self ,  limit :  u8 )  -> io:: Result < ( ) >  { 
1007+         self . 0 . set_hop_limit_v6 ( limit) 
1008+     } 
1009+ 
1010+     /// Gets the value of the `IPV6_UNICAST_HOPS` option on this socket. 
1011+ /// 
1012+ /// For more information about this option, see [`TcpListener::set_hop_limit_v6`]. 
1013+ /// 
1014+ /// # Examples 
1015+ /// 
1016+ /// ```no_run 
1017+ /// #![feature(ipv6_hop_limit)] 
1018+ /// use std::net::TcpListener; 
1019+ /// 
1020+ /// let listener = TcpListener::bind("[::1]:12345").unwrap(); 
1021+ /// listener.set_hop_limit_v6(88).expect("set_hop_limit_v6 call failed"); 
1022+ /// assert_eq!(listener.hop_limit_v6().unwrap(), 88); 
1023+ /// ``` 
1024+ #[ unstable( feature = "ipv6_hop_limit" ,  issue = "139166" ) ]  
1025+     pub  fn  hop_limit_v6 ( & self )  -> io:: Result < u8 >  { 
1026+         self . 0 . hop_limit_v6 ( ) 
1027+     } 
1028+ 
9511029    #[ stable( feature = "net2_mutators" ,  since = "1.9.0" ) ]  
9521030    #[ deprecated( since = "1.16.0" ,  note = "this option can only be set before the socket is bound" ) ]  
9531031    #[ allow( missing_docs) ]  
0 commit comments