ソースを参照

fix proto merging logic

Darien Raymond 8 年 前
コミット
973ce07db9
1 ファイル変更14 行追加3 行削除
  1. 14 3
      app/policy/config.go

+ 14 - 3
app/policy/config.go

@@ -2,8 +2,6 @@ package policy
 
 import (
 	"time"
-
-	"github.com/golang/protobuf/proto"
 )
 
 func (s *Second) Duration() time.Duration {
@@ -11,5 +9,18 @@ func (s *Second) Duration() time.Duration {
 }
 
 func (p *Policy) OverrideWith(another *Policy) {
-	proto.Merge(p, another)
+	if another.Timeout != nil {
+		if another.Timeout.Handshake != nil {
+			p.Timeout.Handshake = another.Timeout.Handshake
+		}
+		if another.Timeout.ConnectionIdle != nil {
+			p.Timeout.ConnectionIdle = another.Timeout.ConnectionIdle
+		}
+		if another.Timeout.UplinkOnly != nil {
+			p.Timeout.UplinkOnly = another.Timeout.UplinkOnly
+		}
+		if another.Timeout.DownlinkOnly != nil {
+			p.Timeout.DownlinkOnly = another.Timeout.DownlinkOnly
+		}
+	}
 }