Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
d24d10a7
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d24d10a7
编写于
2月 28, 2018
作者:
V
Vlad
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
whisper: style fixes
上级
c733792b
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
10 addition
and
17 deletion
+10
-17
whisper/whisperv6/filter.go
whisper/whisperv6/filter.go
+9
-6
whisper/whisperv6/filter_test.go
whisper/whisperv6/filter_test.go
+1
-11
未找到文件。
whisper/whisperv6/filter.go
浏览文件 @
d24d10a7
...
...
@@ -44,8 +44,9 @@ type Filter struct {
// Filters represents a collection of filters
type
Filters
struct
{
watchers
map
[
string
]
*
Filter
topicMatcher
map
[
TopicType
]
map
[
*
Filter
]
struct
{}
allTopicsMatcher
map
[
*
Filter
]
struct
{}
topicMatcher
map
[
TopicType
]
map
[
*
Filter
]
struct
{}
// map a topic to the filters that are interested in being notified when a message matches that topic
allTopicsMatcher
map
[
*
Filter
]
struct
{}
// list all the filters that will be notified of a new message, no matter what its topic is
whisper
*
Whisper
mutex
sync
.
RWMutex
...
...
@@ -106,7 +107,9 @@ func (fs *Filters) Uninstall(id string) bool {
return
false
}
// addTopicMatcher adds a filter to the topic matchers
// addTopicMatcher adds a filter to the topic matchers.
// If the filter's Topics array is empty, it will be tried on every topic.
// Otherwise, it will be tried on the topics specified.
func
(
fs
*
Filters
)
addTopicMatcher
(
watcher
*
Filter
)
{
if
len
(
watcher
.
Topics
)
==
0
{
fs
.
allTopicsMatcher
[
watcher
]
=
struct
{}{}
...
...
@@ -133,10 +136,10 @@ func (fs *Filters) removeFromTopicMatchers(watcher *Filter) {
// match a specific topic
func
(
fs
*
Filters
)
getWatchersByTopic
(
topic
TopicType
)
[]
*
Filter
{
res
:=
make
([]
*
Filter
,
0
,
len
(
fs
.
allTopicsMatcher
))
for
watcher
,
_
:=
range
fs
.
allTopicsMatcher
{
for
watcher
:=
range
fs
.
allTopicsMatcher
{
res
=
append
(
res
,
watcher
)
}
for
watcher
,
_
:=
range
fs
.
topicMatcher
[
topic
]
{
for
watcher
:=
range
fs
.
topicMatcher
[
topic
]
{
res
=
append
(
res
,
watcher
)
}
return
res
...
...
whisper/whisperv6/filter_test.go
浏览文件 @
d24d10a7
...
...
@@ -313,16 +313,6 @@ func TestMatchEnvelope(t *testing.T) {
if
err
!=
nil
{
t
.
Fatalf
(
"failed Wrap with seed %d: %s."
,
seed
,
err
)
}
match
:=
fsym
.
MatchEnvelope
(
env
)
if
!
match
{
// topic mismatch should have no affect, as topics are handled by topic matchers
t
.
Fatalf
(
"failed MatchEnvelope symmetric with seed %d."
,
seed
)
}
match
=
fasym
.
MatchEnvelope
(
env
)
if
!
match
{
// topic mismatch should have no affect, as topics are handled by topic matchers
t
.
Fatalf
(
"failed MatchEnvelope asymmetric with seed %d."
,
seed
)
}
// encrypt symmetrically
i
:=
mrand
.
Int
()
%
4
...
...
@@ -338,7 +328,7 @@ func TestMatchEnvelope(t *testing.T) {
}
// symmetric + matching topic: match
match
=
fsym
.
MatchEnvelope
(
env
)
match
:
=
fsym
.
MatchEnvelope
(
env
)
if
!
match
{
t
.
Fatalf
(
"failed MatchEnvelope() symmetric with seed %d."
,
seed
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录