v2ray 9 rokov pred
rodič
commit
347ae8fd75
1 zmenil súbory, kde vykonal 11 pridanie a 7 odobranie
  1. 11 7
      transport/internet/system_dialer.go

+ 11 - 7
transport/internet/system_dialer.go

@@ -49,23 +49,27 @@ type SimpleSystemDialer struct {
 	adapter SystemDialerAdapter
 }
 
+func WithAdapter(dialer SystemDialerAdapter) SystemDialer {
+	return &SimpleSystemDialer{
+		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
 }
 
-func UseAlternativeSimpleSystemDialer(dialer SystemDialerAdapter) {
-	effectiveSystemDialer = &SimpleSystemDialer{
-		adapter: dialer,
-	}
-}
-
+// SubstituteDialer replaces the current system dialer with a given one.
+// Caller must ensure there is no race condition.
 // @Deprecated: Use UseAlternativeSimpleSystemDialer.
 func SubstituteDialer(dialer SystemDialerAdapter) error {
-	UseAlternativeSimpleSystemDialer(dialer)
+	UseAlternativeSystemDialer(WithAdapter(dialer))
 	return nil
 }