github.com/glide-im/glide@v1.6.0/internal/action_handler/handler.go (about)

     1  package action_handler
     2  
     3  import (
     4  	"github.com/glide-im/glide/pkg/gate"
     5  	"github.com/glide-im/glide/pkg/logger"
     6  	"github.com/glide-im/glide/pkg/messages"
     7  	"github.com/glide-im/glide/pkg/messaging"
     8  )
     9  
    10  func Setup(handler messaging.Interface) {
    11  	handler.AddHandler(&ClientCustomMessageHandler{})
    12  	handler.AddHandler(&InternalActionHandler{})
    13  	handler.AddHandler(messaging.NewActionHandler(messages.ActionHeartbeat, handleHeartbeat))
    14  }
    15  
    16  func dispatch2AllDevice(h *messaging.MessageInterfaceImpl, uid string, m *messages.GlideMessage) bool {
    17  	devices := []string{"", "1", "2", "3"}
    18  	for _, device := range devices {
    19  		id := gate.NewID("", uid, device)
    20  		err := h.GetClientInterface().EnqueueMessage(id, m)
    21  		if err != nil && !gate.IsClientNotExist(err) {
    22  			logger.E("dispatch message error %v", err)
    23  		}
    24  	}
    25  	return true
    26  }