fix peer config

This commit is contained in:
ginuerzh 2019-01-16 22:25:35 +08:00
parent 7c7a51ec02
commit 6ae4d5114e
3 changed files with 12 additions and 6 deletions

View File

@ -19,9 +19,9 @@ const (
)
type peerConfig struct {
Strategy string `json:"strategy"`
MaxFails int `json:"max_fails"`
FailTimeout time.Duration `json:"fail_timeout"`
Strategy string `json:"strategy"`
MaxFails int `json:"max_fails"`
FailTimeout time.Duration
period time.Duration // the period for live reloading
Nodes []string `json:"nodes"`
group *gost.NodeGroup

View File

@ -59,9 +59,12 @@ func (r *route) parseChain() (*gost.Chain, error) {
gost.WithStrategy(gost.NewStrategy(nodes[0].Get("strategy"))),
)
cfg := nodes[0].Get("peer")
f, err := os.Open(cfg)
if err == nil {
if cfg := nodes[0].Get("peer"); cfg != "" {
f, err := os.Open(cfg)
if err != nil {
return nil, err
}
peerCfg := newPeerConfig()
peerCfg.group = ngroup
peerCfg.baseNodes = nodes

3
ws.go
View File

@ -716,6 +716,9 @@ func generateChallengeKey() (string, error) {
return base64.StdEncoding.EncodeToString(p), nil
}
// TODO: due to the concurrency control in the websocket.Conn,
// a data race may be met when using with multiplexing.
// See: https://godoc.org/gopkg.in/gorilla/websocket.v1#hdr-Concurrency
type websocketConn struct {
conn *websocket.Conn
rb []byte