fix: 携程溢出、优化若干

This commit is contained in:
Mmx
2022-01-11 12:30:32 +08:00
parent a240165eed
commit 8b006e77af
12 changed files with 77 additions and 32 deletions

View File

@@ -6,10 +6,13 @@ import (
"github.com/Mmx233/config"
"log"
"os"
"time"
)
var Config srunModels.Config
var Timeout time.Duration
func init() {
initFlags()
@@ -48,4 +51,7 @@ func init() {
log.Println("读取配置文件失败:\n", e.Error())
os.Exit(1)
}
Timeout = time.Duration(Config.Settings.Timeout) * time.Second
initTransport()
}

37
global/transport.go Normal file
View File

@@ -0,0 +1,37 @@
package global
import (
"github.com/Mmx233/tool"
"net"
"net/http"
)
var transport *http.Transport
var transports map[net.Addr]*http.Transport
func Transports(addr net.Addr) *http.Transport {
if transport != nil {
return transport
}
if transport, ok := transports[addr]; ok {
return transport
} else {
transport = tool.HTTP.GenTransport(&tool.GenTransport{
Timeout: Timeout,
LocalAddr: addr,
})
transports[addr] = transport
return transport
}
}
func initTransport() {
if Config.Settings.Interfaces == "" {
transport = tool.HTTP.GenTransport(&tool.GenTransport{
Timeout: Timeout,
})
} else {
transports = make(map[net.Addr]*http.Transport, 0)
}
}