mirror of
https://github.com/nadoo/glider.git
synced 2025-02-24 01:45:39 +08:00
25 lines
436 B
Go
25 lines
436 B
Go
![]() |
package main
|
||
|
|
||
|
import "net"
|
||
|
|
||
|
// Forwarder .
|
||
|
type Forwarder struct {
|
||
|
addr string
|
||
|
cDialer Dialer
|
||
|
}
|
||
|
|
||
|
// NewForwarder .
|
||
|
func NewForwarder(addr string, cDialer Dialer) *Forwarder {
|
||
|
if cDialer == nil {
|
||
|
cDialer = Direct
|
||
|
}
|
||
|
|
||
|
return &Forwarder{addr: addr, cDialer: cDialer}
|
||
|
}
|
||
|
|
||
|
func (p *Forwarder) Addr() string { return p.addr }
|
||
|
|
||
|
func (p *Forwarder) Dial(network, addr string) (net.Conn, error) {
|
||
|
return p.cDialer.Dial(network, addr)
|
||
|
}
|