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-dms3
Commits
0078264a
Commit
0078264a
authored
Oct 18, 2014
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added to net/conn interface
parent
20d1d354
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
0 deletions
+50
-0
net/conn/conn.go
net/conn/conn.go
+25
-0
net/conn/interface.go
net/conn/interface.go
+9
-0
net/conn/secure_conn.go
net/conn/secure_conn.go
+16
-0
No files found.
net/conn/conn.go
View file @
0078264a
...
...
@@ -88,6 +88,21 @@ func (c *singleConn) close() error {
return
err
}
// ID is an identifier unique to this connection.
func
(
c
*
singleConn
)
ID
()
string
{
return
ID
(
c
)
}
// LocalMultiaddr is the Multiaddr on this side
func
(
c
*
singleConn
)
LocalMultiaddr
()
ma
.
Multiaddr
{
return
c
.
maconn
.
LocalMultiaddr
()
}
// RemoteMultiaddr is the Multiaddr on the remote side
func
(
c
*
singleConn
)
RemoteMultiaddr
()
ma
.
Multiaddr
{
return
c
.
maconn
.
RemoteMultiaddr
()
}
// LocalPeer is the Peer on this side
func
(
c
*
singleConn
)
LocalPeer
()
*
peer
.
Peer
{
return
c
.
local
...
...
@@ -108,6 +123,16 @@ func (c *singleConn) Out() chan<- []byte {
return
c
.
msgio
.
outgoing
.
MsgChan
}
// ID returns the
func
ID
(
c
Conn
)
string
{
l
:=
fmt
.
Sprintf
(
"%s/%s"
,
c
.
LocalMultiaddr
(),
c
.
LocalPeer
()
.
ID
)
r
:=
fmt
.
Sprintf
(
"%s/%s"
,
c
.
RemoteMultiaddr
(),
c
.
RemotePeer
()
.
ID
)
lh
:=
u
.
Hash
([]
byte
(
l
))
rh
:=
u
.
Hash
([]
byte
(
r
))
ch
:=
u
.
XOR
(
lh
,
rh
)
return
u
.
Key
(
ch
)
.
Pretty
()
}
// Dialer is an object that can open connections. We could have a "convenience"
// Dial function as before, but it would have many arguments, as dialing is
// no longer simple (need a peerstore, a local peer, a context, a network, etc)
...
...
net/conn/interface.go
View file @
0078264a
...
...
@@ -15,9 +15,18 @@ type Conn interface {
// implement ContextCloser too!
ContextCloser
// ID is an identifier unique to this connection.
ID
()
string
// LocalMultiaddr is the Multiaddr on this side
LocalMultiaddr
()
ma
.
Multiaddr
// LocalPeer is the Peer on this side
LocalPeer
()
*
peer
.
Peer
// RemoteMultiaddr is the Multiaddr on the remote side
RemoteMultiaddr
()
ma
.
Multiaddr
// RemotePeer is the Peer on the remote side
RemotePeer
()
*
peer
.
Peer
...
...
net/conn/secure_conn.go
View file @
0078264a
...
...
@@ -4,6 +4,7 @@ import (
"errors"
context
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
ma
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
spipe
"github.com/jbenet/go-ipfs/crypto/spipe"
peer
"github.com/jbenet/go-ipfs/peer"
...
...
@@ -92,6 +93,21 @@ func (c *secureConn) close() error {
return
err
}
// ID is an identifier unique to this connection.
func
(
c
*
secureConn
)
ID
()
string
{
return
ID
(
c
)
}
// LocalMultiaddr is the Multiaddr on this side
func
(
c
*
secureConn
)
LocalMultiaddr
()
ma
.
Multiaddr
{
return
c
.
insecure
.
LocalMultiaddr
()
}
// RemoteMultiaddr is the Multiaddr on the remote side
func
(
c
*
secureConn
)
RemoteMultiaddr
()
ma
.
Multiaddr
{
return
c
.
insecure
.
RemoteMultiaddr
()
}
// LocalPeer is the Peer on this side
func
(
c
*
secureConn
)
LocalPeer
()
*
peer
.
Peer
{
return
c
.
insecure
.
LocalPeer
()
...
...
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