Преглед на файлове

change hub get function

Joyit преди 3 седмици
родител
ревизия
835fe93fac
променени са 1 файла, в които са добавени 7 реда и са изтрити 6 реда
  1. 7 6
      hub.go

+ 7 - 6
hub.go

@@ -123,6 +123,7 @@ func (h *Hub) Subscribe(channel *regexp.Regexp, cmd string, backFunc SubscribeBa
 }
 
 // 遍历频道列表
+// 如果 fn 返回 false,则 range 停止迭代
 func (h *Hub) ConnectRange(fn func(line *Line) bool) {
 	h.connects.Range(func(key, _ any) bool {
 		line := key.(*Line)
@@ -345,7 +346,7 @@ func (h *Hub) requestFromNet(request *RequestData) {
 // 当前调用将会阻塞,直到命令都执行结束,最后返回执行的数量
 // 如果 backFunc 返回为 false 则提前结束
 // 最大数量和超时时间如果为0的话表示使用默认值
-func (h *Hub) GetX(channel *regexp.Regexp, cmd string, data []byte, backFunc GetBack, max int, timeout int) (count int) {
+func (h *Hub) GetWithMaxAndTimeout(channel *regexp.Regexp, cmd string, data []byte, backFunc GetBack, max int, timeout int) (count int) {
 	// 排除空频道
 	if channel == nil {
 		return 0
@@ -406,13 +407,13 @@ func (h *Hub) GetX(channel *regexp.Regexp, cmd string, data []byte, backFunc Get
 // 当前调用将会阻塞,直到命令都执行结束,最后返回执行的数量
 // 如果 backFunc 返回为 false 则提前结束
 func (h *Hub) Get(channel *regexp.Regexp, cmd string, data []byte, backFunc GetBack) (count int) {
-	return h.GetX(channel, cmd, data, backFunc, 0, 0)
+	return h.GetWithMaxAndTimeout(channel, cmd, data, backFunc, 0, 0)
 }
 
 // 只获取一个频道的数据,阻塞等待到默认超时间隔
 // 如果没有结果将返回 NO_MATCH
 func (h *Hub) GetOne(channel *regexp.Regexp, cmd string, data []byte) (response *ResponseData) {
-	h.GetX(channel, cmd, data, func(rp *ResponseData) (ok bool) {
+	h.GetWithMaxAndTimeout(channel, cmd, data, func(rp *ResponseData) (ok bool) {
 		response = rp
 		return false
 	}, 1, 0)
@@ -427,8 +428,8 @@ func (h *Hub) GetOne(channel *regexp.Regexp, cmd string, data []byte) (response
 
 // 只获取一个频道的数据,阻塞等待到指定超时间隔
 // 如果没有结果将返回 NO_MATCH
-func (h *Hub) GetOneX(channel *regexp.Regexp, cmd string, data []byte, timeout int) (response *ResponseData) {
-	h.GetX(channel, cmd, data, func(rp *ResponseData) (ok bool) {
+func (h *Hub) GetOneWithTimeout(channel *regexp.Regexp, cmd string, data []byte, timeout int) (response *ResponseData) {
+	h.GetWithMaxAndTimeout(channel, cmd, data, func(rp *ResponseData) (ok bool) {
 		response = rp
 		return false
 	}, 1, timeout)
@@ -458,7 +459,7 @@ func (h *Hub) Push(channel *regexp.Regexp, cmd string, data []byte) {
 }
 
 // 推送最大对应数量的消息出去,不需要返回数据
-func (h *Hub) PushX(channel *regexp.Regexp, cmd string, data []byte, max int) {
+func (h *Hub) PushWithMax(channel *regexp.Regexp, cmd string, data []byte, max int) {
 	// 排除空频道
 	if channel == nil {
 		return