mirror of https://github.com/v2ray/v2ray-core
simplify interface
parent
ca0ae50e62
commit
347ae8fd75
|
@ -49,23 +49,27 @@ type SimpleSystemDialer struct {
|
||||||
adapter SystemDialerAdapter
|
adapter SystemDialerAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *SimpleSystemDialer) Dial(src v2net.Address, dest v2net.Destination) (net.Conn, error) {
|
func WithAdapter(dialer SystemDialerAdapter) SystemDialer {
|
||||||
return this.adapter.Dial(dest.Network().String(), dest.NetAddr())
|
return &SimpleSystemDialer{
|
||||||
}
|
|
||||||
|
|
||||||
func UseAlternativeSystemDialer(dialer SystemDialer) {
|
|
||||||
effectiveSystemDialer = dialer
|
|
||||||
}
|
|
||||||
|
|
||||||
func UseAlternativeSimpleSystemDialer(dialer SystemDialerAdapter) {
|
|
||||||
effectiveSystemDialer = &SimpleSystemDialer{
|
|
||||||
adapter: dialer,
|
adapter: dialer,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *SimpleSystemDialer) Dial(src v2net.Address, dest v2net.Destination) (net.Conn, error) {
|
||||||
|
return this.adapter.Dial(dest.Network().String(), dest.NetAddr())
|
||||||
|
}
|
||||||
|
|
||||||
|
// UseAlternativeSystemDialer replaces the current system dialer with a given one.
|
||||||
|
// Caller must ensure there is no race condition.
|
||||||
|
func UseAlternativeSystemDialer(dialer SystemDialer) {
|
||||||
|
effectiveSystemDialer = dialer
|
||||||
|
}
|
||||||
|
|
||||||
|
// SubstituteDialer replaces the current system dialer with a given one.
|
||||||
|
// Caller must ensure there is no race condition.
|
||||||
// @Deprecated: Use UseAlternativeSimpleSystemDialer.
|
// @Deprecated: Use UseAlternativeSimpleSystemDialer.
|
||||||
func SubstituteDialer(dialer SystemDialerAdapter) error {
|
func SubstituteDialer(dialer SystemDialerAdapter) error {
|
||||||
UseAlternativeSimpleSystemDialer(dialer)
|
UseAlternativeSystemDialer(WithAdapter(dialer))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue