@@ -276,6 +276,7 @@ func (d *RDial) AnnounceUDP(network, local string) (*net.UDPConn, error) {
276
276
return AnnounceUDP (d , network , local )
277
277
}
278
278
279
+ // AnnounceUDP announces the local address. network must be "udp" or "udp4" or "udp6".
279
280
func AnnounceUDP (d RDialer , network , local string ) (* net.UDPConn , error ) {
280
281
if c , err := d .Announce (network , local ); err != nil {
281
282
return nil , err
@@ -295,14 +296,15 @@ func (d *RDial) AcceptTCP(network string, local string) (*net.TCPListener, error
295
296
return AcceptTCP (d , network , local )
296
297
}
297
298
298
- func AcceptTCP (d RDialer , network string , local string ) (* net.TCPListener , error ) {
299
- if ln , err := d .Accept (network , local ); err != nil {
299
+ // AcceptTCP creates a listener on localaddr. network must be "tcp" or "tcp4" or "tcp6".
300
+ func AcceptTCP (d RDialer , network string , localaddr string ) (* net.TCPListener , error ) {
301
+ if ln , err := d .Accept (network , localaddr ); err != nil {
300
302
return nil , err
301
303
} else if tl , ok := ln .(* net.TCPListener ); ok {
302
304
return tl , nil
303
305
} else {
304
306
log .T ("xdial: AcceptTCP: (%s) from %s, %T is not %T (ok? %t); other errs: %v" ,
305
- d .ID (), local , ln , tl , ok , err )
307
+ d .ID (), localaddr , ln , tl , ok , err )
306
308
clos (ln )
307
309
return nil , errNoTCPMux
308
310
}
0 commit comments