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
p2p
go-p2p-swarm
Commits
541f98e5
Commit
541f98e5
authored
Nov 19, 2015
by
Jeromy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
make new stream calls accept a context
parent
464328f9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
6 additions
and
5 deletions
+6
-5
swarm.go
swarm.go
+3
-2
swarm_net.go
swarm_net.go
+2
-2
swarm_test.go
swarm_test.go
+1
-1
No files found.
swarm.go
View file @
541f98e5
...
...
@@ -192,16 +192,17 @@ func (s *Swarm) SetStreamHandler(handler inet.StreamHandler) {
}
// NewStreamWithPeer creates a new stream on any available connection to p
func
(
s
*
Swarm
)
NewStreamWithPeer
(
p
peer
.
ID
)
(
*
Stream
,
error
)
{
func
(
s
*
Swarm
)
NewStreamWithPeer
(
ctx
context
.
Context
,
p
peer
.
ID
)
(
*
Stream
,
error
)
{
// if we have no connections, try connecting.
if
len
(
s
.
ConnectionsToPeer
(
p
))
==
0
{
log
.
Debug
(
"Swarm: NewStreamWithPeer no connections. Attempting to connect..."
)
if
_
,
err
:=
s
.
Dial
(
s
.
Context
()
,
p
);
err
!=
nil
{
if
_
,
err
:=
s
.
Dial
(
ctx
,
p
);
err
!=
nil
{
return
nil
,
err
}
}
log
.
Debug
(
"Swarm: NewStreamWithPeer..."
)
// TODO: think about passing a context down to NewStreamWithGroup
st
,
err
:=
s
.
swarm
.
NewStreamWithGroup
(
p
)
return
wrapStream
(
st
),
err
}
...
...
swarm_net.go
View file @
541f98e5
...
...
@@ -132,9 +132,9 @@ func (n *Network) Connectedness(p peer.ID) inet.Connectedness {
// NewStream returns a new stream to given peer p.
// If there is no connection to p, attempts to create one.
func
(
n
*
Network
)
NewStream
(
p
peer
.
ID
)
(
inet
.
Stream
,
error
)
{
func
(
n
*
Network
)
NewStream
(
ctx
context
.
Context
,
p
peer
.
ID
)
(
inet
.
Stream
,
error
)
{
log
.
Debugf
(
"[%s] network opening stream to peer [%s]"
,
n
.
local
,
p
)
s
,
err
:=
n
.
Swarm
()
.
NewStreamWithPeer
(
p
)
s
,
err
:=
n
.
Swarm
()
.
NewStreamWithPeer
(
ctx
,
p
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
swarm_test.go
View file @
541f98e5
...
...
@@ -129,7 +129,7 @@ func SubtestSwarm(t *testing.T, SwarmNum int, MsgNum int) {
defer
wg
.
Done
()
// first, one stream per peer (nice)
stream
,
err
:=
s1
.
NewStreamWithPeer
(
p
)
stream
,
err
:=
s1
.
NewStreamWithPeer
(
ctx
,
p
)
if
err
!=
nil
{
errChan
<-
err
return
...
...
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