Wireguard dial with context

This commit is contained in:
yuhan6665 2024-05-22 08:44:02 -04:00
parent 416f2df11c
commit 9b6141b83f
2 changed files with 5 additions and 3 deletions

View File

@ -123,12 +123,13 @@ func (bind *netBind) Close() error {
type netBindClient struct { type netBindClient struct {
netBind netBind
ctx context.Context
dialer internet.Dialer dialer internet.Dialer
reserved []byte reserved []byte
} }
func (bind *netBindClient) connectTo(endpoint *netEndpoint) error { func (bind *netBindClient) connectTo(endpoint *netEndpoint) error {
c, err := bind.dialer.Dial(context.Background(), endpoint.dst) c, err := bind.dialer.Dial(bind.ctx, endpoint.dst)
if err != nil { if err != nil {
return err return err
} }

View File

@ -76,7 +76,7 @@ func New(ctx context.Context, conf *DeviceConfig) (*Handler, error) {
}, nil }, nil
} }
func (h *Handler) processWireGuard(dialer internet.Dialer) (err error) { func (h *Handler) processWireGuard(ctx context.Context, dialer internet.Dialer) (err error) {
h.wgLock.Lock() h.wgLock.Lock()
defer h.wgLock.Unlock() defer h.wgLock.Unlock()
@ -108,6 +108,7 @@ func (h *Handler) processWireGuard(dialer internet.Dialer) (err error) {
}, },
workers: int(h.conf.NumWorkers), workers: int(h.conf.NumWorkers),
}, },
ctx: ctx,
dialer: dialer, dialer: dialer,
reserved: h.conf.Reserved, reserved: h.conf.Reserved,
} }
@ -135,7 +136,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte
ob.Name = "wireguard" ob.Name = "wireguard"
ob.CanSpliceCopy = 3 ob.CanSpliceCopy = 3
if err := h.processWireGuard(dialer); err != nil { if err := h.processWireGuard(ctx, dialer); err != nil {
return err return err
} }