glider/forwarder.go
nadoo 652d49182a 1. general: restructured codes;
2. rule: add dnsserver to ip rule map;
3. dns: add DNSAnswerHandler so we can define a custom handler when a domain resolved
2017-08-23 16:35:39 +08:00

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)
}