mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-11-09 18:43:12 +00:00
Wireguard dial with context
This commit is contained in:
parent
416f2df11c
commit
9b6141b83f
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue