From 1a09e1dc8ac78cc040ee781761edca3c9d693bfd Mon Sep 17 00:00:00 2001 From: steven Date: Sat, 9 Apr 2022 10:56:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(fix):=20wti=20=E5=B0=86broadcast=20?= =?UTF-8?q?=E5=86=85=E5=AD=98=E6=B3=84=E9=9C=B2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/wti/wti.go | 6 +++--- plugins/wti/wti_test.go | 13 +++++-------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/plugins/wti/wti.go b/plugins/wti/wti.go index 3f693a4..ae9b760 100644 --- a/plugins/wti/wti.go +++ b/plugins/wti/wti.go @@ -53,14 +53,13 @@ func (t *tg) DelTAG(cli client.Clienter, tags ...string){ } -// 给某一个标签的群体进行广播 +// BroadCast 给某一个标签的群体进行广播 func (t *tg) BroadCast(content []byte,tags ...string) { if len(tags)== 0 { return } t.rw.RLock() defer t.rw.RUnlock() - for _,tag := range tags{ if group,ok := t.mp[tag];ok{ group.broadCast(content) @@ -83,7 +82,8 @@ func (t *tg)Update(token ...string){ func(t *tg)BroadCastByTarget(targetAndContent map[string][]byte){ if len(targetAndContent) == 0{ return } for target ,content := range targetAndContent { - go t.BroadCast(content,target) + // 将goroutine变成顺序写 + t.BroadCast(content,target) } } diff --git a/plugins/wti/wti_test.go b/plugins/wti/wti_test.go index 0c1deb4..6941a53 100644 --- a/plugins/wti/wti_test.go +++ b/plugins/wti/wti_test.go @@ -83,9 +83,6 @@ func TestTg_DelTAG(t *testing.T) { } - - - func TestTg_SetTAG(t *testing.T) { tests := []struct{ tag string @@ -143,8 +140,6 @@ func TestTg_BroadCast(t *testing.T) { } - - // 主要应对数据发送的时候版本的问题,比如某一条数据由于协议更改需要向上兼容老的版本,因为这是应用层的内容 // 所以使用wti 接口来进行兼容处理。避免进行内容的感染 func TestTg_BroadCastByTarget(t *testing.T) { @@ -182,9 +177,6 @@ func TestTg_BroadCastByTarget(t *testing.T) { // v1,v2,v3 websocket output :hello v1 | hello v2 | hello v3 } - - - // 主要应对数据发送的时候版本的问题,比如某一条数据由于协议更改需要向上兼容老的版本,因为这是应用层的内容 // 所以使用wti 接口来进行兼容处理。避免进行内容的感染 func TestTg_UpdateAndF(t *testing.T) { @@ -209,4 +201,9 @@ func TestTg_UpdateAndF(t *testing.T) { fmt.Println(res) } // output : [] +} + +// 对wti进行压力测试 +func BenchmarkSetTAG(b *testing.B) { + } \ No newline at end of file