Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
c814dd03
提交
c814dd03
authored
7月 24, 2014
作者:
Juan Batiz-Benet
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #8 from toqueteos/master
Fix #1 build errors + gofmt
上级
1fb29a29
4b06adf7
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
19 行增加
和
23 行删除
+19
-23
bitswap.go
bitswap/bitswap.go
+4
-3
interface.go
netmux/interface.go
+12
-12
netmux.go
netmux/netmux.go
+3
-8
没有找到文件。
bitswap/bitswap.go
浏览文件 @
c814dd03
package
bitswap
import
(
peer
"github.com/jbenet/go-ipfs/peer"
"github.com/jbenet/go-ipfs/blocks"
"github.com/jbenet/go-multihash"
)
// aliases
...
...
@@ -11,7 +12,7 @@ type Ledger struct {
}
type
BitSwap
struct
{
Ledgers
map
[
peer
.
ID
]
*
Ledger
HaveList
map
[
multihash
.
Multihash
]
*
block
.
Block
Ledgers
map
[
string
]
*
Ledger
HaveList
map
[
string
]
*
blocks
.
Block
WantList
[]
*
multihash
.
Multihash
}
netmux/interface.go
浏览文件 @
c814dd03
...
...
@@ -14,10 +14,10 @@ type Interface struct {
// Own network address
Address
string
ResolvedAddress
string
ResolvedAddress
*
net
.
UDPAddr
// Connection
conn
*
net
.
Conn
conn
net
.
Conn
// next packets + close control channels
Input
chan
*
Packet
...
...
@@ -26,25 +26,25 @@ type Interface struct {
Errors
chan
error
}
func
NewUDPInterface
(
net
,
addr
string
)
(
*
Interface
,
error
)
{
raddr
,
err
:=
net
.
ResolveUDPAddr
(
net
,
addr
)
func
NewUDPInterface
(
net
work
,
addr
string
)
(
*
Interface
,
error
)
{
raddr
,
err
:=
net
.
ResolveUDPAddr
(
network
,
addr
)
if
err
!=
nil
{
return
nil
,
err
}
conn
,
err
:=
net
.
ListenUDP
(
net
,
addr
)
conn
,
err
:=
net
.
ListenUDP
(
network
,
r
addr
)
if
err
!=
nil
{
return
nil
,
err
}
i
:=
&
Interface
{
Network
:
net
,
Network
:
network
,
Address
:
addr
,
ResolvedAddress
:
raddr
,
conn
:
conn
,
}
go
i
.
process
Input
()
go
i
.
processUDP
Input
()
go
i
.
processOutput
()
return
i
,
nil
}
...
...
@@ -53,10 +53,10 @@ func (i *Interface) processOutput() {
for
{
select
{
case
<-
i
.
Closed
:
break
;
break
case
buffer
:=
<-
i
.
Output
:
i
.
conn
.
Write
([]
byte
(
buffer
))
i
.
conn
.
Write
([]
byte
(
buffer
.
Data
))
}
}
}
...
...
@@ -64,15 +64,15 @@ func (i *Interface) processOutput() {
func
(
i
*
Interface
)
processUDPInput
()
{
for
{
select
{
case
<-
i
.
Closed
:
break
;
case
<-
i
.
Closed
:
break
}
}
}
func
(
i
*
Interface
)
Read
(
buffer
[]
byte
)
bool
{
n
,
err
:=
i
.
C
onn
.
Read
(
buffer
)
_
,
err
:=
i
.
c
onn
.
Read
(
buffer
)
if
err
!=
nil
{
i
.
Errors
<-
err
i
.
Close
()
...
...
netmux/netmux.go
浏览文件 @
c814dd03
package
netmux
import
(
"net"
)
// The netmux module provides a "network multiplexer".
// The core idea is to have the client be able to connect to
// many different networks (potentially over different transports)
...
...
@@ -22,9 +18,8 @@ type Netmux struct {
outgoingSrc
<-
chan
*
Packet
}
// Warning: will probably change to adopt multiaddr format
type
Packet
{
type
Packet
struct
{
// the network addresses to send to
// e.g. tcp4://127.0.0.1:12345
NetAddrTo
string
...
...
@@ -44,8 +39,8 @@ func NewNetmux() *Netmux {
// setup channels
och
:=
make
(
chan
*
Packet
)
ich
:=
make
(
chan
*
Packet
)
n
.
Incoming
,
n
.
incomingSrc
:
=
ich
,
ich
n
.
Outgoing
,
n
.
outgoingSrc
:
=
och
,
och
n
.
Incoming
,
n
.
incomingSrc
=
ich
,
ich
n
.
Outgoing
,
n
.
outgoingSrc
=
och
,
och
return
n
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论