Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-unixfs
Commits
9dc58639
Commit
9dc58639
authored
10 years ago
by
Henry
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dont need coreos/semver yet
parent
78eb3493
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
38 deletions
+19
-38
net/swarm/conn.go
net/swarm/conn.go
+1
-1
net/version/version.go
net/version/version.go
+12
-27
net/version/version_test.go
net/version/version_test.go
+6
-10
No files found.
net/swarm/conn.go
View file @
9dc58639
...
...
@@ -215,7 +215,7 @@ func (s *Swarm) connVersionExchange(remote *conn.Conn) error {
}
}
if
!
version
.
Compatible
(
myVersion
.
Convert
()
,
remoteVersion
.
Convert
()
)
{
if
!
version
.
Compatible
(
myVersion
,
remoteVersion
)
{
remote
.
Close
()
return
errors
.
New
(
"protocol missmatch"
)
}
...
...
This diff is collapsed.
Click to expand it.
net/version/version.go
View file @
9dc58639
package
version
import
semver
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/coreos/go-semver/semver"
var
currentVersion
=
&
semver
.
Version
{
Major
:
0
,
Minor
:
1
,
Patch
:
0
,
}
// currentVersion holds the current protocol version for a client running this code
var
currentVersion
=
NewSemVer
(
0
,
0
,
1
)
// Current returns the current protocol version as a protobuf message
func
Current
()
*
SemVer
{
return
toPBSemVer
(
currentVersion
)
return
currentVersion
}
// Compatible checks wether two versions are compatible
func
Compatible
(
a
,
b
semver
.
Version
)
bool
{
return
!
a
.
LessThan
(
b
)
}
// toPBSemVar converts a coreos/semver to our protobuf SemVer
func
toPBSemVer
(
in
*
semver
.
Version
)
(
out
*
SemVer
)
{
return
&
SemVer
{
Major
:
&
in
.
Major
,
Minor
:
&
in
.
Minor
,
Patch
:
&
in
.
Patch
,
}
func
Compatible
(
a
,
b
*
SemVer
)
bool
{
return
*
a
.
Major
==
*
b
.
Major
// protobuf fields are pointers
}
//
Convert our protobuf SemVer to a coreos/semv
er
func
(
in
SemVer
)
Convert
()
semver
.
Version
{
return
semver
.
Version
{
Major
:
*
in
.
M
ajor
,
Minor
:
*
in
.
M
inor
,
Patch
:
*
in
.
P
atch
,
}
//
NewSemVer constructs a new protobuf SemV
er
func
New
SemVer
(
major
,
minor
,
patch
int64
)
*
SemVer
{
s
:=
new
(
SemVer
)
s
.
Major
=
&
m
ajor
s
.
Minor
=
&
m
inor
s
.
Patch
=
&
p
atch
return
s
}
This diff is collapsed.
Click to expand it.
net/version/version_test.go
View file @
9dc58639
package
version
import
(
"testing"
semver
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/coreos/go-semver/semver"
)
import
"testing"
func
TestCompatible
(
t
*
testing
.
T
)
{
tcases
:=
[]
struct
{
a
,
b
semver
.
Version
a
,
b
*
SemVer
expected
bool
}{
{
semver
.
Version
{
Major
:
0
}
,
semver
.
Version
{
Major
:
0
}
,
true
},
{
semver
.
Version
{
Major
:
1
},
semver
.
Version
{
Major
:
0
}
,
tru
e
},
{
semver
.
Version
{
Major
:
1
},
semver
.
Version
{
Major
:
1
},
tru
e
},
{
semver
.
Version
{
Major
:
0
}
,
semver
.
Version
{
Major
:
1
},
fals
e
},
{
NewSemVer
(
0
,
0
,
0
),
NewSemVer
(
0
,
0
,
0
)
,
true
},
{
NewSemVer
(
0
,
0
,
0
),
NewSemVer
(
1
,
0
,
0
),
fals
e
},
{
NewSemVer
(
1
,
0
,
0
),
NewSemVer
(
0
,
0
,
0
),
fals
e
},
{
NewSemVer
(
1
,
0
,
0
)
,
NewSemVer
(
1
,
0
,
0
),
tru
e
},
}
for
i
,
tcase
:=
range
tcases
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment