@cryptotaxi247 / kubo / commits / 9dc58639f

dont need coreos/semver yet

Henry committed Oct 16, 2014 at 13:00 UTC 9dc58639faec99ffa3ea6d5d4c4ef28bd000cd7e
3 files changed +19 -38
net/swarm/conn.go
+1 -1
@@ -215,7 +215,7 @@ func (s *Swarm) connVersionExchange(remote *conn.Conn) error {
215 }
216 }
217
218 - if !version.Compatible(myVersion.Convert(), remoteVersion.Convert()) {
218 + if !version.Compatible(myVersion, remoteVersion) {
219 remote.Close()
220 return errors.New("protocol missmatch")
221 }
net/version/version.go
+12 -27
@@ -1,38 +1,23 @@
1 package version
2
3 -import semver "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/coreos/go-semver/semver"
4 -
5 -var currentVersion = &semver.Version{
6 - Major: 0,
7 - Minor: 1,
8 - Patch: 0,
9 -}
3 +// currentVersion holds the current protocol version for a client running this code
4 +var currentVersion = NewSemVer(0, 0, 1)
5
6 // Current returns the current protocol version as a protobuf message
7 func Current() *SemVer {
13 - return toPBSemVer(currentVersion)
8 + return currentVersion
9 }
10
11 // Compatible checks wether two versions are compatible
17 -func Compatible(a, b semver.Version) bool {
18 - return !a.LessThan(b)
19 -}
20 -
21 -// toPBSemVar converts a coreos/semver to our protobuf SemVer
22 -func toPBSemVer(in *semver.Version) (out *SemVer) {
23 -
24 - return &SemVer{
25 - Major: &in.Major,
26 - Minor: &in.Minor,
27 - Patch: &in.Patch,
28 - }
12 +func Compatible(a, b *SemVer) bool {
13 + return *a.Major == *b.Major // protobuf fields are pointers
14 }
15
31 -// Convert our protobuf SemVer to a coreos/semver
32 -func (in SemVer) Convert() semver.Version {
33 - return semver.Version{
34 - Major: *in.Major,
35 - Minor: *in.Minor,
36 - Patch: *in.Patch,
37 - }
16 +// NewSemVer constructs a new protobuf SemVer
17 +func NewSemVer(major, minor, patch int64) *SemVer {
18 + s := new(SemVer)
19 + s.Major = &major
20 + s.Minor = &minor
21 + s.Patch = &patch
22 + return s
23 }
net/version/version_test.go
+6 -10
@@ -1,20 +1,16 @@
1 package version
2
3 -import (
4 - "testing"
5 -
6 - semver "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/coreos/go-semver/semver"
7 -)
3 +import "testing"
4
5 func TestCompatible(t *testing.T) {
6 tcases := []struct {
11 - a, b semver.Version
7 + a, b *SemVer
8 expected bool
9 }{
14 - {semver.Version{Major: 0}, semver.Version{Major: 0}, true},
15 - {semver.Version{Major: 1}, semver.Version{Major: 0}, true},
16 - {semver.Version{Major: 1}, semver.Version{Major: 1}, true},
17 - {semver.Version{Major: 0}, semver.Version{Major: 1}, false},
10 + {NewSemVer(0, 0, 0), NewSemVer(0, 0, 0), true},
11 + {NewSemVer(0, 0, 0), NewSemVer(1, 0, 0), false},
12 + {NewSemVer(1, 0, 0), NewSemVer(0, 0, 0), false},
13 + {NewSemVer(1, 0, 0), NewSemVer(1, 0, 0), true},
14 }
15
16 for i, tcase := range tcases {