|
|
@@ -108,14 +108,15 @@ func NewHandler(ctx context.Context, config *core.OutboundHandlerConfig) (outbou
|
|
|
h.mux = &mux.ClientManager{
|
|
|
Enabled: h.senderSettings.MultiplexSettings.Enabled,
|
|
|
Picker: &mux.IncrementalWorkerPicker{
|
|
|
- Factory: &mux.DialingWorkerFactory{
|
|
|
- Proxy: proxyHandler,
|
|
|
- Dialer: h,
|
|
|
- Strategy: mux.ClientStrategy{
|
|
|
+ Factory: mux.NewDialingWorkerFactory(
|
|
|
+ ctx,
|
|
|
+ proxyHandler,
|
|
|
+ h,
|
|
|
+ mux.ClientStrategy{
|
|
|
MaxConcurrency: config.Concurrency,
|
|
|
MaxConnection: 128,
|
|
|
},
|
|
|
- },
|
|
|
+ ),
|
|
|
},
|
|
|
}
|
|
|
}
|
|
|
@@ -199,7 +200,7 @@ func (h *Handler) Dial(ctx context.Context, dest net.Destination) (internet.Conn
|
|
|
if h.senderSettings != nil && h.senderSettings.ProxySettings != nil && h.senderSettings.ProxySettings.HasTag() && h.senderSettings.ProxySettings.TransportLayerProxy {
|
|
|
tag := h.senderSettings.ProxySettings.Tag
|
|
|
newError("transport layer proxying to ", tag, " for dest ", dest).AtDebug().WriteToLog(session.ExportIDToError(ctx))
|
|
|
- session.SetTransportLayerProxyTagToContext(ctx, tag)
|
|
|
+ ctx = session.SetTransportLayerProxyTagToContext(ctx, tag)
|
|
|
}
|
|
|
|
|
|
conn, err := internet.Dial(ctx, dest, h.streamSettings)
|