From b58583416b944207bc4064c03a73367551872d15 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 17 Jul 2016 18:33:50 +0200 Subject: Duration --- bencode/bdecode.go | 2 ++ tracker/messages.go | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bencode/bdecode.go b/bencode/bdecode.go index e542f9b..0b4fe75 100644 --- a/bencode/bdecode.go +++ b/bencode/bdecode.go @@ -121,6 +121,8 @@ func (d *decodeState) unmarshalInt(v reflect.Value) error { case time.Time: t := time.Unix(i, 0) v.Set(reflect.ValueOf(t)) + case time.Duration: + v.SetInt(i * int64(time.Second)) case bool: v.SetBool(i == 1) default: diff --git a/tracker/messages.go b/tracker/messages.go index d4b71d9..970c420 100644 --- a/tracker/messages.go +++ b/tracker/messages.go @@ -44,7 +44,7 @@ type Response struct { FalureReason string `bencode:"failure reason"` Incomplete int `bencode:"incomplete"` Interval time.Duration `bencode:"interval,seconds"` - MinInterval int `bencode:"min interval"` + MinInterval time.Duration `bencode:"min interval"` Peers []byte `bencode:"peers"` // can be []byte or []Peer Peers6 []byte `bencode:"peers6"` TrackerId string `bencode:"tracker id"` -- cgit v1.2.3