Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
0078264a
提交
0078264a
authored
10月 18, 2014
作者:
Juan Batiz-Benet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
added to net/conn interface
上级
20d1d354
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
50 行增加
和
0 行删除
+50
-0
conn.go
net/conn/conn.go
+25
-0
interface.go
net/conn/interface.go
+9
-0
secure_conn.go
net/conn/secure_conn.go
+16
-0
没有找到文件。
net/conn/conn.go
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
()
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论