Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mybee
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
mybee
Commits
226b12d1
Commit
226b12d1
authored
Feb 03, 2020
by
Petar Radovic
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
renamed handshake proto messages
parent
da8b085c
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
100 additions
and
99 deletions
+100
-99
handshake.go
pkg/p2p/libp2p/internal/handshake/handshake.go
+10
-9
handshake_test.go
pkg/p2p/libp2p/internal/handshake/handshake_test.go
+13
-13
handshake.pb.go
pkg/p2p/libp2p/internal/handshake/pb/handshake.pb.go
+74
-74
handshake.proto
pkg/p2p/libp2p/internal/handshake/pb/handshake.proto
+3
-3
No files found.
pkg/p2p/libp2p/internal/handshake/handshake.go
View file @
226b12d1
...
@@ -6,6 +6,7 @@ package handshake
...
@@ -6,6 +6,7 @@ package handshake
import
(
import
(
"fmt"
"fmt"
"github.com/ethersphere/bee/pkg/logging"
"github.com/ethersphere/bee/pkg/logging"
"github.com/ethersphere/bee/pkg/p2p"
"github.com/ethersphere/bee/pkg/p2p"
"github.com/ethersphere/bee/pkg/p2p/libp2p/internal/handshake/pb"
"github.com/ethersphere/bee/pkg/p2p/libp2p/internal/handshake/pb"
...
@@ -35,8 +36,8 @@ func New(overlay swarm.Address, networkID int32, logger logging.Logger) *Service
...
@@ -35,8 +36,8 @@ func New(overlay swarm.Address, networkID int32, logger logging.Logger) *Service
func
(
s
*
Service
)
Handshake
(
stream
p2p
.
Stream
)
(
i
*
Info
,
err
error
)
{
func
(
s
*
Service
)
Handshake
(
stream
p2p
.
Stream
)
(
i
*
Info
,
err
error
)
{
w
,
r
:=
protobuf
.
NewWriterAndReader
(
stream
)
w
,
r
:=
protobuf
.
NewWriterAndReader
(
stream
)
var
resp
pb
.
S
hakeHand
Ack
var
resp
pb
.
S
ynPlus
Ack
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
hakeHand
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
yn
{
Address
:
s
.
overlay
.
Bytes
(),
Address
:
s
.
overlay
.
Bytes
(),
NetworkID
:
s
.
networkID
,
NetworkID
:
s
.
networkID
,
});
err
!=
nil
{
});
err
!=
nil
{
...
@@ -47,18 +48,18 @@ func (s *Service) Handshake(stream p2p.Stream) (i *Info, err error) {
...
@@ -47,18 +48,18 @@ func (s *Service) Handshake(stream p2p.Stream) (i *Info, err error) {
return
nil
,
fmt
.
Errorf
(
"read message: %w"
,
err
)
return
nil
,
fmt
.
Errorf
(
"read message: %w"
,
err
)
}
}
if
err
:=
w
.
WriteMsg
(
&
pb
.
Ack
{
Address
:
resp
.
S
hakeHand
.
Address
});
err
!=
nil
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
Ack
{
Address
:
resp
.
S
yn
.
Address
});
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"ack: write message: %w"
,
err
)
return
nil
,
fmt
.
Errorf
(
"ack: write message: %w"
,
err
)
}
}
address
:=
swarm
.
NewAddress
(
resp
.
S
hakeHand
.
Address
)
address
:=
swarm
.
NewAddress
(
resp
.
S
yn
.
Address
)
s
.
logger
.
Tracef
(
"handshake finished for peer %s"
,
address
)
s
.
logger
.
Tracef
(
"handshake finished for peer %s"
,
address
)
return
&
Info
{
return
&
Info
{
Address
:
address
,
Address
:
address
,
NetworkID
:
resp
.
S
hakeHand
.
NetworkID
,
NetworkID
:
resp
.
S
yn
.
NetworkID
,
Light
:
resp
.
S
hakeHand
.
Light
,
Light
:
resp
.
S
yn
.
Light
,
},
nil
},
nil
}
}
...
@@ -66,13 +67,13 @@ func (s *Service) Handle(stream p2p.Stream) (i *Info, err error) {
...
@@ -66,13 +67,13 @@ func (s *Service) Handle(stream p2p.Stream) (i *Info, err error) {
w
,
r
:=
protobuf
.
NewWriterAndReader
(
stream
)
w
,
r
:=
protobuf
.
NewWriterAndReader
(
stream
)
defer
stream
.
Close
()
defer
stream
.
Close
()
var
req
pb
.
S
hakeHand
var
req
pb
.
S
yn
if
err
:=
r
.
ReadMsg
(
&
req
);
err
!=
nil
{
if
err
:=
r
.
ReadMsg
(
&
req
);
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"read message: %w"
,
err
)
return
nil
,
fmt
.
Errorf
(
"read message: %w"
,
err
)
}
}
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
hakeHand
Ack
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
ynPlus
Ack
{
S
hakeHand
:
&
pb
.
ShakeHand
{
S
yn
:
&
pb
.
Syn
{
Address
:
s
.
overlay
.
Bytes
(),
Address
:
s
.
overlay
.
Bytes
(),
NetworkID
:
s
.
networkID
,
NetworkID
:
s
.
networkID
,
},
},
...
...
pkg/p2p/libp2p/internal/handshake/handshake_test.go
View file @
226b12d1
...
@@ -41,8 +41,8 @@ func TestHandshake(t *testing.T) {
...
@@ -41,8 +41,8 @@ func TestHandshake(t *testing.T) {
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
w
,
r
:=
protobuf
.
NewWriterAndReader
(
stream2
)
w
,
r
:=
protobuf
.
NewWriterAndReader
(
stream2
)
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
hakeHand
Ack
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
ynPlus
Ack
{
S
hakeHand
:
&
pb
.
ShakeHand
{
S
yn
:
&
pb
.
Syn
{
Address
:
expectedInfo
.
Address
.
Bytes
(),
Address
:
expectedInfo
.
Address
.
Bytes
(),
NetworkID
:
expectedInfo
.
NetworkID
,
NetworkID
:
expectedInfo
.
NetworkID
,
Light
:
expectedInfo
.
Light
,
Light
:
expectedInfo
.
Light
,
...
@@ -64,7 +64,7 @@ func TestHandshake(t *testing.T) {
...
@@ -64,7 +64,7 @@ func TestHandshake(t *testing.T) {
}
}
})
})
t
.
Run
(
"ERROR -
shakehand
write error "
,
func
(
t
*
testing
.
T
)
{
t
.
Run
(
"ERROR -
Syn
write error "
,
func
(
t
*
testing
.
T
)
{
testErr
:=
errors
.
New
(
"test error"
)
testErr
:=
errors
.
New
(
"test error"
)
expectedErr
:=
fmt
.
Errorf
(
"write message: %w"
,
testErr
)
expectedErr
:=
fmt
.
Errorf
(
"write message: %w"
,
testErr
)
stream
:=
&
mock
.
StreamMock
{}
stream
:=
&
mock
.
StreamMock
{}
...
@@ -79,7 +79,7 @@ func TestHandshake(t *testing.T) {
...
@@ -79,7 +79,7 @@ func TestHandshake(t *testing.T) {
}
}
})
})
t
.
Run
(
"ERROR -
shakehand
read error "
,
func
(
t
*
testing
.
T
)
{
t
.
Run
(
"ERROR -
Syn
read error "
,
func
(
t
*
testing
.
T
)
{
testErr
:=
errors
.
New
(
"test error"
)
testErr
:=
errors
.
New
(
"test error"
)
expectedErr
:=
fmt
.
Errorf
(
"read message: %w"
,
testErr
)
expectedErr
:=
fmt
.
Errorf
(
"read message: %w"
,
testErr
)
stream
:=
mock
.
NewStream
(
nil
,
&
bytes
.
Buffer
{})
stream
:=
mock
.
NewStream
(
nil
,
&
bytes
.
Buffer
{})
...
@@ -110,8 +110,8 @@ func TestHandshake(t *testing.T) {
...
@@ -110,8 +110,8 @@ func TestHandshake(t *testing.T) {
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream2
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream2
)
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
hakeHand
Ack
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
ynPlus
Ack
{
S
hakeHand
:
&
pb
.
ShakeHand
{
S
yn
:
&
pb
.
Syn
{
Address
:
expectedInfo
.
Address
.
Bytes
(),
Address
:
expectedInfo
.
Address
.
Bytes
(),
NetworkID
:
expectedInfo
.
NetworkID
,
NetworkID
:
expectedInfo
.
NetworkID
,
Light
:
expectedInfo
.
Light
,
Light
:
expectedInfo
.
Light
,
...
@@ -157,7 +157,7 @@ func TestHandle(t *testing.T) {
...
@@ -157,7 +157,7 @@ func TestHandle(t *testing.T) {
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream2
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream2
)
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
hakeHand
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
yn
{
Address
:
node2Info
.
Address
.
Bytes
(),
Address
:
node2Info
.
Address
.
Bytes
(),
NetworkID
:
node2Info
.
NetworkID
,
NetworkID
:
node2Info
.
NetworkID
,
Light
:
node2Info
.
Light
,
Light
:
node2Info
.
Light
,
...
@@ -177,15 +177,15 @@ func TestHandle(t *testing.T) {
...
@@ -177,15 +177,15 @@ func TestHandle(t *testing.T) {
testInfo
(
t
,
*
res
,
node2Info
)
testInfo
(
t
,
*
res
,
node2Info
)
_
,
r
:=
protobuf
.
NewWriterAndReader
(
stream2
)
_
,
r
:=
protobuf
.
NewWriterAndReader
(
stream2
)
var
got
pb
.
S
hakeHand
Ack
var
got
pb
.
S
ynPlus
Ack
if
err
:=
r
.
ReadMsg
(
&
got
);
err
!=
nil
{
if
err
:=
r
.
ReadMsg
(
&
got
);
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
testInfo
(
t
,
nodeInfo
,
Info
{
testInfo
(
t
,
nodeInfo
,
Info
{
Address
:
swarm
.
NewAddress
(
got
.
S
hakeHand
.
Address
),
Address
:
swarm
.
NewAddress
(
got
.
S
yn
.
Address
),
NetworkID
:
got
.
S
hakeHand
.
NetworkID
,
NetworkID
:
got
.
S
yn
.
NetworkID
,
Light
:
got
.
S
hakeHand
.
Light
,
Light
:
got
.
S
yn
.
Light
,
})
})
})
})
...
@@ -211,7 +211,7 @@ func TestHandle(t *testing.T) {
...
@@ -211,7 +211,7 @@ func TestHandle(t *testing.T) {
stream
:=
mock
.
NewStream
(
&
buffer
,
&
buffer
)
stream
:=
mock
.
NewStream
(
&
buffer
,
&
buffer
)
stream
.
SetWriteErr
(
testErr
,
1
)
stream
.
SetWriteErr
(
testErr
,
1
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream
)
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
hakeHand
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
yn
{
Address
:
node1Addr
.
Bytes
(),
Address
:
node1Addr
.
Bytes
(),
NetworkID
:
0
,
NetworkID
:
0
,
Light
:
false
,
Light
:
false
,
...
@@ -244,7 +244,7 @@ func TestHandle(t *testing.T) {
...
@@ -244,7 +244,7 @@ func TestHandle(t *testing.T) {
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
stream2
:=
mock
.
NewStream
(
&
buffer2
,
&
buffer1
)
stream1
.
SetReadErr
(
testErr
,
1
)
stream1
.
SetReadErr
(
testErr
,
1
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream2
)
w
,
_
:=
protobuf
.
NewWriterAndReader
(
stream2
)
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
hakeHand
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
S
yn
{
Address
:
node2Info
.
Address
.
Bytes
(),
Address
:
node2Info
.
Address
.
Bytes
(),
NetworkID
:
node2Info
.
NetworkID
,
NetworkID
:
node2Info
.
NetworkID
,
Light
:
node2Info
.
Light
,
Light
:
node2Info
.
Light
,
...
...
pkg/p2p/libp2p/internal/handshake/pb/handshake.pb.go
View file @
226b12d1
This diff is collapsed.
Click to expand it.
pkg/p2p/libp2p/internal/handshake/pb/handshake.proto
View file @
226b12d1
...
@@ -5,14 +5,14 @@ syntax = "proto3";
...
@@ -5,14 +5,14 @@ syntax = "proto3";
package
pb
;
package
pb
;
message
S
hakeHand
{
message
S
yn
{
bytes
Address
=
1
;
bytes
Address
=
1
;
int32
NetworkID
=
2
;
int32
NetworkID
=
2
;
bool
Light
=
3
;
bool
Light
=
3
;
}
}
message
S
hakeHand
Ack
{
message
S
ynPlus
Ack
{
S
hakeHand
ShakeHand
=
1
;
S
yn
Syn
=
1
;
Ack
Ack
=
2
;
Ack
Ack
=
2
;
}
}
...
...
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