Explorar o código

fix proto merging logic

Darien Raymond %!s(int64=8) %!d(string=hai) anos
pai
achega
973ce07db9
Modificáronse 1 ficheiros con 14 adicións e 3 borrados
  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
+		}
+	}
 }