Documentation
¶
Index ¶
- Constants
- Variables
- func InitComet(conn *zk.Conn, migrateLockPath, fpath string, retry, ping time.Duration)
- func InitMessage(conn *zk.Conn, fpath string, retry, ping time.Duration)
- type CometMigrateArgs
- type CometNewArgs
- type CometNodeEvent
- type CometNodeInfo
- type CometPushPrivateArgs
- type CometPushPrivatesArgs
- type CometPushPrivatesResp
- type CometPushPublicArgs
- type Message
- type MessageGetPrivateArgs
- type MessageGetResp
- type MessageNodeEvent
- type MessageNodeInfo
- type MessageSavePrivateArgs
- type MessageSavePrivatesArgs
- type MessageSavePrivatesResp
- type MessageSavePublishArgs
- type OldMessage
- type RandLB
- type WeightRpc
Constants ¶
View Source
const ( CometServicePushPrivate = "CometRPC.PushPrivate" CometServicePushPrivates = "CometRPC.PushPrivates" CometServiceMigrate = "CometRPC.Migrate" )
View Source
const ( // group id PrivateGroupId = 0 PublicGroupId = 1 // message rpc service MessageService = "MessageRPC" MessageServiceGetPrivate = "MessageRPC.GetPrivate" MessageServiceSavePrivate = "MessageRPC.SavePrivate" MessageServiceSavePrivates = "MessageRPC.SavePrivates" MessageServiceDelPrivate = "MessageRPC.DelPrivate" )
View Source
const ( // common // ok OK = 0 // param error ParamErr = 65534 // internal error InternalErr = 65535 )
Variables ¶
View Source
var ( ErrRandLBLength = errors.New("clients and addrs length not match") ErrRandLBAddr = errors.New("clients map no addr key") )
View Source
var (
ErrCometRPC = errors.New("comet rpc call failed")
)
View Source
var (
ErrParam = errors.New("parameter error")
)
Functions ¶
Types ¶
type CometMigrateArgs ¶
Channel Migrate Args
type CometNewArgs ¶
type CometNewArgs struct {
Expire int64 // message expire second
Token string // auth token
Key string // subscriber key
}
Channel New Args
type CometNodeEvent ¶
type CometNodeEvent struct {
// node name(node1, node2...)
Key string
// node info
Value *CometNodeInfo
// event type
Event int
}
type CometNodeInfo ¶
type CometNodeInfo struct {
RpcAddr []string `json:"ws"`
TcpAddr []string `json:"tcp"`
WsAddr []string `json:"rpc"`
Weight int `json:"weight"`
Rpc *RandLB `json:"-"`
}
CometNodeData stored in zookeeper
func GetComet ¶
func GetComet(key string) *CometNodeInfo
GetComet get the node infomation under the node.
type CometPushPrivateArgs ¶
type CometPushPrivateArgs struct {
Key string // subscriber key
Fkey string // fromUserName
Msg json.RawMessage // message content
Expire uint // message expire second
}
Channel Push Private Message Args
type CometPushPrivatesArgs ¶
type CometPushPrivatesArgs struct {
Keys []string // subscriber keys
Msg json.RawMessage // message content
Expire uint // message expire second
}
Channel Push multi Private Message Args
type CometPushPrivatesResp ¶
type CometPushPrivatesResp struct {
FKeys []string // subscriber keys
}
Channel Push multi Private Message response
type CometPushPublicArgs ¶
Channel Push Public Message Args
type Message ¶
type Message struct {
Msg json.RawMessage `json:"msg"` // message content
MsgId int64 `json:"mid"` // message id
GroupId uint `json:"gid"` // group id
}
The Message struct
type MessageGetPrivateArgs ¶
Message Get args
type MessageGetResp ¶
type MessageGetResp struct {
Msgs []*Message // messages
}
Message Get Response
type MessageNodeEvent ¶
type MessageNodeInfo ¶
Message node info
type MessageSavePrivateArgs ¶
type MessageSavePrivateArgs struct {
Key string // subscriber key
Fkey string // fromUser
Msg json.RawMessage // message content
MsgId int64 // message id
Expire uint // message expire second
}
Message SavePrivate args
type MessageSavePrivatesArgs ¶
type MessageSavePrivatesArgs struct {
Keys []string // subscriber keys
Msg json.RawMessage // message content
MsgId int64 // message id
Expire uint // message expire second
}
Message SavePrivates args
type MessageSavePrivatesResp ¶
type MessageSavePrivatesResp struct {
FKeys []string // failed key
}
Message SavePrivates response
type MessageSavePublishArgs ¶
type MessageSavePublishArgs struct {
MsgID int64 // message id
Msg string // message content
Expire int64 // message expire second
}
Message SavePublish args
type OldMessage ¶
type OldMessage struct {
Msg string `json:"msg"` // Message
MsgId int64 `json:"mid"` // Message id
GroupId uint `json:"gid"` // Group id
}
The Old Message struct (Compatible), TODO remove it.
type RandLB ¶
random load balancing object
var (
MessageRPC *RandLB
)
Click to show internal directories.
Click to hide internal directories.