simplify interface

pull/2034/head
v2ray 2016-07-26 17:25:13 +02:00
parent ca0ae50e62
commit 347ae8fd75
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
1 changed files with 15 additions and 11 deletions

View File

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