summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShelikhoo <xiaokangwang@outlook.com>2023-10-18 16:48:59 +0100
committerShelikhoo <xiaokangwang@outlook.com>2023-10-24 17:43:32 +0100
commitf43da1d2d2cd35fcd2900f2da103c8acdbf3b69b (patch)
tree58d7edc984f215609b9294f9869a7f266a54ea2a
parent8b46e60553b9de34df12079906f72559361ea20d (diff)
downloadsnowflake-f43da1d2d2cd35fcd2900f2da103c8acdbf3b69b.tar.gz
snowflake-f43da1d2d2cd35fcd2900f2da103c8acdbf3b69b.zip
Add transport wrapper
-rw-r--r--common/proxy/client.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/common/proxy/client.go b/common/proxy/client.go
index cd1bd98..eb062f8 100644
--- a/common/proxy/client.go
+++ b/common/proxy/client.go
@@ -251,3 +251,20 @@ func (r *dnsResolver) lookupIPAddr(ctx context.Context, host string, ipv6 bool)
}
return returnedIPs, nil
}
+
+func NewTransportWrapper(sc *SocksClient, innerNet transport.Net) transport.Net {
+ return &transportWrapper{sc: sc, Net: innerNet}
+}
+
+type transportWrapper struct {
+ transport.Net
+ sc *SocksClient
+}
+
+func (t *transportWrapper) ListenPacket(network string, address string) (net.PacketConn, error) {
+ return t.sc.ListenPacket(network, nil)
+}
+
+func (t *transportWrapper) ResolveUDPAddr(network string, address string) (*net.UDPAddr, error) {
+ return t.sc.ResolveUDPAddr(network, address)
+}