SYMBOL INDEX (3403 symbols across 411 files) FILE: cmd/main.go function init (line 45) | func init() { function main (line 50) | func main() { function newCmds (line 80) | func newCmds(confPath string) *cmds { type cmdName (line 84) | type cmdName struct type cmds (line 89) | type cmds struct method getTypePath (line 96) | func (x *cmds) getTypePath(typ reflect.Type) string { method initDiscovery (line 100) | func (x *cmds) initDiscovery() { method initAllConfig (line 117) | func (x *cmds) initAllConfig() error { method parseConf (line 159) | func (x *cmds) parseConf(conf any) error { method add (line 197) | func (x *cmds) add(name string, block bool, fn func(ctx context.Contex... method initLog (line 201) | func (x *cmds) initLog() error { method run (line 222) | func (x *cmds) run(ctx context.Context) error { function putCmd (line 332) | func putCmd[C any](cmd *cmds, block bool, fn func(ctx context.Context, c... type cmdManger (line 346) | type cmdManger struct method Start (line 353) | func (x *cmdManger) Start(name string) { method Shutdown (line 369) | func (x *cmdManger) Shutdown(name string) { method Wait (line 387) | func (x *cmdManger) Wait() <-chan struct{} { method Running (line 398) | func (x *cmdManger) Running() []string { FILE: cmd/openim-api/main.go function main (line 23) | func main() { FILE: cmd/openim-cmdutils/main.go function main (line 22) | func main() { FILE: cmd/openim-crontask/main.go function main (line 22) | func main() { FILE: cmd/openim-msggateway/main.go function main (line 22) | func main() { FILE: cmd/openim-msgtransfer/main.go function main (line 22) | func main() { FILE: cmd/openim-push/main.go function main (line 22) | func main() { FILE: cmd/openim-rpc/openim-rpc-auth/main.go function main (line 22) | func main() { FILE: cmd/openim-rpc/openim-rpc-conversation/main.go function main (line 22) | func main() { FILE: cmd/openim-rpc/openim-rpc-friend/main.go function main (line 22) | func main() { FILE: cmd/openim-rpc/openim-rpc-group/main.go function main (line 22) | func main() { FILE: cmd/openim-rpc/openim-rpc-msg/main.go function main (line 22) | func main() { FILE: cmd/openim-rpc/openim-rpc-third/main.go function main (line 22) | func main() { FILE: cmd/openim-rpc/openim-rpc-user/main.go function main (line 22) | func main() { FILE: internal/api/auth.go type AuthApi (line 23) | type AuthApi struct method GetAdminToken (line 31) | func (o *AuthApi) GetAdminToken(c *gin.Context) { method GetUserToken (line 35) | func (o *AuthApi) GetUserToken(c *gin.Context) { method ParseToken (line 39) | func (o *AuthApi) ParseToken(c *gin.Context) { method ForceLogout (line 43) | func (o *AuthApi) ForceLogout(c *gin.Context) { function NewAuthApi (line 27) | func NewAuthApi(client auth.AuthClient) AuthApi { FILE: internal/api/config_manager.go constant waitHttp (line 25) | waitHttp = time.Millisecond * 200 type ConfigManager (line 28) | type ConfigManager struct method CheckAdmin (line 46) | func (cm *ConfigManager) CheckAdmin(c *gin.Context) { method GetConfig (line 53) | func (cm *ConfigManager) GetConfig(c *gin.Context) { method GetConfigList (line 72) | func (cm *ConfigManager) GetConfigList(c *gin.Context) { method SetConfig (line 81) | func (cm *ConfigManager) SetConfig(c *gin.Context) { method SetConfigs (line 148) | func (cm *ConfigManager) SetConfigs(c *gin.Context) { method ResetConfig (line 273) | func (cm *ConfigManager) ResetConfig(c *gin.Context) { method resetConfig (line 282) | func (cm *ConfigManager) resetConfig(c *gin.Context, checkChange bool,... method Restart (line 344) | func (cm *ConfigManager) Restart(c *gin.Context) { method restart (line 349) | func (cm *ConfigManager) restart(c *gin.Context) { method SetEnableConfigManager (line 358) | func (cm *ConfigManager) SetEnableConfigManager(c *gin.Context) { method GetEnableConfigManager (line 398) | func (cm *ConfigManager) GetEnableConfigManager(c *gin.Context) { function NewConfigManager (line 36) | func NewConfigManager(IMAdminUserID []string, cfg *config.AllConfig, cli... function compareAndOp (line 234) | func compareAndOp[T any](c *gin.Context, old any, req *apistruct.SetConf... function compareAndSave (line 252) | func compareAndSave[T any](c *gin.Context, old any, req *apistruct.SetCo... FILE: internal/api/conversation.go type ConversationApi (line 24) | type ConversationApi struct method GetAllConversations (line 32) | func (o *ConversationApi) GetAllConversations(c *gin.Context) { method GetSortedConversationList (line 36) | func (o *ConversationApi) GetSortedConversationList(c *gin.Context) { method GetConversation (line 40) | func (o *ConversationApi) GetConversation(c *gin.Context) { method GetConversations (line 44) | func (o *ConversationApi) GetConversations(c *gin.Context) { method SetConversations (line 48) | func (o *ConversationApi) SetConversations(c *gin.Context) { method GetFullOwnerConversationIDs (line 56) | func (o *ConversationApi) GetFullOwnerConversationIDs(c *gin.Context) { method GetIncrementalConversation (line 60) | func (o *ConversationApi) GetIncrementalConversation(c *gin.Context) { method GetOwnerConversation (line 64) | func (o *ConversationApi) GetOwnerConversation(c *gin.Context) { method GetNotNotifyConversationIDs (line 68) | func (o *ConversationApi) GetNotNotifyConversationIDs(c *gin.Context) { method GetPinnedConversationIDs (line 72) | func (o *ConversationApi) GetPinnedConversationIDs(c *gin.Context) { method UpdateConversationsByUser (line 76) | func (o *ConversationApi) UpdateConversationsByUser(c *gin.Context) { method DeleteConversations (line 80) | func (o *ConversationApi) DeleteConversations(c *gin.Context) { function NewConversationApi (line 28) | func NewConversationApi(client conversation.ConversationClient) Conversa... FILE: internal/api/custom_validator.go function RequiredIf (line 23) | func RequiredIf(fl validator.FieldLevel) bool { FILE: internal/api/friend.go type FriendApi (line 24) | type FriendApi struct method ApplyToAddFriend (line 32) | func (o *FriendApi) ApplyToAddFriend(c *gin.Context) { method RespondFriendApply (line 36) | func (o *FriendApi) RespondFriendApply(c *gin.Context) { method DeleteFriend (line 40) | func (o *FriendApi) DeleteFriend(c *gin.Context) { method GetFriendApplyList (line 44) | func (o *FriendApi) GetFriendApplyList(c *gin.Context) { method GetDesignatedFriendsApply (line 48) | func (o *FriendApi) GetDesignatedFriendsApply(c *gin.Context) { method GetSelfApplyList (line 52) | func (o *FriendApi) GetSelfApplyList(c *gin.Context) { method GetFriendList (line 56) | func (o *FriendApi) GetFriendList(c *gin.Context) { method GetDesignatedFriends (line 60) | func (o *FriendApi) GetDesignatedFriends(c *gin.Context) { method SetFriendRemark (line 64) | func (o *FriendApi) SetFriendRemark(c *gin.Context) { method AddBlack (line 68) | func (o *FriendApi) AddBlack(c *gin.Context) { method GetPaginationBlacks (line 72) | func (o *FriendApi) GetPaginationBlacks(c *gin.Context) { method GetSpecifiedBlacks (line 76) | func (o *FriendApi) GetSpecifiedBlacks(c *gin.Context) { method RemoveBlack (line 80) | func (o *FriendApi) RemoveBlack(c *gin.Context) { method ImportFriends (line 84) | func (o *FriendApi) ImportFriends(c *gin.Context) { method IsFriend (line 88) | func (o *FriendApi) IsFriend(c *gin.Context) { method GetFriendIDs (line 92) | func (o *FriendApi) GetFriendIDs(c *gin.Context) { method GetSpecifiedFriendsInfo (line 96) | func (o *FriendApi) GetSpecifiedFriendsInfo(c *gin.Context) { method UpdateFriends (line 100) | func (o *FriendApi) UpdateFriends(c *gin.Context) { method GetIncrementalFriends (line 104) | func (o *FriendApi) GetIncrementalFriends(c *gin.Context) { method GetIncrementalBlacks (line 110) | func (o *FriendApi) GetIncrementalBlacks(c *gin.Context) { method GetFullFriendUserIDs (line 114) | func (o *FriendApi) GetFullFriendUserIDs(c *gin.Context) { method GetSelfUnhandledApplyCount (line 118) | func (o *FriendApi) GetSelfUnhandledApplyCount(c *gin.Context) { function NewFriendApi (line 28) | func NewFriendApi(client relation.FriendClient) FriendApi { FILE: internal/api/group.go type GroupApi (line 23) | type GroupApi struct method CreateGroup (line 31) | func (o *GroupApi) CreateGroup(c *gin.Context) { method SetGroupInfo (line 35) | func (o *GroupApi) SetGroupInfo(c *gin.Context) { method SetGroupInfoEx (line 39) | func (o *GroupApi) SetGroupInfoEx(c *gin.Context) { method JoinGroup (line 43) | func (o *GroupApi) JoinGroup(c *gin.Context) { method QuitGroup (line 47) | func (o *GroupApi) QuitGroup(c *gin.Context) { method ApplicationGroupResponse (line 51) | func (o *GroupApi) ApplicationGroupResponse(c *gin.Context) { method TransferGroupOwner (line 55) | func (o *GroupApi) TransferGroupOwner(c *gin.Context) { method GetRecvGroupApplicationList (line 59) | func (o *GroupApi) GetRecvGroupApplicationList(c *gin.Context) { method GetUserReqGroupApplicationList (line 63) | func (o *GroupApi) GetUserReqGroupApplicationList(c *gin.Context) { method GetGroupUsersReqApplicationList (line 67) | func (o *GroupApi) GetGroupUsersReqApplicationList(c *gin.Context) { method GetSpecifiedUserGroupRequestInfo (line 71) | func (o *GroupApi) GetSpecifiedUserGroupRequestInfo(c *gin.Context) { method GetGroupsInfo (line 75) | func (o *GroupApi) GetGroupsInfo(c *gin.Context) { method KickGroupMember (line 80) | func (o *GroupApi) KickGroupMember(c *gin.Context) { method GetGroupMembersInfo (line 84) | func (o *GroupApi) GetGroupMembersInfo(c *gin.Context) { method GetGroupMemberList (line 89) | func (o *GroupApi) GetGroupMemberList(c *gin.Context) { method InviteUserToGroup (line 93) | func (o *GroupApi) InviteUserToGroup(c *gin.Context) { method GetJoinedGroupList (line 97) | func (o *GroupApi) GetJoinedGroupList(c *gin.Context) { method DismissGroup (line 101) | func (o *GroupApi) DismissGroup(c *gin.Context) { method MuteGroupMember (line 105) | func (o *GroupApi) MuteGroupMember(c *gin.Context) { method CancelMuteGroupMember (line 109) | func (o *GroupApi) CancelMuteGroupMember(c *gin.Context) { method MuteGroup (line 113) | func (o *GroupApi) MuteGroup(c *gin.Context) { method CancelMuteGroup (line 117) | func (o *GroupApi) CancelMuteGroup(c *gin.Context) { method SetGroupMemberInfo (line 121) | func (o *GroupApi) SetGroupMemberInfo(c *gin.Context) { method GetGroupAbstractInfo (line 125) | func (o *GroupApi) GetGroupAbstractInfo(c *gin.Context) { method GroupCreateCount (line 137) | func (o *GroupApi) GroupCreateCount(c *gin.Context) { method GetGroups (line 141) | func (o *GroupApi) GetGroups(c *gin.Context) { method GetGroupMemberUserIDs (line 145) | func (o *GroupApi) GetGroupMemberUserIDs(c *gin.Context) { method GetIncrementalJoinGroup (line 149) | func (o *GroupApi) GetIncrementalJoinGroup(c *gin.Context) { method GetIncrementalGroupMember (line 153) | func (o *GroupApi) GetIncrementalGroupMember(c *gin.Context) { method GetIncrementalGroupMemberBatch (line 157) | func (o *GroupApi) GetIncrementalGroupMemberBatch(c *gin.Context) { method GetFullGroupMemberUserIDs (line 161) | func (o *GroupApi) GetFullGroupMemberUserIDs(c *gin.Context) { method GetFullJoinGroupIDs (line 165) | func (o *GroupApi) GetFullJoinGroupIDs(c *gin.Context) { method GetGroupApplicationUnhandledCount (line 169) | func (o *GroupApi) GetGroupApplicationUnhandledCount(c *gin.Context) { function NewGroupApi (line 27) | func NewGroupApi(client group.GroupClient) GroupApi { FILE: internal/api/init.go type Config (line 35) | type Config struct function Start (line 42) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/api/jssdk/jssdk.go constant maxGetActiveConversation (line 23) | maxGetActiveConversation = 500 constant defaultGetActiveConversation (line 24) | defaultGetActiveConversation = 100 function NewJSSdkApi (line 27) | func NewJSSdkApi(userClient *rpcli.UserClient, relationClient *rpcli.Rel... type JSSdk (line 38) | type JSSdk struct method GetActiveConversations (line 46) | func (x *JSSdk) GetActiveConversations(c *gin.Context) { method GetConversations (line 50) | func (x *JSSdk) GetConversations(c *gin.Context) { method fillConversations (line 54) | func (x *JSSdk) fillConversations(ctx context.Context, conversations [... method getActiveConversations (line 104) | func (x *JSSdk) getActiveConversations(ctx context.Context, req *jssdk... method getConversations (line 191) | func (x *JSSdk) getConversations(ctx context.Context, req *jssdk.GetCo... method checkMessagesAndGetLastMessage (line 258) | func (x *JSSdk) checkMessagesAndGetLastMessage(ctx context.Context, us... FILE: internal/api/jssdk/sort.go type sortActiveConversations (line 5) | type sortActiveConversations struct method Top (line 10) | func (s sortActiveConversations) Top(limit int) []*msg.ActiveConversat... method Len (line 17) | func (s sortActiveConversations) Len() int { method Less (line 21) | func (s sortActiveConversations) Less(i, j int) bool { method Swap (line 31) | func (s sortActiveConversations) Swap(i, j int) { FILE: internal/api/jssdk/tools.go function field (line 16) | func field[A, B, C any](ctx context.Context, fn func(ctx context.Context... function call (line 25) | func call[A, B any](c *gin.Context, fn func(ctx context.Context, req *A)... FILE: internal/api/msg.go function getMsgDataDescriptor (line 51) | func getMsgDataDescriptor() []protoreflect.FieldDescriptor { type MessageApi (line 79) | type MessageApi struct method SetOptions (line 90) | func (*MessageApi) SetOptions(options map[string]bool, value bool) { method newUserSendMsgReq (line 97) | func (m *MessageApi) newUserSendMsgReq(_ *gin.Context, params *apistru... method GetSeq (line 154) | func (m *MessageApi) GetSeq(c *gin.Context) { method PullMsgBySeqs (line 158) | func (m *MessageApi) PullMsgBySeqs(c *gin.Context) { method RevokeMsg (line 162) | func (m *MessageApi) RevokeMsg(c *gin.Context) { method MarkMsgsAsRead (line 166) | func (m *MessageApi) MarkMsgsAsRead(c *gin.Context) { method MarkConversationAsRead (line 170) | func (m *MessageApi) MarkConversationAsRead(c *gin.Context) { method GetConversationsHasReadAndMaxSeq (line 174) | func (m *MessageApi) GetConversationsHasReadAndMaxSeq(c *gin.Context) { method SetConversationHasReadSeq (line 178) | func (m *MessageApi) SetConversationHasReadSeq(c *gin.Context) { method ClearConversationsMsg (line 182) | func (m *MessageApi) ClearConversationsMsg(c *gin.Context) { method UserClearAllMsg (line 186) | func (m *MessageApi) UserClearAllMsg(c *gin.Context) { method DeleteMsgs (line 190) | func (m *MessageApi) DeleteMsgs(c *gin.Context) { method DeleteMsgPhysicalBySeq (line 194) | func (m *MessageApi) DeleteMsgPhysicalBySeq(c *gin.Context) { method DeleteMsgPhysical (line 198) | func (m *MessageApi) DeleteMsgPhysical(c *gin.Context) { method getSendMsgReq (line 202) | func (m *MessageApi) getSendMsgReq(c *gin.Context, req apistruct.SendM... method getModifyFields (line 243) | func (m *MessageApi) getModifyFields(req, respModify *sdkws.MsgData) m... method ginRespSendMsg (line 270) | func (m *MessageApi) ginRespSendMsg(c *gin.Context, req *msg.SendMsgRe... method SendMessage (line 280) | func (m *MessageApi) SendMessage(c *gin.Context) { method SendBusinessNotification (line 335) | func (m *MessageApi) SendBusinessNotification(c *gin.Context) { method BatchSendMsg (line 401) | func (m *MessageApi) BatchSendMsg(c *gin.Context) { method SendSimpleMessage (line 458) | func (m *MessageApi) SendSimpleMessage(c *gin.Context) { method CheckMsgIsSendSuccess (line 553) | func (m *MessageApi) CheckMsgIsSendSuccess(c *gin.Context) { method GetUsersOnlineStatus (line 557) | func (m *MessageApi) GetUsersOnlineStatus(c *gin.Context) { method GetActiveUser (line 561) | func (m *MessageApi) GetActiveUser(c *gin.Context) { method GetActiveGroup (line 565) | func (m *MessageApi) GetActiveGroup(c *gin.Context) { method SearchMsg (line 569) | func (m *MessageApi) SearchMsg(c *gin.Context) { method GetServerTime (line 573) | func (m *MessageApi) GetServerTime(c *gin.Context) { function NewMessageApi (line 86) | func NewMessageApi(client msg.MsgClient, userClient *rpcli.UserClient, i... FILE: internal/api/prometheus_discovery.go type PrometheusDiscoveryApi (line 15) | type PrometheusDiscoveryApi struct method discovery (line 28) | func (p *PrometheusDiscoveryApi) discovery(c *gin.Context, key string) { method Api (line 57) | func (p *PrometheusDiscoveryApi) Api(c *gin.Context) { method User (line 61) | func (p *PrometheusDiscoveryApi) User(c *gin.Context) { method Group (line 65) | func (p *PrometheusDiscoveryApi) Group(c *gin.Context) { method Msg (line 69) | func (p *PrometheusDiscoveryApi) Msg(c *gin.Context) { method Friend (line 73) | func (p *PrometheusDiscoveryApi) Friend(c *gin.Context) { method Conversation (line 77) | func (p *PrometheusDiscoveryApi) Conversation(c *gin.Context) { method Third (line 81) | func (p *PrometheusDiscoveryApi) Third(c *gin.Context) { method Auth (line 85) | func (p *PrometheusDiscoveryApi) Auth(c *gin.Context) { method Push (line 89) | func (p *PrometheusDiscoveryApi) Push(c *gin.Context) { method MessageGateway (line 93) | func (p *PrometheusDiscoveryApi) MessageGateway(c *gin.Context) { method MessageTransfer (line 97) | func (p *PrometheusDiscoveryApi) MessageTransfer(c *gin.Context) { function NewPrometheusDiscoveryApi (line 20) | func NewPrometheusDiscoveryApi(config *Config, client discovery.SvcDisco... FILE: internal/api/ratelimit.go type RateLimiter (line 19) | type RateLimiter struct function RateLimitMiddleware (line 26) | func RateLimitMiddleware(config *RateLimiter) gin.HandlerFunc { function calculateBBRRetryAfter (line 68) | func calculateBBRRetryAfter(status bbr.Stat) string { FILE: internal/api/router.go constant NoCompression (line 36) | NoCompression = -1 constant DefaultCompression (line 37) | DefaultCompression = 0 constant BestCompression (line 38) | BestCompression = 1 constant BestSpeed (line 39) | BestSpeed = 2 function prommetricsGin (line 42) | func prommetricsGin() gin.HandlerFunc { function newGinRouter (line 57) | func newGinRouter(ctx context.Context, client discovery.SvcDiscoveryRegi... function GinParseToken (line 347) | func GinParseToken(authClient *rpcli.AuthClient) gin.HandlerFunc { function setGinIsAdmin (line 378) | func setGinIsAdmin(imAdminUserID []string) gin.HandlerFunc { FILE: internal/api/third.go type ThirdApi (line 33) | type ThirdApi struct method FcmUpdateToken (line 42) | func (o *ThirdApi) FcmUpdateToken(c *gin.Context) { method SetAppBadge (line 46) | func (o *ThirdApi) SetAppBadge(c *gin.Context) { method PartLimit (line 81) | func (o *ThirdApi) PartLimit(c *gin.Context) { method PartSize (line 85) | func (o *ThirdApi) PartSize(c *gin.Context) { method InitiateMultipartUpload (line 89) | func (o *ThirdApi) InitiateMultipartUpload(c *gin.Context) { method AuthSign (line 96) | func (o *ThirdApi) AuthSign(c *gin.Context) { method CompleteMultipartUpload (line 100) | func (o *ThirdApi) CompleteMultipartUpload(c *gin.Context) { method AccessURL (line 107) | func (o *ThirdApi) AccessURL(c *gin.Context) { method InitiateFormData (line 111) | func (o *ThirdApi) InitiateFormData(c *gin.Context) { method CompleteFormData (line 115) | func (o *ThirdApi) CompleteFormData(c *gin.Context) { method ObjectRedirect (line 122) | func (o *ThirdApi) ObjectRedirect(c *gin.Context) { method UploadLogs (line 160) | func (o *ThirdApi) UploadLogs(c *gin.Context) { method DeleteLogs (line 164) | func (o *ThirdApi) DeleteLogs(c *gin.Context) { method SearchLogs (line 168) | func (o *ThirdApi) SearchLogs(c *gin.Context) { method GetPrometheus (line 172) | func (o *ThirdApi) GetPrometheus(c *gin.Context) { function NewThirdApi (line 38) | func NewThirdApi(client third.ThirdClient, grafanaUrl string) ThirdApi { function setURLPrefixOption (line 52) | func setURLPrefixOption[A, B, C any](_ func(client C, ctx context.Contex... function setURLPrefix (line 58) | func setURLPrefix(c *gin.Context, urlPrefix *string) error { FILE: internal/api/user.go type UserApi (line 30) | type UserApi struct method UserRegister (line 40) | func (u *UserApi) UserRegister(c *gin.Context) { method UpdateUserInfo (line 45) | func (u *UserApi) UpdateUserInfo(c *gin.Context) { method UpdateUserInfoEx (line 49) | func (u *UserApi) UpdateUserInfoEx(c *gin.Context) { method SetGlobalRecvMessageOpt (line 52) | func (u *UserApi) SetGlobalRecvMessageOpt(c *gin.Context) { method GetUsersPublicInfo (line 56) | func (u *UserApi) GetUsersPublicInfo(c *gin.Context) { method GetAllUsersID (line 60) | func (u *UserApi) GetAllUsersID(c *gin.Context) { method AccountCheck (line 64) | func (u *UserApi) AccountCheck(c *gin.Context) { method GetUsers (line 68) | func (u *UserApi) GetUsers(c *gin.Context) { method GetUsersOnlineStatus (line 73) | func (u *UserApi) GetUsersOnlineStatus(c *gin.Context) { method UserRegisterCount (line 129) | func (u *UserApi) UserRegisterCount(c *gin.Context) { method GetUsersOnlineTokenDetail (line 134) | func (u *UserApi) GetUsersOnlineTokenDetail(c *gin.Context) { method SubscriberStatus (line 195) | func (u *UserApi) SubscriberStatus(c *gin.Context) { method GetUserStatus (line 200) | func (u *UserApi) GetUserStatus(c *gin.Context) { method GetSubscribeUsersStatus (line 205) | func (u *UserApi) GetSubscribeUsersStatus(c *gin.Context) { method ProcessUserCommandAdd (line 210) | func (u *UserApi) ProcessUserCommandAdd(c *gin.Context) { method ProcessUserCommandDelete (line 215) | func (u *UserApi) ProcessUserCommandDelete(c *gin.Context) { method ProcessUserCommandUpdate (line 220) | func (u *UserApi) ProcessUserCommandUpdate(c *gin.Context) { method ProcessUserCommandGet (line 225) | func (u *UserApi) ProcessUserCommandGet(c *gin.Context) { method ProcessUserCommandGetAll (line 230) | func (u *UserApi) ProcessUserCommandGetAll(c *gin.Context) { method AddNotificationAccount (line 234) | func (u *UserApi) AddNotificationAccount(c *gin.Context) { method UpdateNotificationAccountInfo (line 238) | func (u *UserApi) UpdateNotificationAccountInfo(c *gin.Context) { method SearchNotificationAccount (line 242) | func (u *UserApi) SearchNotificationAccount(c *gin.Context) { method GetUserClientConfig (line 246) | func (u *UserApi) GetUserClientConfig(c *gin.Context) { method SetUserClientConfig (line 250) | func (u *UserApi) SetUserClientConfig(c *gin.Context) { method DelUserClientConfig (line 254) | func (u *UserApi) DelUserClientConfig(c *gin.Context) { method PageUserClientConfig (line 258) | func (u *UserApi) PageUserClientConfig(c *gin.Context) { function NewUserApi (line 36) | func NewUserApi(client user.UserClient, discov discovery.Conn, config co... FILE: internal/msggateway/callback.go method webhookAfterUserOnline (line 27) | func (ws *WsServer) webhookAfterUserOnline(ctx context.Context, after *c... method webhookAfterUserOffline (line 45) | func (ws *WsServer) webhookAfterUserOffline(ctx context.Context, after *... method webhookAfterUserKickOff (line 62) | func (ws *WsServer) webhookAfterUserKickOff(ctx context.Context, after *... FILE: internal/msggateway/client.go constant MessageText (line 44) | MessageText = iota + 1 constant MessageBinary (line 46) | MessageBinary constant CloseMessage (line 50) | CloseMessage = 8 constant PingMessage (line 54) | PingMessage = 9 constant PongMessage (line 58) | PongMessage = 10 type PingPongHandler (line 61) | type PingPongHandler type Client (line 63) | type Client struct method ResetClient (line 85) | func (c *Client) ResetClient(ctx *UserConnContext, conn ClientConn, lo... method readMessage (line 114) | func (c *Client) readMessage() { method handleMessage (line 147) | func (c *Client) handleMessage(message []byte) error { method setAppBackgroundStatus (line 216) | func (c *Client) setAppBackgroundStatus(ctx context.Context, req *Req)... method close (line 227) | func (c *Client) close() { method replyMessage (line 239) | func (c *Client) replyMessage(ctx context.Context, binaryReq *Req, err... method PushMessage (line 263) | func (c *Client) PushMessage(ctx context.Context, msgData *sdkws.MsgDa... method KickOnlineMessage (line 285) | func (c *Client) KickOnlineMessage() error { method PushUserOnlineStatus (line 295) | func (c *Client) PushUserOnlineStatus(data []byte) error { method writeBinaryMsg (line 303) | func (c *Client) writeBinaryMsg(resp Resp) error { FILE: internal/msggateway/client_conn.go type ClientConn (line 18) | type ClientConn interface type websocketMessage (line 24) | type websocketMessage struct function NewWebSocketClientConn (line 29) | func NewWebSocketClientConn(conn *websocket.Conn, readLimit int64, readT... type websocketClientConn (line 49) | type websocketClientConn struct method ReadMessage (line 57) | func (c *websocketClientConn) ReadMessage() ([]byte, error) { method WriteMessage (line 65) | func (c *websocketClientConn) WriteMessage(message []byte) error { method Close (line 69) | func (c *websocketClientConn) Close() error { method closeBy (line 73) | func (c *websocketClientConn) closeBy(err error) error { method writeMessage (line 83) | func (c *websocketClientConn) writeMessage(messageType int, data []byt... method loopSend (line 95) | func (c *websocketClientConn) loopSend() { method setReadDeadline (line 135) | func (c *websocketClientConn) setReadDeadline() error { method readMessage (line 140) | func (c *websocketClientConn) readMessage() ([]byte, error) { method onReadTextMessage (line 175) | func (c *websocketClientConn) onReadTextMessage(buf []byte) error { method pingHandler (line 198) | func (c *websocketClientConn) pingHandler(appData string) error { method pongHandler (line 211) | func (c *websocketClientConn) pongHandler(string) error { method doPing (line 215) | func (c *websocketClientConn) doPing(d time.Duration) { FILE: internal/msggateway/compressor.go type Compressor (line 31) | type Compressor interface type GzipCompressor (line 38) | type GzipCompressor struct method Compress (line 46) | func (g *GzipCompressor) Compress(rawData []byte) ([]byte, error) { method CompressWithPool (line 61) | func (g *GzipCompressor) CompressWithPool(rawData []byte) ([]byte, err... method DeCompress (line 77) | func (g *GzipCompressor) DeCompress(compressedData []byte) ([]byte, er... method DecompressWithPool (line 95) | func (g *GzipCompressor) DecompressWithPool(compressedData []byte) ([]... function NewGzipCompressor (line 42) | func NewGzipCompressor() *GzipCompressor { FILE: internal/msggateway/compressor_test.go function mockRandom (line 25) | func mockRandom() []byte { function TestCompressDecompress (line 31) | func TestCompressDecompress(t *testing.T) { function TestCompressDecompressWithConcurrency (line 57) | func TestCompressDecompressWithConcurrency(t *testing.T) { function BenchmarkCompress (line 89) | func BenchmarkCompress(b *testing.B) { function BenchmarkCompressWithSyncPool (line 99) | func BenchmarkCompressWithSyncPool(b *testing.B) { function BenchmarkDecompress (line 109) | func BenchmarkDecompress(b *testing.B) { function BenchmarkDecompressWithSyncPool (line 123) | func BenchmarkDecompressWithSyncPool(b *testing.B) { function TestName (line 136) | func TestName(t *testing.T) { FILE: internal/msggateway/constant.go constant WsUserID (line 20) | WsUserID = "sendID" constant CommonUserID (line 21) | CommonUserID = "userID" constant PlatformID (line 22) | PlatformID = "platformID" constant ConnID (line 23) | ConnID = "connID" constant Token (line 24) | Token = "token" constant OperationID (line 25) | OperationID = "operationID" constant Compression (line 26) | Compression = "compression" constant GzipCompressionProtocol (line 27) | GzipCompressionProtocol = "gzip" constant BackgroundStatus (line 28) | BackgroundStatus = "isBackground" constant SendResponse (line 29) | SendResponse = "isMsgResp" constant SDKType (line 30) | SDKType = "sdkType" constant SDKVersion (line 31) | SDKVersion = "sdkVersion" constant GoSDK (line 35) | GoSDK = "go" constant JsSDK (line 36) | JsSDK = "js" constant WebSocket (line 40) | WebSocket = iota + 1 constant WSGetNewestSeq (line 45) | WSGetNewestSeq = 1001 constant WSPullMsgBySeqList (line 46) | WSPullMsgBySeqList = 1002 constant WSSendMsg (line 47) | WSSendMsg = 1003 constant WSSendSignalMsg (line 48) | WSSendSignalMsg = 1004 constant WSPullMsg (line 49) | WSPullMsg = 1005 constant WSGetConvMaxReadSeq (line 50) | WSGetConvMaxReadSeq = 1006 constant WsPullConvLastMessage (line 51) | WsPullConvLastMessage = 1007 constant WSPushMsg (line 52) | WSPushMsg = 2001 constant WSKickOnlineMsg (line 53) | WSKickOnlineMsg = 2002 constant WsLogoutMsg (line 54) | WsLogoutMsg = 2003 constant WsSetBackgroundStatus (line 55) | WsSetBackgroundStatus = 2004 constant WsSubUserOnlineStatus (line 56) | WsSubUserOnlineStatus = 2005 constant WSDataError (line 57) | WSDataError = 3001 constant writeWait (line 62) | writeWait = 10 * time.Second constant pongWait (line 65) | pongWait = 30 * time.Second constant pingPeriod (line 68) | pingPeriod = (pongWait * 9) / 10 constant maxMessageSize (line 71) | maxMessageSize = 51200 FILE: internal/msggateway/context.go type UserConnContextInfo (line 32) | type UserConnContextInfo struct type UserConnContext (line 44) | type UserConnContext struct method Deadline (line 54) | func (c *UserConnContext) Deadline() (deadline time.Time, ok bool) { method Done (line 58) | func (c *UserConnContext) Done() <-chan struct{} { method Err (line 62) | func (c *UserConnContext) Err() error { method Value (line 66) | func (c *UserConnContext) Value(key any) any { method ParseEssentialArgs (line 107) | func (c *UserConnContext) ParseEssentialArgs() error { method parseByQuery (line 116) | func (c *UserConnContext) parseByQuery(query url.Values, header http.H... method parseByJson (line 148) | func (c *UserConnContext) parseByJson(data string) error { method checkInfo (line 160) | func (c *UserConnContext) checkInfo(info *UserConnContextInfo) error { method GetRemoteAddr (line 184) | func (c *UserConnContext) GetRemoteAddr() string { method SetHeader (line 188) | func (c *UserConnContext) SetHeader(key, value string) { method ErrReturn (line 192) | func (c *UserConnContext) ErrReturn(error string, code int) { method GetConnID (line 196) | func (c *UserConnContext) GetConnID() string { method GetUserID (line 200) | func (c *UserConnContext) GetUserID() string { method GetPlatformID (line 207) | func (c *UserConnContext) GetPlatformID() int { method GetOperationID (line 214) | func (c *UserConnContext) GetOperationID() string { method SetOperationID (line 221) | func (c *UserConnContext) SetOperationID(operationID string) { method GetToken (line 228) | func (c *UserConnContext) GetToken() string { method GetCompression (line 235) | func (c *UserConnContext) GetCompression() bool { method GetSDKType (line 239) | func (c *UserConnContext) GetSDKType() string { method GetSDKVersion (line 253) | func (c *UserConnContext) GetSDKVersion() string { method ShouldSendResp (line 260) | func (c *UserConnContext) ShouldSendResp() bool { method SetToken (line 264) | func (c *UserConnContext) SetToken(token string) { method GetBackground (line 271) | func (c *UserConnContext) GetBackground() bool { function newContext (line 85) | func newContext(respWriter http.ResponseWriter, req *http.Request) *User... function newTempContext (line 100) | func newTempContext() *UserConnContext { FILE: internal/msggateway/encoder.go type Encoder (line 25) | type Encoder interface type GobEncoder (line 30) | type GobEncoder struct method Encode (line 36) | func (g GobEncoder) Encode(data any) ([]byte, error) { method Decode (line 45) | func (g GobEncoder) Decode(encodeData []byte, decodeData any) error { function NewGobEncoder (line 32) | func NewGobEncoder() Encoder { type JsonEncoder (line 54) | type JsonEncoder struct method Encode (line 60) | func (g JsonEncoder) Encode(data any) ([]byte, error) { method Decode (line 68) | func (g JsonEncoder) Decode(encodeData []byte, decodeData any) error { function NewJsonEncoder (line 56) | func NewJsonEncoder() Encoder { FILE: internal/msggateway/http_error.go function httpError (line 22) | func httpError(ctx *UserConnContext, err error) { FILE: internal/msggateway/hub_server.go type Server (line 74) | type Server struct method InitServer (line 37) | func (s *Server) InitServer(ctx context.Context, config *Config, disCo... method SetLongConnServer (line 85) | func (s *Server) SetLongConnServer(LongConnServer LongConnServer) { method GetUsersOnlineStatus (line 102) | func (s *Server) GetUsersOnlineStatus(ctx context.Context, req *msggat... method pushToUser (line 135) | func (s *Server) pushToUser(ctx context.Context, userID string, msgDat... method SuperGroupOnlineBatchPushOneMsg (line 171) | func (s *Server) SuperGroupOnlineBatchPushOneMsg(ctx context.Context, ... method KickUserOffline (line 222) | func (s *Server) KickUserOffline(ctx context.Context, req *msggateway.... method MultiTerminalLoginCheck (line 242) | func (s *Server) MultiTerminalLoginCheck(ctx context.Context, req *msg... function NewServer (line 89) | func NewServer(longConnServer LongConnServer, conf *Config, ready func(s... FILE: internal/msggateway/init.go type Config (line 32) | type Config struct function Start (line 42) | func Start(ctx context.Context, conf *Config, client discovery.SvcDiscov... FILE: internal/msggateway/message_handler.go constant TextPing (line 34) | TextPing = "ping" constant TextPong (line 35) | TextPong = "pong" type TextMessage (line 38) | type TextMessage struct type Req (line 43) | type Req struct method String (line 52) | func (r *Req) String() string { function getReq (line 68) | func getReq() *Req { function freeReq (line 79) | func freeReq(req *Req) { type Resp (line 83) | type Resp struct method String (line 92) | func (r *Resp) String() string { type MessageHandler (line 102) | type MessageHandler interface type GrpcHandler (line 116) | type GrpcHandler struct method GetSeq (line 130) | func (g *GrpcHandler) GetSeq(ctx context.Context, data *Req) ([]byte, ... method SendMessage (line 151) | func (g *GrpcHandler) SendMessage(ctx context.Context, data *Req) ([]b... method SendSignalMessage (line 175) | func (g *GrpcHandler) SendSignalMessage(ctx context.Context, data *Req... method PullMessageBySeqList (line 187) | func (g *GrpcHandler) PullMessageBySeqList(ctx context.Context, data *... method GetConversationsHasReadAndMaxSeq (line 206) | func (g *GrpcHandler) GetConversationsHasReadAndMaxSeq(ctx context.Con... method GetSeqMessage (line 225) | func (g *GrpcHandler) GetSeqMessage(ctx context.Context, data *Req) ([... method UserLogout (line 244) | func (g *GrpcHandler) UserLogout(ctx context.Context, data *Req) ([]by... method SetUserDeviceBackground (line 260) | func (g *GrpcHandler) SetUserDeviceBackground(ctx context.Context, dat... method GetLastMessage (line 271) | func (g *GrpcHandler) GetLastMessage(ctx context.Context, data *Req) (... function NewGrpcHandler (line 122) | func NewGrpcHandler(validate *validator.Validate, msgClient *rpcli.MsgCl... FILE: internal/msggateway/online.go method ChangeOnlineStatus (line 21) | func (ws *WsServer) ChangeOnlineStatus(concurrent int) { FILE: internal/msggateway/options.go type Option (line 20) | type Option type configs (line 21) | type configs struct function WithPort (line 35) | func WithPort(port int) Option { function WithMaxConnNum (line 41) | func WithMaxConnNum(num int64) Option { function WithHandshakeTimeout (line 47) | func WithHandshakeTimeout(t time.Duration) Option { function WithMessageMaxMsgLength (line 53) | func WithMessageMaxMsgLength(length int) Option { function WithWriteBufferSize (line 59) | func WithWriteBufferSize(size int) Option { FILE: internal/msggateway/subscription.go method subscriberUserOnlineStatusChanges (line 12) | func (ws *WsServer) subscriberUserOnlineStatusChanges(ctx context.Contex... method SubUserOnlineStatus (line 21) | func (ws *WsServer) SubUserOnlineStatus(ctx context.Context, client *Cli... function newSubscription (line 44) | func newSubscription() *Subscription { type subClient (line 50) | type subClient struct type Subscription (line 54) | type Subscription struct method DelClient (line 59) | func (s *Subscription) DelClient(client *Client) { method GetClient (line 84) | func (s *Subscription) GetClient(userID string) []*Client { method Sub (line 98) | func (s *Subscription) Sub(client *Client, addUserIDs, delUserIDs []st... method pushUserIDOnlineStatus (line 149) | func (ws *WsServer) pushUserIDOnlineStatus(ctx context.Context, userID s... FILE: internal/msggateway/user_map.go type UserMap (line 9) | type UserMap interface type UserState (line 19) | type UserState struct type UserPlatform (line 25) | type UserPlatform struct method PlatformIDs (line 30) | func (u *UserPlatform) PlatformIDs() []int32 { method PlatformIDSet (line 41) | func (u *UserPlatform) PlatformIDSet() map[int32]struct{} { function newUserMap (line 52) | func newUserMap() UserMap { type userMap (line 59) | type userMap struct method RecvSubChange (line 65) | func (u *userMap) RecvSubChange(userID string, platformIDs []int32) bo... method push (line 83) | func (u *userMap) push(userID string, userPlatform *UserPlatform, offl... method GetAll (line 93) | func (u *userMap) GetAll(userID string) ([]*Client, bool) { method Get (line 103) | func (u *userMap) Get(userID string, platformID int) ([]*Client, bool,... method Set (line 119) | func (u *userMap) Set(userID string, client *Client) { method DeleteClients (line 134) | func (u *userMap) DeleteClients(userID string, clients []*Client) (isD... method GetAllUserStatus (line 165) | func (u *userMap) GetAllUserStatus(deadline time.Time, nowtime time.Ti... method UserState (line 183) | func (u *userMap) UserState() <-chan UserState { FILE: internal/msggateway/ws_server.go type LongConnServer (line 33) | type LongConnServer interface type WsServer (line 48) | type WsServer struct method SetDiscoveryRegistry (line 82) | func (ws *WsServer) SetDiscoveryRegistry(ctx context.Context, disCov d... method UnRegister (line 121) | func (ws *WsServer) UnRegister(c *Client) { method Validate (line 125) | func (ws *WsServer) Validate(_ any) error { method GetUserAllCons (line 129) | func (ws *WsServer) GetUserAllCons(userID string) ([]*Client, bool) { method GetUserPlatformCons (line 133) | func (ws *WsServer) GetUserPlatformCons(userID string, platform int) (... method Run (line 171) | func (ws *WsServer) Run(ctx context.Context) error { method sendUserOnlineInfoToOtherNode (line 221) | func (ws *WsServer) sendUserOnlineInfoToOtherNode(ctx context.Context,... method SetKickHandlerInfo (line 259) | func (ws *WsServer) SetKickHandlerInfo(i *kickHandler) { method registerClient (line 263) | func (ws *WsServer) registerClient(client *Client) { method KickUserConn (line 328) | func (ws *WsServer) KickUserConn(client *Client) error { method multiTerminalLoginChecker (line 333) | func (ws *WsServer) multiTerminalLoginChecker(clientOK bool, oldClient... method unregisterClient (line 439) | func (ws *WsServer) unregisterClient(client *Client) { method validateRespWithRequest (line 456) | func (ws *WsServer) validateRespWithRequest(ctx *UserConnContext, resp... method handlerError (line 468) | func (ws *WsServer) handlerError(ctx *UserConnContext, w http.Response... method wsHandler (line 491) | func (ws *WsServer) wsHandler(w http.ResponseWriter, r *http.Request) { type kickHandler (line 76) | type kickHandler struct function NewWsServer (line 137) | func NewWsServer(msgGatewayConfig *Config, opts ...Option) *WsServer { constant concurrentRequest (line 219) | concurrentRequest = 3 function getRemoteAdders (line 316) | func getRemoteAdders(client []*Client) string { FILE: internal/msgtransfer/callback.go function toCommonCallback (line 20) | func toCommonCallback(ctx context.Context, msg *sdkws.MsgData, command s... function GetContent (line 43) | func GetContent(msg *sdkws.MsgData) string { method webhookAfterMsgSaveDB (line 54) | func (mc *OnlineHistoryMongoConsumerHandler) webhookAfterMsgSaveDB(ctx c... function buildKeyMsgDataQuery (line 74) | func buildKeyMsgDataQuery(msg *sdkws.MsgData) map[string]string { function filterAfterMsg (line 86) | func filterAfterMsg(msg *sdkws.MsgData, after *config.AfterConfig) bool { function filterMsg (line 90) | func filterMsg(msg *sdkws.MsgData, attentionIds []string, deniedTypes []... function defaultDeniedTypes (line 111) | func defaultDeniedTypes(contentType int32) bool { FILE: internal/msgtransfer/init.go type MsgTransfer (line 37) | type MsgTransfer struct method Start (line 149) | func (m *MsgTransfer) Start(ctx context.Context) error { type Config (line 50) | type Config struct function Start (line 61) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/msgtransfer/online_history_msg_handler.go constant size (line 47) | size = 500 constant mainDataBuffer (line 48) | mainDataBuffer = 500 constant subChanBuffer (line 49) | subChanBuffer = 50 constant worker (line 50) | worker = 50 constant interval (line 51) | interval = 100 * time.Millisecond constant hasReadChanBuffer (line 52) | hasReadChanBuffer = 1000 type ContextMsg (line 55) | type ContextMsg struct type userHasReadSeq (line 62) | type userHasReadSeq struct type OnlineHistoryRedisConsumerHandler (line 67) | type OnlineHistoryRedisConsumerHandler struct method do (line 126) | func (och *OnlineHistoryRedisConsumerHandler) do(ctx context.Context, ... method doSetReadSeq (line 144) | func (och *OnlineHistoryRedisConsumerHandler) doSetReadSeq(ctx context... method parseConsumerMessages (line 192) | func (och *OnlineHistoryRedisConsumerHandler) parseConsumerMessages(ct... method categorizeMessageLists (line 211) | func (och *OnlineHistoryRedisConsumerHandler) categorizeMessageLists(t... method handleMsg (line 254) | func (och *OnlineHistoryRedisConsumerHandler) handleMsg(ctx context.Co... method handleNotification (line 331) | func (och *OnlineHistoryRedisConsumerHandler) handleNotification(ctx c... method HandleUserHasReadSeqMessages (line 354) | func (och *OnlineHistoryRedisConsumerHandler) HandleUserHasReadSeqMess... method Close (line 371) | func (och *OnlineHistoryRedisConsumerHandler) Close() { method toPushTopic (line 376) | func (och *OnlineHistoryRedisConsumerHandler) toPushTopic(ctx context.... method HandlerRedisMessage (line 399) | func (och *OnlineHistoryRedisConsumerHandler) HandlerRedisMessage(msg ... type ConsumerMessage (line 78) | type ConsumerMessage struct function NewOnlineHistoryRedisConsumerHandler (line 85) | func NewOnlineHistoryRedisConsumerHandler(ctx context.Context, client di... function withAggregationCtx (line 385) | func withAggregationCtx(ctx context.Context, values []*ContextMsg) conte... FILE: internal/msgtransfer/online_msg_to_mongo_handler.go type OnlineHistoryMongoConsumerHandler (line 28) | type OnlineHistoryMongoConsumerHandler struct method HandleChatWs2Mongo (line 42) | func (mc *OnlineHistoryMongoConsumerHandler) HandleChatWs2Mongo(val mq... function NewOnlineHistoryMongoConsumerHandler (line 34) | func NewOnlineHistoryMongoConsumerHandler(database controller.MsgTransfe... FILE: internal/push/callback.go method webhookBeforeOfflinePush (line 30) | func (c *ConsumerHandler) webhookBeforeOfflinePush(ctx context.Context, ... method webhookBeforeOnlinePush (line 71) | func (c *ConsumerHandler) webhookBeforeOnlinePush(ctx context.Context, b... method webhookBeforeGroupOnlinePush (line 102) | func (c *ConsumerHandler) webhookBeforeGroupOnlinePush( function GetContent (line 140) | func GetContent(msg *sdkws.MsgData) string { FILE: internal/push/offlinepush/dummy/push.go function NewClient (line 24) | func NewClient() *Dummy { type Dummy (line 28) | type Dummy struct method Push (line 32) | func (d *Dummy) Push(ctx context.Context, userIDs []string, title, con... FILE: internal/push/offlinepush/fcm/push.go constant SinglePushCountLimit (line 37) | SinglePushCountLimit = 400 type Fcm (line 41) | type Fcm struct method Push (line 79) | func (f *Fcm) Push(ctx context.Context, userIDs []string, title, conte... function NewClient (line 48) | func NewClient(pushConf *config.Push, cache cache.ThirdCache, fcmConfigP... FILE: internal/push/offlinepush/getui/body.go type Resp (line 33) | type Resp struct method parseError (line 39) | func (r *Resp) parseError() (err error) { type RespI (line 51) | type RespI interface type AuthReq (line 55) | type AuthReq struct type AuthResp (line 61) | type AuthResp struct type TaskResp (line 66) | type TaskResp struct type Settings (line 70) | type Settings struct type strategy (line 75) | type strategy struct type Audience (line 91) | type Audience struct type PushMessage (line 95) | type PushMessage struct type PushChannel (line 100) | type PushChannel struct type PushReq (line 105) | type PushReq struct method setPushChannel (line 184) | func (pushReq *PushReq) setPushChannel(title string, body string) { type Ios (line 115) | type Ios struct type Alert (line 124) | type Alert struct type Android (line 129) | type Android struct type Notification (line 136) | type Notification struct type Options (line 146) | type Options struct type Payload (line 162) | type Payload struct function newPushReq (line 166) | func newPushReq(pushConf *config.Push, title, content string) PushReq { function newBatchPushReq (line 179) | func newBatchPushReq(userIDs []string, taskID string) PushReq { FILE: internal/push/offlinepush/getui/push.go constant pushURL (line 43) | pushURL = "/push/single/alias" constant authURL (line 44) | authURL = "/auth" constant taskURL (line 45) | taskURL = "/push/list/message" constant batchPushURL (line 46) | batchPushURL = "/push/list/alias" constant tokenExpireCode (line 49) | tokenExpireCode = 10001 constant tokenExpireTime (line 50) | tokenExpireTime = 60 * 60 * 23 constant taskIDTTL (line 51) | taskIDTTL = 1000 * 60 * 60 * 24 type Client (line 54) | type Client struct method Push (line 71) | func (g *Client) Push(ctx context.Context, userIDs []string, title, co... method Auth (line 125) | func (g *Client) Auth(ctx context.Context, timeStamp int64) (token str... method GetTaskID (line 145) | func (g *Client) GetTaskID(ctx context.Context, token string, pushReq ... method batchPush (line 157) | func (g *Client) batchPush(ctx context.Context, token string, userIDs ... method singlePush (line 166) | func (g *Client) singlePush(ctx context.Context, token, userID string,... method request (line 173) | func (g *Client) request(ctx context.Context, url string, input any, t... method postReturn (line 180) | func (g *Client) postReturn( method getTokenAndSave2Redis (line 196) | func (g *Client) getTokenAndSave2Redis(ctx context.Context) (token str... method GetTaskIDAndSave2Redis (line 208) | func (g *Client) GetTaskIDAndSave2Redis(ctx context.Context, token str... function NewClient (line 62) | func NewClient(pushConf *config.Push, cache cache.ThirdCache) *Client { FILE: internal/push/offlinepush/jpush/body/audience.go constant TAG (line 18) | TAG = "tag" constant TAGAND (line 19) | TAGAND = "tag_and" constant TAGNOT (line 20) | TAGNOT = "tag_not" constant ALIAS (line 21) | ALIAS = "alias" constant REGISTRATIONID (line 22) | REGISTRATIONID = "registration_id" type Audience (line 25) | type Audience struct method set (line 30) | func (a *Audience) set(key string, v []string) { method SetTag (line 42) | func (a *Audience) SetTag(tags []string) { method SetTagAnd (line 46) | func (a *Audience) SetTagAnd(tags []string) { method SetTagNot (line 50) | func (a *Audience) SetTagNot(tags []string) { method SetAlias (line 54) | func (a *Audience) SetAlias(alias []string) { method SetRegistrationId (line 58) | func (a *Audience) SetRegistrationId(ids []string) { method SetAll (line 62) | func (a *Audience) SetAll() { FILE: internal/push/offlinepush/jpush/body/message.go type Message (line 17) | type Message struct method SetMsgContent (line 24) | func (m *Message) SetMsgContent(c string) { method SetTitle (line 28) | func (m *Message) SetTitle(t string) { method SetContentType (line 32) | func (m *Message) SetContentType(c string) { method SetExtras (line 36) | func (m *Message) SetExtras(key string, value any) { FILE: internal/push/offlinepush/jpush/body/notification.go type Notification (line 22) | type Notification struct method SetAlert (line 49) | func (n *Notification) SetAlert(alert string, title string, opts *opti... method SetExtras (line 61) | func (n *Notification) SetExtras(extras map[string]string) { method SetAndroidIntent (line 66) | func (n *Notification) SetAndroidIntent(pushConf *config.Push) { method IOSEnableMutableContent (line 70) | func (n *Notification) IOSEnableMutableContent() { type Android (line 28) | type Android struct type Ios (line 36) | type Ios struct type IosAlert (line 44) | type IosAlert struct FILE: internal/push/offlinepush/jpush/body/options.go type Options (line 17) | type Options struct method SetApnsProduction (line 21) | func (o *Options) SetApnsProduction(c bool) { FILE: internal/push/offlinepush/jpush/body/platform.go constant ANDROID (line 24) | ANDROID = "android" constant IOS (line 25) | IOS = "ios" constant QUICKAPP (line 26) | QUICKAPP = "quickapp" constant WINDOWSPHONE (line 27) | WINDOWSPHONE = "winphone" constant ALL (line 28) | ALL = "all" type Platform (line 31) | type Platform struct method Set (line 36) | func (p *Platform) Set(os string) error { method SetPlatform (line 70) | func (p *Platform) SetPlatform(platform string) error { method SetIOS (line 81) | func (p *Platform) SetIOS() error { method SetAndroid (line 85) | func (p *Platform) SetAndroid() error { method SetQuickApp (line 89) | func (p *Platform) SetQuickApp() error { method SetWindowsPhone (line 93) | func (p *Platform) SetWindowsPhone() error { method SetAll (line 97) | func (p *Platform) SetAll() { FILE: internal/push/offlinepush/jpush/body/pushobj.go type PushObj (line 17) | type PushObj struct method SetPlatform (line 25) | func (p *PushObj) SetPlatform(pf *Platform) { method SetAudience (line 29) | func (p *PushObj) SetAudience(ad *Audience) { method SetNotification (line 33) | func (p *PushObj) SetNotification(no *Notification) { method SetMessage (line 37) | func (p *PushObj) SetMessage(m *Message) { method SetOptions (line 41) | func (p *PushObj) SetOptions(o *Options) { FILE: internal/push/offlinepush/jpush/push.go type JPush (line 28) | type JPush struct method Auth (line 39) | func (j *JPush) Auth(apiKey, secretKey string, timeStamp int64) (token... method SetAlias (line 43) | func (j *JPush) SetAlias(cid, alias string) (resp string, err error) { method getAuthorization (line 47) | func (j *JPush) getAuthorization(appKey string, masterSecret string) s... method Push (line 54) | func (j *JPush) Push(ctx context.Context, userIDs []string, title, con... method request (line 89) | func (j *JPush) request(ctx context.Context, po body.PushObj, resp *ma... function NewClient (line 33) | func NewClient(pushConf *config.Push) *JPush { FILE: internal/push/offlinepush/offlinepusher.go constant geTUI (line 30) | geTUI = "getui" constant firebase (line 31) | firebase = "fcm" constant jPush (line 32) | jPush = "jpush" type OfflinePusher (line 36) | type OfflinePusher interface function NewOfflinePusher (line 40) | func NewOfflinePusher(pushConf *config.Push, cache cache.ThirdCache, fcm... FILE: internal/push/offlinepush/options/options.go type Opts (line 4) | type Opts struct type Signal (line 12) | type Signal struct FILE: internal/push/offlinepush_handler.go type OfflinePushConsumerHandler (line 18) | type OfflinePushConsumerHandler struct method HandleMsg2OfflinePush (line 28) | func (o *OfflinePushConsumerHandler) HandleMsg2OfflinePush(ctx context... method getOfflinePushInfos (line 49) | func (o *OfflinePushConsumerHandler) getOfflinePushInfos(msg *sdkws.Ms... method offlinePushMsg (line 94) | func (o *OfflinePushConsumerHandler) offlinePushMsg(ctx context.Contex... function NewOfflinePushConsumerHandler (line 22) | func NewOfflinePushConsumerHandler(offlinePusher offlinepush.OfflinePush... FILE: internal/push/onlinepusher.go type OnlinePusher (line 21) | type OnlinePusher interface type emptyOnlinePusher (line 28) | type emptyOnlinePusher struct method GetConnsAndOnlinePush (line 34) | func (emptyOnlinePusher) GetConnsAndOnlinePush(ctx context.Context, ms... method GetOnlinePushFailedUserIDs (line 38) | func (u emptyOnlinePusher) GetOnlinePushFailedUserIDs(ctx context.Cont... function newEmptyOnlinePusher (line 30) | func newEmptyOnlinePusher() *emptyOnlinePusher { function NewOnlinePusher (line 43) | func NewOnlinePusher(disCov discovery.Conn, config *Config) (OnlinePushe... type DefaultAllNode (line 58) | type DefaultAllNode struct method GetConnsAndOnlinePush (line 67) | func (d *DefaultAllNode) GetConnsAndOnlinePush(ctx context.Context, ms... method GetOnlinePushFailedUserIDs (line 122) | func (d *DefaultAllNode) GetOnlinePushFailedUserIDs(_ context.Context,... function NewDefaultAllNode (line 63) | func NewDefaultAllNode(disCov discovery.Conn, config *Config) *DefaultAl... type K8sStaticConsistentHash (line 141) | type K8sStaticConsistentHash struct method GetConnsAndOnlinePush (line 150) | func (k *K8sStaticConsistentHash) GetConnsAndOnlinePush(ctx context.Co... method GetOnlinePushFailedUserIDs (line 205) | func (k *K8sStaticConsistentHash) GetOnlinePushFailedUserIDs(_ context... function NewK8sStaticConsistentHash (line 146) | func NewK8sStaticConsistentHash(disCov discovery.SvcDiscoveryRegistry, c... FILE: internal/push/push.go type pushServer (line 26) | type pushServer struct method DelUserPushToken (line 46) | func (p pushServer) DelUserPushToken(ctx context.Context, type Config (line 33) | type Config struct function Start (line 54) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/push/push_handler.go type ConsumerHandler (line 31) | type ConsumerHandler struct method HandleMs2PsChat (line 88) | func (c *ConsumerHandler) HandleMs2PsChat(ctx context.Context, msg []b... method WaitCache (line 122) | func (c *ConsumerHandler) WaitCache() { method Push2User (line 127) | func (c *ConsumerHandler) Push2User(ctx context.Context, userIDs []str... method shouldPushOffline (line 181) | func (c *ConsumerHandler) shouldPushOffline(_ context.Context, msg *sd... method GetConnsAndOnlinePush (line 195) | func (c *ConsumerHandler) GetConnsAndOnlinePush(ctx context.Context, m... method Push2Group (line 221) | func (c *ConsumerHandler) Push2Group(ctx context.Context, groupID stri... method asyncOfflinePush (line 265) | func (c *ConsumerHandler) asyncOfflinePush(ctx context.Context, needOf... method groupMessagesHandler (line 286) | func (c *ConsumerHandler) groupMessagesHandler(ctx context.Context, gr... method offlinePushMsg (line 334) | func (c *ConsumerHandler) offlinePushMsg(ctx context.Context, msg *sdk... method filterGroupMessageOfflinePush (line 348) | func (c *ConsumerHandler) filterGroupMessageOfflinePush(ctx context.Co... method getOfflinePushInfos (line 357) | func (c *ConsumerHandler) getOfflinePushInfos(msg *sdkws.MsgData) (tit... method DeleteMemberAndSetConversationSeq (line 402) | func (c *ConsumerHandler) DeleteMemberAndSetConversationSeq(ctx contex... function NewConsumerHandler (line 47) | func NewConsumerHandler(ctx context.Context, config *Config, database co... function unmarshalNotificationElem (line 411) | func unmarshalNotificationElem(bytes []byte, t any) error { FILE: internal/rpc/auth/auth.go type authServer (line 49) | type authServer struct method GetAdminToken (line 116) | func (s *authServer) GetAdminToken(ctx context.Context, req *pbauth.Ge... method GetUserToken (line 143) | func (s *authServer) GetUserToken(ctx context.Context, req *pbauth.Get... method GetExistingToken (line 174) | func (s *authServer) GetExistingToken(ctx context.Context, req *pbauth... method parseToken (line 185) | func (s *authServer) parseToken(ctx context.Context, tokensString stri... method ParseToken (line 225) | func (s *authServer) ParseToken(ctx context.Context, req *pbauth.Parse... method ForceLogout (line 237) | func (s *authServer) ForceLogout(ctx context.Context, req *pbauth.Forc... method forceKickOff (line 247) | func (s *authServer) forceKickOff(ctx context.Context, userID string, ... method InvalidateToken (line 279) | func (s *authServer) InvalidateToken(ctx context.Context, req *pbauth.... method KickTokens (line 304) | func (s *authServer) KickTokens(ctx context.Context, req *pbauth.KickT... type Config (line 59) | type Config struct function Start (line 68) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/rpc/conversation/callback.go method webhookBeforeCreateSingleChatConversations (line 13) | func (c *conversationServer) webhookBeforeCreateSingleChatConversations(... method webhookAfterCreateSingleChatConversations (line 47) | func (c *conversationServer) webhookAfterCreateSingleChatConversations(c... method webhookBeforeCreateGroupChatConversations (line 67) | func (c *conversationServer) webhookBeforeCreateGroupChatConversations(c... method webhookAfterCreateGroupChatConversations (line 100) | func (c *conversationServer) webhookAfterCreateGroupChatConversations(ct... FILE: internal/rpc/conversation/conversation.go type conversationServer (line 48) | type conversationServer struct method GetConversation (line 120) | func (c *conversationServer) GetConversation(ctx context.Context, req ... method GetSortedConversationList (line 137) | func (c *conversationServer) GetSortedConversationList(ctx context.Con... method GetAllConversations (line 224) | func (c *conversationServer) GetAllConversations(ctx context.Context, ... method GetConversations (line 237) | func (c *conversationServer) GetConversations(ctx context.Context, req... method getConversations (line 250) | func (c *conversationServer) getConversations(ctx context.Context, own... method SetConversation (line 261) | func (c *conversationServer) SetConversation(ctx context.Context, req ... method SetConversations (line 280) | func (c *conversationServer) SetConversations(ctx context.Context, req... method UpdateConversationsByUser (line 366) | func (c *conversationServer) UpdateConversationsByUser(ctx context.Con... method CreateSingleChatConversations (line 383) | func (c *conversationServer) CreateSingleChatConversations(ctx context... method CreateGroupChatConversations (line 442) | func (c *conversationServer) CreateGroupChatConversations(ctx context.... method SetConversationMaxSeq (line 466) | func (c *conversationServer) SetConversationMaxSeq(ctx context.Context... method SetConversationMinSeq (line 480) | func (c *conversationServer) SetConversationMinSeq(ctx context.Context... method GetConversationIDs (line 494) | func (c *conversationServer) GetConversationIDs(ctx context.Context, r... method GetUserConversationIDsHash (line 505) | func (c *conversationServer) GetUserConversationIDsHash(ctx context.Co... method GetConversationOfflinePushUserIDs (line 516) | func (c *conversationServer) GetConversationOfflinePushUserIDs(ctx con... method conversationSort (line 540) | func (c *conversationServer) conversationSort(conversations map[int64]... method getConversationInfo (line 562) | func (c *conversationServer) getConversationInfo(ctx context.Context, ... method GetConversationNotReceiveMessageUserIDs (line 639) | func (c *conversationServer) GetConversationNotReceiveMessageUserIDs(c... method UpdateConversation (line 647) | func (c *conversationServer) UpdateConversation(ctx context.Context, r... method GetOwnerConversation (line 698) | func (c *conversationServer) GetOwnerConversation(ctx context.Context,... method GetNotNotifyConversationIDs (line 712) | func (c *conversationServer) GetNotNotifyConversationIDs(ctx context.C... method GetPinnedConversationIDs (line 723) | func (c *conversationServer) GetPinnedConversationIDs(ctx context.Cont... method ClearUserConversationMsg (line 734) | func (c *conversationServer) ClearUserConversationMsg(ctx context.Cont... method setConversationMinSeqAndLatestMsgDestructTime (line 764) | func (c *conversationServer) setConversationMinSeqAndLatestMsgDestruct... method DeleteConversations (line 782) | func (c *conversationServer) DeleteConversations(ctx context.Context, ... type Config (line 61) | type Config struct function Start (line 72) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/rpc/conversation/db_map.go function UpdateConversationsMap (line 10) | func UpdateConversationsMap(ctx context.Context, req *conversation.SetCo... function UserUpdateCheckMap (line 56) | func UserUpdateCheckMap(ctx context.Context, userID string, req *convers... FILE: internal/rpc/conversation/notification.go type ConversationNotificationSender (line 29) | type ConversationNotificationSender struct method ConversationSetPrivateNotification (line 40) | func (c *ConversationNotificationSender) ConversationSetPrivateNotific... method ConversationChangeNotification (line 53) | func (c *ConversationNotificationSender) ConversationChangeNotificatio... method ConversationUnreadChangeNotification (line 62) | func (c *ConversationNotificationSender) ConversationUnreadChangeNotif... method ConversationDeleteNotification (line 77) | func (c *ConversationNotificationSender) ConversationDeleteNotificatio... function NewConversationNotificationSender (line 33) | func NewConversationNotificationSender(conf *config.Notification, msgCli... FILE: internal/rpc/conversation/sync.go method GetFullOwnerConversationIDs (line 13) | func (c *conversationServer) GetFullOwnerConversationIDs(ctx context.Con... method GetIncrementalConversation (line 37) | func (c *conversationServer) GetIncrementalConversation(ctx context.Cont... FILE: internal/rpc/group/cache.go method GetGroupInfoCache (line 25) | func (g *groupServer) GetGroupInfoCache(ctx context.Context, req *pbgrou... method GetGroupMemberCache (line 35) | func (g *groupServer) GetGroupMemberCache(ctx context.Context, req *pbgr... FILE: internal/rpc/group/callback.go method webhookBeforeCreateGroup (line 35) | func (g *groupServer) webhookBeforeCreateGroup(ctx context.Context, befo... method webhookAfterCreateGroup (line 80) | func (g *groupServer) webhookAfterCreateGroup(ctx context.Context, after... method webhookBeforeMembersJoinGroup (line 104) | func (g *groupServer) webhookBeforeMembersJoinGroup(ctx context.Context,... method webhookBeforeSetGroupMemberInfo (line 147) | func (g *groupServer) webhookBeforeSetGroupMemberInfo(ctx context.Contex... method webhookAfterSetGroupMemberInfo (line 186) | func (g *groupServer) webhookAfterSetGroupMemberInfo(ctx context.Context... method webhookAfterQuitGroup (line 207) | func (g *groupServer) webhookAfterQuitGroup(ctx context.Context, after *... method webhookAfterKickGroupMember (line 216) | func (g *groupServer) webhookAfterKickGroupMember(ctx context.Context, a... method webhookAfterDismissGroup (line 226) | func (g *groupServer) webhookAfterDismissGroup(ctx context.Context, afte... method webhookBeforeApplyJoinGroup (line 231) | func (g *groupServer) webhookBeforeApplyJoinGroup(ctx context.Context, b... method webhookAfterTransferGroupOwner (line 242) | func (g *groupServer) webhookAfterTransferGroupOwner(ctx context.Context... method webhookBeforeInviteUserToGroup (line 252) | func (g *groupServer) webhookBeforeInviteUserToGroup(ctx context.Context... method webhookAfterJoinGroup (line 278) | func (g *groupServer) webhookAfterJoinGroup(ctx context.Context, after *... method webhookBeforeSetGroupInfo (line 290) | func (g *groupServer) webhookBeforeSetGroupInfo(ctx context.Context, bef... method webhookAfterSetGroupInfo (line 339) | func (g *groupServer) webhookAfterSetGroupInfo(ctx context.Context, afte... method webhookBeforeSetGroupInfoEx (line 363) | func (g *groupServer) webhookBeforeSetGroupInfoEx(ctx context.Context, b... method webhookAfterSetGroupInfoEx (line 408) | func (g *groupServer) webhookAfterSetGroupInfoEx(ctx context.Context, af... FILE: internal/rpc/group/convert.go method groupDB2PB (line 22) | func (g *groupServer) groupDB2PB(group *model.Group, ownerUserID string,... method groupMemberDB2PB (line 44) | func (g *groupServer) groupMemberDB2PB(member *model.GroupMember, appMan... method groupMemberDB2PB2 (line 61) | func (g *groupServer) groupMemberDB2PB2(member *model.GroupMember) *sdkw... FILE: internal/rpc/group/db_map.go function UpdateGroupInfoMap (line 28) | func UpdateGroupInfoMap(ctx context.Context, group *sdkws.GroupInfoForSe... function UpdateGroupInfoExMap (line 59) | func UpdateGroupInfoExMap(ctx context.Context, group *pbgroup.SetGroupIn... function UpdateGroupStatusMap (line 107) | func UpdateGroupStatusMap(status int) map[string]any { function UpdateGroupMemberMutedTimeMap (line 113) | func UpdateGroupMemberMutedTimeMap(t time.Time) map[string]any { function UpdateGroupMemberMap (line 119) | func UpdateGroupMemberMap(req *pbgroup.SetGroupMemberInfo) map[string]any { FILE: internal/rpc/group/fill.go method PopulateGroupMember (line 23) | func (g *groupServer) PopulateGroupMember(ctx context.Context, members .... FILE: internal/rpc/group/group.go type groupServer (line 57) | type groupServer struct method NotificationUserInfoUpdate (line 129) | func (g *groupServer) NotificationUserInfoUpdate(ctx context.Context, ... method CheckGroupAdmin (line 155) | func (g *groupServer) CheckGroupAdmin(ctx context.Context, groupID str... method IsNotFound (line 172) | func (g *groupServer) IsNotFound(err error) bool { method GenGroupID (line 176) | func (g *groupServer) GenGroupID(ctx context.Context, groupID *string)... method CreateGroup (line 205) | func (g *groupServer) CreateGroup(ctx context.Context, req *pbgroup.Cr... method GetJoinedGroupList (line 315) | func (g *groupServer) GetJoinedGroupList(ctx context.Context, req *pbg... method InviteUserToGroup (line 361) | func (g *groupServer) InviteUserToGroup(ctx context.Context, req *pbgr... method GetGroupAllMember (line 481) | func (g *groupServer) GetGroupAllMember(ctx context.Context, req *pbgr... method checkAdminOrInGroup (line 509) | func (g *groupServer) checkAdminOrInGroup(ctx context.Context, groupID... method GetGroupMemberList (line 524) | func (g *groupServer) GetGroupMemberList(ctx context.Context, req *pbg... method KickGroupMember (line 550) | func (g *groupServer) KickGroupMember(ctx context.Context, req *pbgrou... method GetGroupMembersInfo (line 660) | func (g *groupServer) GetGroupMembersInfo(ctx context.Context, req *pb... method getGroupMembersInfo (line 679) | func (g *groupServer) getGroupMembersInfo(ctx context.Context, groupID... method GetGroupApplicationList (line 696) | func (g *groupServer) GetGroupApplicationList(ctx context.Context, req... method GetGroupsInfo (line 779) | func (g *groupServer) GetGroupsInfo(ctx context.Context, req *pbgroup.... method GetGroupApplicationUnhandledCount (line 792) | func (g *groupServer) GetGroupApplicationUnhandledCount(ctx context.Co... method getGroupsInfo (line 809) | func (g *groupServer) getGroupsInfo(ctx context.Context, groupIDs []st... method GroupApplicationResponse (line 840) | func (g *groupServer) GroupApplicationResponse(ctx context.Context, re... method JoinGroup (line 922) | func (g *groupServer) JoinGroup(ctx context.Context, req *pbgroup.Join... method QuitGroup (line 1000) | func (g *groupServer) QuitGroup(ctx context.Context, req *pbgroup.Quit... method deleteMemberAndSetConversationSeq (line 1031) | func (g *groupServer) deleteMemberAndSetConversationSeq(ctx context.Co... method setMemberJoinSeq (line 1040) | func (g *groupServer) setMemberJoinSeq(ctx context.Context, groupID st... method SetGroupInfo (line 1045) | func (g *groupServer) SetGroupInfo(ctx context.Context, req *pbgroup.S... method SetGroupInfoEx (line 1138) | func (g *groupServer) SetGroupInfoEx(ctx context.Context, req *pbgroup... method TransferGroupOwner (line 1252) | func (g *groupServer) TransferGroupOwner(ctx context.Context, req *pbg... method GetGroups (line 1315) | func (g *groupServer) GetGroups(ctx context.Context, req *pbgroup.GetG... method GetGroupMembersCMS (line 1364) | func (g *groupServer) GetGroupMembersCMS(ctx context.Context, req *pbg... method GetUserReqApplicationList (line 1383) | func (g *groupServer) GetUserReqApplicationList(ctx context.Context, r... method DismissGroup (line 1437) | func (g *groupServer) DismissGroup(ctx context.Context, req *pbgroup.D... method MuteGroupMember (line 1491) | func (g *groupServer) MuteGroupMember(ctx context.Context, req *pbgrou... method CancelMuteGroupMember (line 1525) | func (g *groupServer) CancelMuteGroupMember(ctx context.Context, req *... method MuteGroup (line 1565) | func (g *groupServer) MuteGroup(ctx context.Context, req *pbgroup.Mute... method CancelMuteGroup (line 1576) | func (g *groupServer) CancelMuteGroup(ctx context.Context, req *pbgrou... method SetGroupMemberInfo (line 1587) | func (g *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbg... method GetGroupAbstractInfo (line 1743) | func (g *groupServer) GetGroupAbstractInfo(ctx context.Context, req *p... method GetUserInGroupMembers (line 1779) | func (g *groupServer) GetUserInGroupMembers(ctx context.Context, req *... method GetGroupMemberUserIDs (line 1800) | func (g *groupServer) GetGroupMemberUserIDs(ctx context.Context, req *... method GetGroupMemberRoleLevel (line 1813) | func (g *groupServer) GetGroupMemberRoleLevel(ctx context.Context, req... method GetGroupUsersReqApplicationList (line 1834) | func (g *groupServer) GetGroupUsersReqApplicationList(ctx context.Cont... method GetSpecifiedUserGroupRequestInfo (line 1905) | func (g *groupServer) GetSpecifiedUserGroupRequestInfo(ctx context.Con... type Config (line 69) | type Config struct function Start (line 80) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/rpc/group/notification.go constant applicantReceiver (line 51) | applicantReceiver = iota constant adminReceiver (line 52) | adminReceiver function NewNotificationSender (line 55) | func NewNotificationSender(db controller.GroupDatabase, config *Config, ... type NotificationSender (line 77) | type NotificationSender struct method PopulateGroupMember (line 86) | func (g *NotificationSender) PopulateGroupMember(ctx context.Context, ... method getUser (line 121) | func (g *NotificationSender) getUser(ctx context.Context, userID strin... method getGroupInfo (line 137) | func (g *NotificationSender) getGroupInfo(ctx context.Context, groupID... method getGroupMembers (line 158) | func (g *NotificationSender) getGroupMembers(ctx context.Context, grou... method getGroupMemberMap (line 174) | func (g *NotificationSender) getGroupMemberMap(ctx context.Context, gr... method getGroupMember (line 186) | func (g *NotificationSender) getGroupMember(ctx context.Context, group... method getGroupOwnerAndAdminUserID (line 197) | func (g *NotificationSender) getGroupOwnerAndAdminUserID(ctx context.C... method groupMemberDB2PB (line 209) | func (g *NotificationSender) groupMemberDB2PB(member *model.GroupMembe... method fillOpUser (line 238) | func (g *NotificationSender) fillOpUser(ctx context.Context, targetUse... method fillUserByUserID (line 242) | func (g *NotificationSender) fillUserByUserID(ctx context.Context, use... method setVersion (line 286) | func (g *NotificationSender) setVersion(ctx context.Context, version *... method setSortVersion (line 298) | func (g *NotificationSender) setSortVersion(ctx context.Context, versi... method GroupCreatedNotification (line 313) | func (g *NotificationSender) GroupCreatedNotification(ctx context.Cont... method GroupInfoSetNotification (line 327) | func (g *NotificationSender) GroupInfoSetNotification(ctx context.Cont... method GroupInfoSetNameNotification (line 341) | func (g *NotificationSender) GroupInfoSetNameNotification(ctx context.... method GroupInfoSetAnnouncementNotification (line 355) | func (g *NotificationSender) GroupInfoSetAnnouncementNotification(ctx ... method uuid (line 369) | func (g *NotificationSender) uuid() string { method getGroupRequest (line 373) | func (g *NotificationSender) getGroupRequest(ctx context.Context, grou... method JoinGroupApplicationNotification (line 397) | func (g *NotificationSender) JoinGroupApplicationNotification(ctx cont... method MemberQuitNotification (line 436) | func (g *NotificationSender) MemberQuitNotification(ctx context.Contex... method GroupApplicationAcceptedNotification (line 453) | func (g *NotificationSender) GroupApplicationAcceptedNotification(ctx ... method GroupApplicationRejectedNotification (line 497) | func (g *NotificationSender) GroupApplicationRejectedNotification(ctx ... method GroupOwnerTransferredNotification (line 541) | func (g *NotificationSender) GroupOwnerTransferredNotification(ctx con... method MemberKickedNotification (line 572) | func (g *NotificationSender) MemberKickedNotification(ctx context.Cont... method GroupApplicationAgreeMemberEnterNotification (line 586) | func (g *NotificationSender) GroupApplicationAgreeMemberEnterNotificat... method groupApplicationAgreeMemberEnterNotification (line 590) | func (g *NotificationSender) groupApplicationAgreeMemberEnterNotificat... method MemberEnterNotification (line 642) | func (g *NotificationSender) MemberEnterNotification(ctx context.Conte... method GroupDismissedNotification (line 683) | func (g *NotificationSender) GroupDismissedNotification(ctx context.Co... method GroupMemberMutedNotification (line 696) | func (g *NotificationSender) GroupMemberMutedNotification(ctx context.... method GroupMemberCancelMutedNotification (line 724) | func (g *NotificationSender) GroupMemberCancelMutedNotification(ctx co... method GroupMutedNotification (line 749) | func (g *NotificationSender) GroupMutedNotification(ctx context.Contex... method GroupCancelMutedNotification (line 777) | func (g *NotificationSender) GroupCancelMutedNotification(ctx context.... method GroupMemberInfoSetNotification (line 805) | func (g *NotificationSender) GroupMemberInfoSetNotification(ctx contex... method GroupMemberSetToAdminNotification (line 830) | func (g *NotificationSender) GroupMemberSetToAdminNotification(ctx con... method GroupMemberSetToOrdinaryUserNotification (line 854) | func (g *NotificationSender) GroupMemberSetToOrdinaryUserNotification(... FILE: internal/rpc/group/statistics.go method GroupCreateCount (line 26) | func (g *groupServer) GroupCreateCount(ctx context.Context, req *group.G... FILE: internal/rpc/group/sync.go constant versionSyncLimit (line 18) | versionSyncLimit = 500 method GetFullGroupMemberUserIDs (line 20) | func (g *groupServer) GetFullGroupMemberUserIDs(ctx context.Context, req... method GetFullJoinGroupIDs (line 44) | func (g *groupServer) GetFullJoinGroupIDs(ctx context.Context, req *pbgr... method GetIncrementalGroupMember (line 68) | func (g *groupServer) GetIncrementalGroupMember(ctx context.Context, req... method GetIncrementalJoinGroup (line 146) | func (g *groupServer) GetIncrementalJoinGroup(ctx context.Context, req *... method BatchGetIncrementalGroupMember (line 172) | func (g *groupServer) BatchGetIncrementalGroupMember(ctx context.Context... FILE: internal/rpc/incrversion/batch_option.go type BatchOption (line 12) | type BatchOption struct method newError (line 24) | func (o *BatchOption[A, B]) newError(msg string) error { method check (line 28) | func (o *BatchOption[A, B]) check() error { method validVersions (line 47) | func (o *BatchOption[A, B]) validVersions() []bool { method equalIDs (line 56) | func (o *BatchOption[A, B]) equalIDs(objIDs []primitive.ObjectID) []bool { method getVersions (line 64) | func (o *BatchOption[A, B]) getVersions(tags *[]int) (versions map[strin... method Build (line 139) | func (o *BatchOption[A, B]) Build() (*B, error) { FILE: internal/rpc/incrversion/option.go constant syncLimit (line 19) | syncLimit = 200 constant tagQuery (line 22) | tagQuery = iota + 1 constant tagFull (line 23) | tagFull constant tagEqual (line 24) | tagEqual type Option (line 27) | type Option struct method newError (line 40) | func (o *Option[A, B]) newError(msg string) error { method check (line 44) | func (o *Option[A, B]) check() error { method validVersion (line 69) | func (o *Option[A, B]) validVersion() bool { method equalID (line 74) | func (o *Option[A, B]) equalID(objID primitive.ObjectID) bool { method getVersion (line 78) | func (o *Option[A, B]) getVersion(tag *int) (*model.VersionLog, error) { method Build (line 108) | func (o *Option[A, B]) Build() (*B, error) { FILE: internal/rpc/msg/as_read.go method GetConversationsHasReadAndMaxSeq (line 32) | func (m *msgServer) GetConversationsHasReadAndMaxSeq(ctx context.Context... method SetConversationHasReadSeq (line 88) | func (m *msgServer) SetConversationHasReadSeq(ctx context.Context, req *... method MarkMsgsAsRead (line 106) | func (m *msgServer) MarkMsgsAsRead(ctx context.Context, req *msg.MarkMsg... method MarkConversationAsRead (line 148) | func (m *msgServer) MarkConversationAsRead(ctx context.Context, req *msg... method sendMarkAsReadNotification (line 221) | func (m *msgServer) sendMarkAsReadNotification(ctx context.Context, conv... FILE: internal/rpc/msg/callback.go function toCommonCallback (line 37) | func toCommonCallback(ctx context.Context, msg *pbchat.SendMsgReq, comma... function GetContent (line 60) | func GetContent(msg *sdkws.MsgData) string { method webhookBeforeSendSingleMsg (line 71) | func (m *msgServer) webhookBeforeSendSingleMsg(ctx context.Context, befo... method webhookAfterSendSingleMsg (line 93) | func (m *msgServer) webhookAfterSendSingleMsg(ctx context.Context, after... method webhookBeforeSendGroupMsg (line 107) | func (m *msgServer) webhookBeforeSendGroupMsg(ctx context.Context, befor... method webhookAfterSendGroupMsg (line 127) | func (m *msgServer) webhookAfterSendGroupMsg(ctx context.Context, after ... method webhookBeforeMsgModify (line 142) | func (m *msgServer) webhookBeforeMsgModify(ctx context.Context, before *... method webhookAfterGroupMsgRead (line 186) | func (m *msgServer) webhookAfterGroupMsgRead(ctx context.Context, after ... method webhookAfterSingleMsgRead (line 191) | func (m *msgServer) webhookAfterSingleMsgRead(ctx context.Context, after... method webhookAfterRevokeMsg (line 199) | func (m *msgServer) webhookAfterRevokeMsg(ctx context.Context, after *co... function buildKeyMsgDataQuery (line 209) | func buildKeyMsgDataQuery(msg *sdkws.MsgData) map[string]string { FILE: internal/rpc/msg/clear.go method DestructMsgs (line 13) | func (m *msgServer) DestructMsgs(ctx context.Context, req *msg.DestructM... method GetLastMessageSeqByTime (line 55) | func (m *msgServer) GetLastMessageSeqByTime(ctx context.Context, req *ms... FILE: internal/rpc/msg/delete.go method getMinSeqs (line 28) | func (m *msgServer) getMinSeqs(maxSeqs map[string]int64) map[string]int64 { method validateDeleteSyncOpt (line 36) | func (m *msgServer) validateDeleteSyncOpt(opt *msg.DeleteSyncOpt) (isSyn... method ClearConversationsMsg (line 43) | func (m *msgServer) ClearConversationsMsg(ctx context.Context, req *msg.... method UserClearAllMsg (line 53) | func (m *msgServer) UserClearAllMsg(ctx context.Context, req *msg.UserCl... method DeleteMsgs (line 67) | func (m *msgServer) DeleteMsgs(ctx context.Context, req *msg.DeleteMsgsR... method DeleteMsgPhysicalBySeq (line 95) | func (m *msgServer) DeleteMsgPhysicalBySeq(ctx context.Context, req *msg... method DeleteMsgPhysical (line 106) | func (m *msgServer) DeleteMsgPhysical(ctx context.Context, req *msg.Dele... method clearConversation (line 117) | func (m *msgServer) clearConversation(ctx context.Context, conversationI... FILE: internal/rpc/msg/filter.go constant separator (line 14) | separator = "-" function filterAfterMsg (line 17) | func filterAfterMsg(msg *pbchat.SendMsgReq, after *config.AfterConfig) b... function filterBeforeMsg (line 21) | func filterBeforeMsg(msg *pbchat.SendMsgReq, before *config.BeforeConfig... function filterMsg (line 25) | func filterMsg(msg *pbchat.SendMsgReq, attentionIds []string, deniedType... function defaultDeniedTypes (line 47) | func defaultDeniedTypes(contentType int32) bool { function isInInterval (line 61) | func isInInterval(data int32, interval []string) bool { FILE: internal/rpc/msg/msg_status.go method SetSendMsgStatus (line 25) | func (m *msgServer) SetSendMsgStatus(ctx context.Context, req *pbmsg.Set... method GetSendMsgStatus (line 33) | func (m *msgServer) GetSendMsgStatus(ctx context.Context, req *pbmsg.Get... FILE: internal/rpc/msg/notification.go type MsgNotificationSender (line 25) | type MsgNotificationSender struct method UserDeleteMsgsNotification (line 33) | func (m *MsgNotificationSender) UserDeleteMsgsNotification(ctx context... method MarkAsReadNotification (line 42) | func (m *MsgNotificationSender) MarkAsReadNotification(ctx context.Con... function NewMsgNotificationSender (line 29) | func NewMsgNotificationSender(config *Config, opts ...notification.Notif... FILE: internal/rpc/msg/revoke.go method RevokeMsg (line 35) | func (m *msgServer) RevokeMsg(ctx context.Context, req *msg.RevokeMsgReq... FILE: internal/rpc/msg/send.go method SendMsg (line 37) | func (m *msgServer) SendMsg(ctx context.Context, req *pbmsg.SendMsgReq) ... method sendMsg (line 55) | func (m *msgServer) sendMsg(ctx context.Context, req *pbmsg.SendMsgReq, ... method sendMsgGroupChat (line 69) | func (m *msgServer) sendMsgGroupChat(ctx context.Context, req *pbmsg.Sen... method setConversationAtInfo (line 99) | func (m *msgServer) setConversationAtInfo(nctx context.Context, msg *sdk... method sendMsgNotification (line 161) | func (m *msgServer) sendMsgNotification(ctx context.Context, req *pbmsg.... method sendMsgSingleChat (line 173) | func (m *msgServer) sendMsgSingleChat(ctx context.Context, req *pbmsg.Se... method SendSimpleMsg (line 207) | func (m *msgServer) SendSimpleMsg(ctx context.Context, req *pbmsg.SendSi... FILE: internal/rpc/msg/seq.go method GetConversationMaxSeq (line 26) | func (m *msgServer) GetConversationMaxSeq(ctx context.Context, req *pbms... method GetMaxSeqs (line 34) | func (m *msgServer) GetMaxSeqs(ctx context.Context, req *pbmsg.GetMaxSeq... method GetHasReadSeqs (line 42) | func (m *msgServer) GetHasReadSeqs(ctx context.Context, req *pbmsg.GetHa... method GetMsgByConversationIDs (line 50) | func (m *msgServer) GetMsgByConversationIDs(ctx context.Context, req *pb... method SetUserConversationsMinSeq (line 58) | func (m *msgServer) SetUserConversationsMinSeq(ctx context.Context, req ... method GetActiveConversation (line 67) | func (m *msgServer) GetActiveConversation(ctx context.Context, req *pbms... method SetUserConversationMaxSeq (line 89) | func (m *msgServer) SetUserConversationMaxSeq(ctx context.Context, req *... method SetUserConversationMinSeq (line 98) | func (m *msgServer) SetUserConversationMinSeq(ctx context.Context, req *... FILE: internal/rpc/msg/server.go type MessageInterceptorFunc (line 41) | type MessageInterceptorFunc type MessageInterceptorChain (line 44) | type MessageInterceptorChain type Config (line 46) | type Config struct type msgServer (line 59) | type msgServer struct method addInterceptorHandler (line 77) | func (m *msgServer) addInterceptorHandler(interceptorFunc ...MessageIn... method conversationAndGetRecvID (line 160) | func (m *msgServer) conversationAndGetRecvID(conversation *conversatio... function Start (line 82) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/rpc/msg/statistics.go method GetActiveUser (line 29) | func (m *msgServer) GetActiveUser(ctx context.Context, req *msg.GetActiv... method GetActiveGroup (line 67) | func (m *msgServer) GetActiveGroup(ctx context.Context, req *msg.GetActi... FILE: internal/rpc/msg/sync_msg.go method PullMessageBySeqs (line 31) | func (m *msgServer) PullMessageBySeqs(ctx context.Context, req *sdkws.Pu... method GetSeqMessage (line 92) | func (m *msgServer) GetSeqMessage(ctx context.Context, req *msg.GetSeqMe... method GetMaxSeq (line 123) | func (m *msgServer) GetMaxSeq(ctx context.Context, req *sdkws.GetMaxSeqR... method SearchMessage (line 152) | func (m *msgServer) SearchMessage(ctx context.Context, req *msg.SearchMe... method GetServerTime (line 248) | func (m *msgServer) GetServerTime(ctx context.Context, _ *msg.GetServerT... method GetLastMessage (line 252) | func (m *msgServer) GetLastMessage(ctx context.Context, req *msg.GetLast... FILE: internal/rpc/msg/utils.go function IsNotFound (line 24) | func IsNotFound(err error) bool { type activeConversations (line 33) | type activeConversations method Len (line 35) | func (s activeConversations) Len() int { method Less (line 39) | func (s activeConversations) Less(i, j int) bool { method Swap (line 43) | func (s activeConversations) Swap(i, j int) { FILE: internal/rpc/msg/verify.go type Validator (line 37) | type Validator interface type MessageRevoked (line 41) | type MessageRevoked struct method messageVerification (line 54) | func (m *msgServer) messageVerification(ctx context.Context, data *msg.S... method encapsulateMsgData (line 143) | func (m *msgServer) encapsulateMsgData(msg *sdkws.MsgData) { function GetMsgID (line 171) | func GetMsgID(sendID string) string { method modifyMessageByUserMessageReceiveOpt (line 176) | func (m *msgServer) modifyMessageByUserMessageReceiveOpt(ctx context.Con... FILE: internal/rpc/relation/black.go method GetPaginationBlacks (line 31) | func (s *friendServer) GetPaginationBlacks(ctx context.Context, req *rel... method IsBlack (line 48) | func (s *friendServer) IsBlack(ctx context.Context, req *relation.IsBlac... method RemoveBlack (line 62) | func (s *friendServer) RemoveBlack(ctx context.Context, req *relation.Re... method AddBlack (line 77) | func (s *friendServer) AddBlack(ctx context.Context, req *relation.AddBl... method GetSpecifiedBlacks (line 103) | func (s *friendServer) GetSpecifiedBlacks(ctx context.Context, req *rela... FILE: internal/rpc/relation/callback.go method webhookAfterDeleteFriend (line 27) | func (s *friendServer) webhookAfterDeleteFriend(ctx context.Context, aft... method webhookBeforeAddFriend (line 36) | func (s *friendServer) webhookBeforeAddFriend(ctx context.Context, befor... method webhookAfterAddFriend (line 54) | func (s *friendServer) webhookAfterAddFriend(ctx context.Context, after ... method webhookAfterSetFriendRemark (line 65) | func (s *friendServer) webhookAfterSetFriendRemark(ctx context.Context, ... method webhookAfterImportFriends (line 76) | func (s *friendServer) webhookAfterImportFriends(ctx context.Context, af... method webhookAfterRemoveBlack (line 86) | func (s *friendServer) webhookAfterRemoveBlack(ctx context.Context, afte... method webhookBeforeSetFriendRemark (line 96) | func (s *friendServer) webhookBeforeSetFriendRemark(ctx context.Context,... method webhookBeforeAddBlack (line 115) | func (s *friendServer) webhookBeforeAddBlack(ctx context.Context, before... method webhookBeforeAddFriendAgree (line 127) | func (s *friendServer) webhookBeforeAddFriendAgree(ctx context.Context, ... method webhookAfterAddFriendAgree (line 141) | func (s *friendServer) webhookAfterAddFriendAgree(ctx context.Context, a... method webhookBeforeImportFriends (line 153) | func (s *friendServer) webhookBeforeImportFriends(ctx context.Context, b... FILE: internal/rpc/relation/friend.go type friendServer (line 45) | type friendServer struct method ApplyToAddFriend (line 137) | func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *rela... method ImportFriends (line 168) | func (s *friendServer) ImportFriends(ctx context.Context, req *relatio... method RespondFriendApply (line 203) | func (s *friendServer) RespondFriendApply(ctx context.Context, req *re... method DeleteFriend (line 239) | func (s *friendServer) DeleteFriend(ctx context.Context, req *relation... method SetFriendRemark (line 260) | func (s *friendServer) SetFriendRemark(ctx context.Context, req *relat... method GetFriendInfo (line 284) | func (s *friendServer) GetFriendInfo(ctx context.Context, req *relatio... method GetDesignatedFriends (line 295) | func (s *friendServer) GetDesignatedFriends(ctx context.Context, req *... method getFriend (line 312) | func (s *friendServer) getFriend(ctx context.Context, ownerUserID stri... method GetDesignatedFriendsApply (line 324) | func (s *friendServer) GetDesignatedFriendsApply(ctx context.Context, ... method GetPaginationFriendsApplyTo (line 341) | func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context... method GetPaginationFriendsApplyFrom (line 365) | func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Conte... method IsFriend (line 390) | func (s *friendServer) IsFriend(ctx context.Context, req *relation.IsF... method GetPaginationFriends (line 402) | func (s *friendServer) GetPaginationFriends(ctx context.Context, req *... method GetFriendIDs (line 423) | func (s *friendServer) GetFriendIDs(ctx context.Context, req *relation... method GetSpecifiedFriendsInfo (line 437) | func (s *friendServer) GetSpecifiedFriendsInfo(ctx context.Context, re... method UpdateFriends (line 517) | func (s *friendServer) UpdateFriends(ctx context.Context, req *relatio... method GetSelfUnhandledApplyCount (line 555) | func (s *friendServer) GetSelfUnhandledApplyCount(ctx context.Context,... method getCommonUserMap (line 570) | func (s *friendServer) getCommonUserMap(ctx context.Context, userIDs [... type Config (line 57) | type Config struct function Start (line 69) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/rpc/relation/notification.go type FriendNotificationSender (line 42) | type FriendNotificationSender struct method getUsersInfoMap (line 102) | func (f *FriendNotificationSender) getUsersInfoMap(ctx context.Context... method getFromToUserNickname (line 115) | func (f *FriendNotificationSender) getFromToUserNickname(ctx context.C... method UserInfoUpdatedNotification (line 123) | func (f *FriendNotificationSender) UserInfoUpdatedNotification(ctx con... method getCommonUserMap (line 128) | func (f *FriendNotificationSender) getCommonUserMap(ctx context.Contex... method getFriendRequests (line 138) | func (f *FriendNotificationSender) getFriendRequests(ctx context.Conte... method FriendApplicationAddNotification (line 158) | func (f *FriendNotificationSender) FriendApplicationAddNotification(ct... method FriendApplicationAgreedNotification (line 174) | func (f *FriendNotificationSender) FriendApplicationAgreedNotification... method FriendApplicationRefusedNotification (line 197) | func (f *FriendNotificationSender) FriendApplicationRefusedNotificatio... method FriendDeletedNotification (line 236) | func (f *FriendNotificationSender) FriendDeletedNotification(ctx conte... method setVersion (line 244) | func (f *FriendNotificationSender) setVersion(ctx context.Context, ver... method setSortVersion (line 255) | func (f *FriendNotificationSender) setSortVersion(ctx context.Context,... method FriendRemarkSetNotification (line 270) | func (f *FriendNotificationSender) FriendRemarkSetNotification(ctx con... method FriendsInfoUpdateNotification (line 278) | func (f *FriendNotificationSender) FriendsInfoUpdateNotification(ctx c... method BlackAddedNotification (line 285) | func (f *FriendNotificationSender) BlackAddedNotification(ctx context.... method BlackDeletedNotification (line 292) | func (f *FriendNotificationSender) BlackDeletedNotification(ctx contex... method FriendInfoUpdatedNotification (line 300) | func (f *FriendNotificationSender) FriendInfoUpdatedNotification(ctx c... type friendNotificationSenderOptions (line 50) | type friendNotificationSenderOptions function WithFriendDB (line 52) | func WithFriendDB(db controller.FriendDatabase) friendNotificationSender... function WithDBFunc (line 58) | func WithDBFunc(fn func(ctx context.Context, userIDs []string) (users []... function WithRpcFunc (line 74) | func WithRpcFunc(fn func(ctx context.Context, userIDs []string) ([]*sdkw... function NewFriendNotificationSender (line 90) | func NewFriendNotificationSender(conf *config.Notification, msgClient *r... FILE: internal/rpc/relation/sync.go method NotificationUserInfoUpdate (line 17) | func (s *friendServer) NotificationUserInfoUpdate(ctx context.Context, r... method GetFullFriendUserIDs (line 42) | func (s *friendServer) GetFullFriendUserIDs(ctx context.Context, req *re... method GetIncrementalFriends (line 66) | func (s *friendServer) GetIncrementalFriends(ctx context.Context, req *r... FILE: internal/rpc/third/log.go function genLogID (line 32) | func genLogID() string { method UploadLogs (line 47) | func (t *thirdServer) UploadLogs(ctx context.Context, req *third.UploadL... method DeleteLogs (line 85) | func (t *thirdServer) DeleteLogs(ctx context.Context, req *third.DeleteL... function dbToPbLogInfos (line 109) | func dbToPbLogInfos(logs []*relationtb.Log) []*third.LogInfo { method SearchLogs (line 126) | func (t *thirdServer) SearchLogs(ctx context.Context, req *third.SearchL... FILE: internal/rpc/third/s3.go method PartLimit (line 40) | func (t *thirdServer) PartLimit(ctx context.Context, req *third.PartLimi... method PartSize (line 52) | func (t *thirdServer) PartSize(ctx context.Context, req *third.PartSizeR... method InitiateMultipartUpload (line 60) | func (t *thirdServer) InitiateMultipartUpload(ctx context.Context, req *... method AuthSign (line 114) | func (t *thirdServer) AuthSign(ctx context.Context, req *third.AuthSignR... method CompleteMultipartUpload (line 137) | func (t *thirdServer) CompleteMultipartUpload(ctx context.Context, req *... method AccessURL (line 163) | func (t *thirdServer) AccessURL(ctx context.Context, req *third.AccessUR... method InitiateFormData (line 188) | func (t *thirdServer) InitiateFormData(ctx context.Context, req *third.I... method CompleteFormData (line 249) | func (t *thirdServer) CompleteFormData(ctx context.Context, req *third.C... method apiAddress (line 287) | func (t *thirdServer) apiAddress(prefix, name string) string { method DeleteOutdatedData (line 291) | func (t *thirdServer) DeleteOutdatedData(ctx context.Context, req *third... type FormDataMate (line 323) | type FormDataMate struct FILE: internal/rpc/third/third.go type thirdServer (line 46) | type thirdServer struct method FcmUpdateToken (line 143) | func (t *thirdServer) FcmUpdateToken(ctx context.Context, req *third.F... method SetAppBadge (line 151) | func (t *thirdServer) SetAppBadge(ctx context.Context, req *third.SetA... type Config (line 56) | type Config struct function Start (line 67) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/rpc/third/tool.go function toPbMapArray (line 29) | func toPbMapArray(m map[string][]string) []*third.KeyValues { method checkUploadName (line 43) | func (t *thirdServer) checkUploadName(ctx context.Context, name string) ... function checkValidObjectNamePrefix (line 65) | func checkValidObjectNamePrefix(objectName string) error { function checkValidObjectName (line 75) | func checkValidObjectName(objectName string) error { function putUpdate (line 82) | func putUpdate[T any](update map[string]any, name string, val interface{... FILE: internal/rpc/user/callback.go method webhookBeforeUpdateUserInfo (line 28) | func (s *userServer) webhookBeforeUpdateUserInfo(ctx context.Context, be... method webhookAfterUpdateUserInfo (line 48) | func (s *userServer) webhookAfterUpdateUserInfo(ctx context.Context, aft... method webhookBeforeUpdateUserInfoEx (line 58) | func (s *userServer) webhookBeforeUpdateUserInfoEx(ctx context.Context, ... method webhookAfterUpdateUserInfoEx (line 78) | func (s *userServer) webhookAfterUpdateUserInfoEx(ctx context.Context, a... method webhookBeforeUserRegister (line 88) | func (s *userServer) webhookBeforeUserRegister(ctx context.Context, befo... method webhookAfterUserRegister (line 108) | func (s *userServer) webhookAfterUserRegister(ctx context.Context, after... FILE: internal/rpc/user/config.go method GetUserClientConfig (line 12) | func (s *userServer) GetUserClientConfig(ctx context.Context, req *pbuse... method SetUserClientConfig (line 28) | func (s *userServer) SetUserClientConfig(ctx context.Context, req *pbuse... method DelUserClientConfig (line 43) | func (s *userServer) DelUserClientConfig(ctx context.Context, req *pbuse... method PageUserClientConfig (line 53) | func (s *userServer) PageUserClientConfig(ctx context.Context, req *pbus... FILE: internal/rpc/user/notification.go type UserNotificationSender (line 32) | type UserNotificationSender struct method UserStatusChangeNotification (line 103) | func (u *UserNotificationSender) UserStatusChangeNotification( method UserCommandUpdateNotification (line 109) | func (u *UserNotificationSender) UserCommandUpdateNotification( method UserCommandAddNotification (line 115) | func (u *UserNotificationSender) UserCommandAddNotification( method UserCommandDeleteNotification (line 121) | func (u *UserNotificationSender) UserCommandDeleteNotification( type userNotificationSenderOptions (line 39) | type userNotificationSenderOptions function WithUserDB (line 41) | func WithUserDB(db controller.UserDatabase) userNotificationSenderOptions { function WithUserFunc (line 47) | func WithUserFunc( function NewUserNotificationSender (line 65) | func NewUserNotificationSender(config *Config, msgClient *rpcli.MsgClien... FILE: internal/rpc/user/online.go method getUserOnlineStatus (line 12) | func (s *userServer) getUserOnlineStatus(ctx context.Context, userID str... method getUsersOnlineStatus (line 29) | func (s *userServer) getUsersOnlineStatus(ctx context.Context, userIDs [... method SubscribeOrCancelUsersStatus (line 42) | func (s *userServer) SubscribeOrCancelUsersStatus(ctx context.Context, r... method GetUserStatus (line 47) | func (s *userServer) GetUserStatus(ctx context.Context, req *pbuser.GetU... method SetUserStatus (line 56) | func (s *userServer) SetUserStatus(ctx context.Context, req *pbuser.SetU... method GetSubscribeUsersStatus (line 74) | func (s *userServer) GetSubscribeUsersStatus(ctx context.Context, req *p... method SetUserOnlineStatus (line 78) | func (s *userServer) SetUserOnlineStatus(ctx context.Context, req *pbuse... method GetAllOnlineUsers (line 87) | func (s *userServer) GetAllOnlineUsers(ctx context.Context, req *pbuser.... FILE: internal/rpc/user/statistics.go method UserRegisterCount (line 25) | func (s *userServer) UserRegisterCount(ctx context.Context, req *pbuser.... FILE: internal/rpc/user/user.go constant defaultSecret (line 53) | defaultSecret = "openIM123" type userServer (line 56) | type userServer struct method GetDesignateUsers (line 145) | func (s *userServer) GetDesignateUsers(ctx context.Context, req *pbuse... method UpdateUserInfo (line 158) | func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbuser.U... method UpdateUserInfoEx (line 185) | func (s *userServer) UpdateUserInfoEx(ctx context.Context, req *pbuser... method SetGlobalRecvMessageOpt (line 228) | func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req ... method AccountCheck (line 242) | func (s *userServer) AccountCheck(ctx context.Context, req *pbuser.Acc... method GetPaginationUsers (line 270) | func (s *userServer) GetPaginationUsers(ctx context.Context, req *pbus... method UserRegister (line 288) | func (s *userServer) UserRegister(ctx context.Context, req *pbuser.Use... method GetGlobalRecvMessageOpt (line 346) | func (s *userServer) GetGlobalRecvMessageOpt(ctx context.Context, req ... method GetAllUserID (line 355) | func (s *userServer) GetAllUserID(ctx context.Context, req *pbuser.Get... method ProcessUserCommandAdd (line 364) | func (s *userServer) ProcessUserCommandAdd(ctx context.Context, req *p... method ProcessUserCommandDelete (line 392) | func (s *userServer) ProcessUserCommandDelete(ctx context.Context, req... method ProcessUserCommandUpdate (line 411) | func (s *userServer) ProcessUserCommandUpdate(ctx context.Context, req... method ProcessUserCommandGet (line 439) | func (s *userServer) ProcessUserCommandGet(ctx context.Context, req *p... method ProcessUserCommandGetAll (line 469) | func (s *userServer) ProcessUserCommandGetAll(ctx context.Context, req... method AddNotificationAccount (line 498) | func (s *userServer) AddNotificationAccount(ctx context.Context, req *... method UpdateNotificationAccountInfo (line 544) | func (s *userServer) UpdateNotificationAccountInfo(ctx context.Context... method SearchNotificationAccount (line 570) | func (s *userServer) SearchNotificationAccount(ctx context.Context, re... method GetNotificationAccount (line 619) | func (s *userServer) GetNotificationAccount(ctx context.Context, req *... method genUserID (line 639) | func (s *userServer) genUserID() string { method userModelToResp (line 654) | func (s *userServer) userModelToResp(users []*tablerelation.User, pagi... method NotificationUserInfoUpdate (line 680) | func (s *userServer) NotificationUserInfoUpdate(ctx context.Context, u... method SortQuery (line 714) | func (s *userServer) SortQuery(ctx context.Context, req *pbuser.SortQu... type Config (line 72) | type Config struct function Start (line 84) | func Start(ctx context.Context, config *Config, client discovery.SvcDisc... FILE: internal/tools/cron/cron_task.go type Config (line 21) | type Config struct function Start (line 27) | func Start(ctx context.Context, conf *Config, client discovery.SvcDiscov... type Locker (line 98) | type Locker interface type emptyLocker (line 102) | type emptyLocker struct method ExecuteWithLock (line 104) | func (emptyLocker) ExecuteWithLock(ctx context.Context, taskName strin... type cronServer (line 108) | type cronServer struct method registerClearS3 (line 118) | func (c *cronServer) registerClearS3() error { method registerDeleteMsg (line 129) | func (c *cronServer) registerDeleteMsg() error { method registerClearUserMsg (line 140) | func (c *cronServer) registerClearUserMsg() error { FILE: internal/tools/cron/cron_test.go function TestName (line 19) | func TestName(t *testing.T) { FILE: internal/tools/cron/dist_look.go constant lockLeaseTTL (line 15) | lockLeaseTTL = 300 type EtcdLocker (line 18) | type EtcdLocker struct method ExecuteWithLock (line 37) | func (e *EtcdLocker) ExecuteWithLock(ctx context.Context, taskName str... function NewEtcdLocker (line 24) | func NewEtcdLocker(client *clientv3.Client) (*EtcdLocker, error) { FILE: internal/tools/cron/msg.go method deleteMsg (line 13) | func (c *cronServer) deleteMsg() { FILE: internal/tools/cron/s3.go method clearS3 (line 13) | func (c *cronServer) clearS3() { FILE: internal/tools/cron/user_msg.go method clearUserMsg (line 13) | func (c *cronServer) clearUserMsg() { FILE: magefile.go function Build (line 34) | func Build() { function BuildWithCustomConfig (line 43) | func BuildWithCustomConfig() { function Start (line 62) | func Start() { function StartWithCustomConfig (line 81) | func StartWithCustomConfig() { function Stop (line 106) | func Stop() { function Check (line 110) | func Check() { function Export (line 114) | func Export() { FILE: magefile_unix.go function setMaxOpenFiles (line 12) | func setMaxOpenFiles() error { FILE: magefile_windows.go function setMaxOpenFiles (line 6) | func setMaxOpenFiles() error { FILE: pkg/apistruct/config_manager.go type GetConfigReq (line 3) | type GetConfigReq struct type GetConfigListResp (line 7) | type GetConfigListResp struct type SetConfigReq (line 13) | type SetConfigReq struct type SetConfigsReq (line 18) | type SetConfigsReq struct type SetEnableConfigManagerReq (line 22) | type SetEnableConfigManagerReq struct type GetEnableConfigManagerResp (line 26) | type GetEnableConfigManagerResp struct FILE: pkg/apistruct/manage.go type SendMsg (line 23) | type SendMsg struct type SendMsgReq (line 65) | type SendMsgReq struct type GetConversationListReq (line 71) | type GetConversationListReq struct type GetConversationListResp (line 79) | type GetConversationListResp struct type ConversationElem (line 84) | type ConversationElem struct type BatchSendMsgReq (line 96) | type BatchSendMsgReq struct type BatchSendMsgResp (line 107) | type BatchSendMsgResp struct type SendSingleMsgReq (line 116) | type SendSingleMsgReq struct type KeyMsgData (line 124) | type KeyMsgData struct type SingleReturnResult (line 131) | type SingleReturnResult struct type SendMsgResp (line 148) | type SendMsgResp struct FILE: pkg/apistruct/msg.go type PictureBaseInfo (line 19) | type PictureBaseInfo struct type PictureElem (line 28) | type PictureElem struct type SoundElem (line 35) | type SoundElem struct type VideoElem (line 43) | type VideoElem struct type FileElem (line 58) | type FileElem struct type AtElem (line 65) | type AtElem struct type LocationElem (line 72) | type LocationElem struct type CustomElem (line 78) | type CustomElem struct type TextElem (line 84) | type TextElem struct type MarkdownTextElem (line 88) | type MarkdownTextElem struct type StreamMsgElem (line 92) | type StreamMsgElem struct type RevokeElem (line 97) | type RevokeElem struct type QuoteElem (line 101) | type QuoteElem struct type OANotificationElem (line 106) | type OANotificationElem struct type MessageRevoked (line 120) | type MessageRevoked struct type MsgStruct (line 129) | type MsgStruct struct type AtInfo (line 164) | type AtInfo struct FILE: pkg/apistruct/public.go type GroupAddMemberInfo (line 17) | type GroupAddMemberInfo struct FILE: pkg/authverify/token.go function Secret (line 28) | func Secret(secret string) jwt.Keyfunc { function CheckAdmin (line 34) | func CheckAdmin(ctx context.Context) error { function CheckUserIsAdmin (line 45) | func CheckUserIsAdmin(ctx context.Context, userID string) bool { function CheckSystemAccount (line 49) | func CheckSystemAccount(ctx context.Context, level int32) bool { constant CtxAdminUserIDsKey (line 54) | CtxAdminUserIDsKey = "CtxAdminUserIDsKey" function WithIMAdminUserIDs (line 57) | func WithIMAdminUserIDs(ctx context.Context, imAdminUserID []string) con... function GetIMAdminUserIDs (line 61) | func GetIMAdminUserIDs(ctx context.Context) []string { function IsAdmin (line 66) | func IsAdmin(ctx context.Context) bool { function CheckAccess (line 70) | func CheckAccess(ctx context.Context, ownerUserID string) error { function CheckAccessIn (line 80) | func CheckAccessIn(ctx context.Context, ownerUserIDs ...string) error { constant ctxTempAdminKey (line 95) | ctxTempAdminKey = "ctxImTempAdminKey" function WithTempAdmin (line 97) | func WithTempAdmin(ctx context.Context) context.Context { function IsTempAdmin (line 113) | func IsTempAdmin(ctx context.Context) bool { function IsSystemAdmin (line 118) | func IsSystemAdmin(ctx context.Context) bool { FILE: pkg/callbackstruct/common.go constant Next (line 23) | Next = 1 type CommonCallbackReq (line 26) | type CommonCallbackReq struct method GetCallbackCommand (line 47) | func (c *CommonCallbackReq) GetCallbackCommand() string { type CallbackReq (line 51) | type CallbackReq interface type CallbackResp (line 55) | type CallbackResp interface type CommonCallbackResp (line 59) | type CommonCallbackResp struct method Parse (line 67) | func (c CommonCallbackResp) Parse() error { type UserStatusBaseCallback (line 74) | type UserStatusBaseCallback struct method GetCallbackCommand (line 81) | func (c UserStatusBaseCallback) GetCallbackCommand() string { type UserStatusCallbackReq (line 85) | type UserStatusCallbackReq struct type UserStatusBatchCallbackReq (line 90) | type UserStatusBatchCallbackReq struct FILE: pkg/callbackstruct/constant.go constant CallbackBeforeInviteJoinGroupCommand (line 18) | CallbackBeforeInviteJoinGroupCommand = "callbackBeforeInvi... constant CallbackAfterJoinGroupCommand (line 19) | CallbackAfterJoinGroupCommand = "callbackAfterJoinG... constant CallbackAfterSetGroupInfoCommand (line 20) | CallbackAfterSetGroupInfoCommand = "callbackAfterSetGr... constant CallbackAfterSetGroupInfoExCommand (line 21) | CallbackAfterSetGroupInfoExCommand = "callbackAfterSetGr... constant CallbackBeforeSetGroupInfoCommand (line 22) | CallbackBeforeSetGroupInfoCommand = "callbackBeforeSetG... constant CallbackBeforeSetGroupInfoExCommand (line 23) | CallbackBeforeSetGroupInfoExCommand = "callbackBeforeSetG... constant CallbackAfterRevokeMsgCommand (line 24) | CallbackAfterRevokeMsgCommand = "callbackBeforeAfte... constant CallbackBeforeAddBlackCommand (line 25) | CallbackBeforeAddBlackCommand = "callbackBeforeAddB... constant CallbackAfterAddFriendCommand (line 26) | CallbackAfterAddFriendCommand = "callbackAfterAddFr... constant CallbackBeforeAddFriendAgreeCommand (line 27) | CallbackBeforeAddFriendAgreeCommand = "callbackBeforeAddF... constant CallbackAfterAddFriendAgreeCommand (line 28) | CallbackAfterAddFriendAgreeCommand = "callbackAfterAddFr... constant CallbackAfterDeleteFriendCommand (line 29) | CallbackAfterDeleteFriendCommand = "callbackAfterDelet... constant CallbackBeforeImportFriendsCommand (line 30) | CallbackBeforeImportFriendsCommand = "callbackBeforeImpo... constant CallbackAfterImportFriendsCommand (line 31) | CallbackAfterImportFriendsCommand = "callbackAfterImpor... constant CallbackAfterRemoveBlackCommand (line 32) | CallbackAfterRemoveBlackCommand = "callbackAfterRemov... constant CallbackAfterQuitGroupCommand (line 33) | CallbackAfterQuitGroupCommand = "callbackAfterQuitG... constant CallbackAfterKickGroupCommand (line 34) | CallbackAfterKickGroupCommand = "callbackAfterKickG... constant CallbackAfterDisMissGroupCommand (line 35) | CallbackAfterDisMissGroupCommand = "callbackAfterDisMi... constant CallbackBeforeJoinGroupCommand (line 36) | CallbackBeforeJoinGroupCommand = "callbackBeforeJoin... constant CallbackAfterGroupMsgReadCommand (line 37) | CallbackAfterGroupMsgReadCommand = "callbackAfterGroup... constant CallbackBeforeMsgModifyCommand (line 38) | CallbackBeforeMsgModifyCommand = "callbackBeforeMsgM... constant CallbackAfterUpdateUserInfoCommand (line 39) | CallbackAfterUpdateUserInfoCommand = "callbackAfterUpdat... constant CallbackAfterUpdateUserInfoExCommand (line 40) | CallbackAfterUpdateUserInfoExCommand = "callbackAfterUpdat... constant CallbackBeforeUpdateUserInfoExCommand (line 41) | CallbackBeforeUpdateUserInfoExCommand = "callbackBeforeUpda... constant CallbackBeforeUserRegisterCommand (line 42) | CallbackBeforeUserRegisterCommand = "callbackBeforeUser... constant CallbackAfterUserRegisterCommand (line 43) | CallbackAfterUserRegisterCommand = "callbackAfterUserR... constant CallbackAfterTransferGroupOwnerCommand (line 44) | CallbackAfterTransferGroupOwnerCommand = "callbackAfterTrans... constant CallbackBeforeSetFriendRemarkCommand (line 45) | CallbackBeforeSetFriendRemarkCommand = "callbackBeforeSetF... constant CallbackAfterSetFriendRemarkCommand (line 46) | CallbackAfterSetFriendRemarkCommand = "callbackAfterSetFr... constant CallbackAfterSingleMsgReadCommand (line 47) | CallbackAfterSingleMsgReadCommand = "callbackAfterSingl... constant CallbackBeforeSendSingleMsgCommand (line 48) | CallbackBeforeSendSingleMsgCommand = "callbackBeforeSend... constant CallbackAfterSendSingleMsgCommand (line 49) | CallbackAfterSendSingleMsgCommand = "callbackAfterSendS... constant CallbackBeforeSendGroupMsgCommand (line 50) | CallbackBeforeSendGroupMsgCommand = "callbackBeforeSend... constant CallbackAfterSendGroupMsgCommand (line 51) | CallbackAfterSendGroupMsgCommand = "callbackAfterSendG... constant CallbackAfterUserOnlineCommand (line 52) | CallbackAfterUserOnlineCommand = "callbackAfterUserO... constant CallbackAfterUserOfflineCommand (line 53) | CallbackAfterUserOfflineCommand = "callbackAfterUserO... constant CallbackAfterUserKickOffCommand (line 54) | CallbackAfterUserKickOffCommand = "callbackAfterUserK... constant CallbackBeforeOfflinePushCommand (line 55) | CallbackBeforeOfflinePushCommand = "callbackBeforeOffl... constant CallbackBeforeOnlinePushCommand (line 56) | CallbackBeforeOnlinePushCommand = "callbackBeforeOnli... constant CallbackBeforeGroupOnlinePushCommand (line 57) | CallbackBeforeGroupOnlinePushCommand = "callbackBeforeGrou... constant CallbackBeforeAddFriendCommand (line 58) | CallbackBeforeAddFriendCommand = "callbackBeforeAddF... constant CallbackBeforeUpdateUserInfoCommand (line 59) | CallbackBeforeUpdateUserInfoCommand = "callbackBeforeUpda... constant CallbackBeforeCreateGroupCommand (line 60) | CallbackBeforeCreateGroupCommand = "callbackBeforeCrea... constant CallbackAfterCreateGroupCommand (line 61) | CallbackAfterCreateGroupCommand = "callbackAfterCreat... constant CallbackBeforeMembersJoinGroupCommand (line 62) | CallbackBeforeMembersJoinGroupCommand = "callbackBeforeMemb... constant CallbackBeforeSetGroupMemberInfoCommand (line 63) | CallbackBeforeSetGroupMemberInfoCommand = "callbackBeforeSetG... constant CallbackAfterSetGroupMemberInfoCommand (line 64) | CallbackAfterSetGroupMemberInfoCommand = "callbackAfterSetGr... constant CallbackBeforeCreateSingleChatConversationsCommand (line 65) | CallbackBeforeCreateSingleChatConversationsCommand = "callbackBeforeCrea... constant CallbackAfterCreateSingleChatConversationsCommand (line 66) | CallbackAfterCreateSingleChatConversationsCommand = "callbackAfterCreat... constant CallbackBeforeCreateGroupChatConversationsCommand (line 67) | CallbackBeforeCreateGroupChatConversationsCommand = "callbackBeforeCrea... constant CallbackAfterCreateGroupChatConversationsCommand (line 68) | CallbackAfterCreateGroupChatConversationsCommand = "callbackAfterCreat... constant CallbackAfterMsgSaveDBCommand (line 69) | CallbackAfterMsgSaveDBCommand = "callbackAfterMsgSa... FILE: pkg/callbackstruct/conversation.go type CallbackBeforeCreateSingleChatConversationsReq (line 3) | type CallbackBeforeCreateSingleChatConversationsReq struct type CallbackBeforeCreateSingleChatConversationsResp (line 18) | type CallbackBeforeCreateSingleChatConversationsResp struct type CallbackAfterCreateSingleChatConversationsReq (line 29) | type CallbackAfterCreateSingleChatConversationsReq struct type CallbackAfterCreateSingleChatConversationsResp (line 44) | type CallbackAfterCreateSingleChatConversationsResp struct type CallbackBeforeCreateGroupChatConversationsReq (line 48) | type CallbackBeforeCreateGroupChatConversationsReq struct type CallbackBeforeCreateGroupChatConversationsResp (line 63) | type CallbackBeforeCreateGroupChatConversationsResp struct type CallbackAfterCreateGroupChatConversationsReq (line 74) | type CallbackAfterCreateGroupChatConversationsReq struct type CallbackAfterCreateGroupChatConversationsResp (line 89) | type CallbackAfterCreateGroupChatConversationsResp struct FILE: pkg/callbackstruct/friend.go type CallbackBeforeAddFriendReq (line 17) | type CallbackBeforeAddFriendReq struct type CallbackBeforeAddFriendResp (line 25) | type CallbackBeforeAddFriendResp struct type CallBackAddFriendReplyBeforeReq (line 29) | type CallBackAddFriendReplyBeforeReq struct type CallBackAddFriendReplyBeforeResp (line 35) | type CallBackAddFriendReplyBeforeResp struct type CallbackBeforeSetFriendRemarkReq (line 39) | type CallbackBeforeSetFriendRemarkReq struct type CallbackBeforeSetFriendRemarkResp (line 46) | type CallbackBeforeSetFriendRemarkResp struct type CallbackAfterSetFriendRemarkReq (line 51) | type CallbackAfterSetFriendRemarkReq struct type CallbackAfterSetFriendRemarkResp (line 58) | type CallbackAfterSetFriendRemarkResp struct type CallbackAfterAddFriendReq (line 61) | type CallbackAfterAddFriendReq struct type CallbackAfterAddFriendResp (line 68) | type CallbackAfterAddFriendResp struct type CallbackBeforeAddBlackReq (line 71) | type CallbackBeforeAddBlackReq struct type CallbackBeforeAddBlackResp (line 77) | type CallbackBeforeAddBlackResp struct type CallbackBeforeAddFriendAgreeReq (line 81) | type CallbackBeforeAddFriendAgreeReq struct type CallbackBeforeAddFriendAgreeResp (line 89) | type CallbackBeforeAddFriendAgreeResp struct type CallbackAfterAddFriendAgreeReq (line 93) | type CallbackAfterAddFriendAgreeReq struct type CallbackAfterAddFriendAgreeResp (line 101) | type CallbackAfterAddFriendAgreeResp struct type CallbackAfterDeleteFriendReq (line 105) | type CallbackAfterDeleteFriendReq struct type CallbackAfterDeleteFriendResp (line 110) | type CallbackAfterDeleteFriendResp struct type CallbackBeforeImportFriendsReq (line 114) | type CallbackBeforeImportFriendsReq struct type CallbackBeforeImportFriendsResp (line 119) | type CallbackBeforeImportFriendsResp struct type CallbackAfterImportFriendsReq (line 123) | type CallbackAfterImportFriendsReq struct type CallbackAfterImportFriendsResp (line 128) | type CallbackAfterImportFriendsResp struct type CallbackAfterRemoveBlackReq (line 132) | type CallbackAfterRemoveBlackReq struct type CallbackAfterRemoveBlackResp (line 137) | type CallbackAfterRemoveBlackResp struct FILE: pkg/callbackstruct/group.go type CallbackCommand (line 23) | type CallbackCommand method GetCallbackCommand (line 25) | func (c CallbackCommand) GetCallbackCommand() string { type CallbackBeforeCreateGroupReq (line 29) | type CallbackBeforeCreateGroupReq struct type CallbackBeforeCreateGroupResp (line 36) | type CallbackBeforeCreateGroupResp struct type CallbackAfterCreateGroupReq (line 53) | type CallbackAfterCreateGroupReq struct type CallbackAfterCreateGroupResp (line 59) | type CallbackAfterCreateGroupResp struct type CallbackGroupMember (line 63) | type CallbackGroupMember struct type CallbackBeforeMembersJoinGroupReq (line 68) | type CallbackBeforeMembersJoinGroupReq struct type MemberJoinGroupCallBack (line 75) | type MemberJoinGroupCallBack struct type CallbackBeforeMembersJoinGroupResp (line 84) | type CallbackBeforeMembersJoinGroupResp struct type CallbackBeforeSetGroupMemberInfoReq (line 89) | type CallbackBeforeSetGroupMemberInfoReq struct type CallbackBeforeSetGroupMemberInfoResp (line 99) | type CallbackBeforeSetGroupMemberInfoResp struct type CallbackAfterSetGroupMemberInfoReq (line 107) | type CallbackAfterSetGroupMemberInfoReq struct type CallbackAfterSetGroupMemberInfoResp (line 117) | type CallbackAfterSetGroupMemberInfoResp struct type CallbackQuitGroupReq (line 121) | type CallbackQuitGroupReq struct type CallbackQuitGroupResp (line 127) | type CallbackQuitGroupResp struct type CallbackKillGroupMemberReq (line 131) | type CallbackKillGroupMemberReq struct type CallbackKillGroupMemberResp (line 138) | type CallbackKillGroupMemberResp struct type CallbackDisMissGroupReq (line 142) | type CallbackDisMissGroupReq struct type CallbackDisMissGroupResp (line 150) | type CallbackDisMissGroupResp struct type CallbackJoinGroupReq (line 154) | type CallbackJoinGroupReq struct type CallbackJoinGroupResp (line 163) | type CallbackJoinGroupResp struct type CallbackTransferGroupOwnerReq (line 167) | type CallbackTransferGroupOwnerReq struct type CallbackTransferGroupOwnerResp (line 174) | type CallbackTransferGroupOwnerResp struct type CallbackBeforeInviteUserToGroupReq (line 178) | type CallbackBeforeInviteUserToGroupReq struct type CallbackBeforeInviteUserToGroupResp (line 185) | type CallbackBeforeInviteUserToGroupResp struct type CallbackAfterJoinGroupReq (line 190) | type CallbackAfterJoinGroupReq struct type CallbackAfterJoinGroupResp (line 198) | type CallbackAfterJoinGroupResp struct type CallbackBeforeSetGroupInfoReq (line 202) | type CallbackBeforeSetGroupInfoReq struct type CallbackBeforeSetGroupInfoResp (line 216) | type CallbackBeforeSetGroupInfoResp struct type CallbackAfterSetGroupInfoReq (line 229) | type CallbackAfterSetGroupInfoReq struct type CallbackAfterSetGroupInfoResp (line 243) | type CallbackAfterSetGroupInfoResp struct type CallbackBeforeSetGroupInfoExReq (line 247) | type CallbackBeforeSetGroupInfoExReq struct type CallbackBeforeSetGroupInfoExResp (line 261) | type CallbackBeforeSetGroupInfoExResp struct type CallbackAfterSetGroupInfoExReq (line 274) | type CallbackAfterSetGroupInfoExReq struct type CallbackAfterSetGroupInfoExResp (line 288) | type CallbackAfterSetGroupInfoExResp struct FILE: pkg/callbackstruct/message.go type CallbackBeforeSendSingleMsgReq (line 21) | type CallbackBeforeSendSingleMsgReq struct type CallbackBeforeSendSingleMsgResp (line 26) | type CallbackBeforeSendSingleMsgResp struct type CallbackAfterSendSingleMsgReq (line 30) | type CallbackAfterSendSingleMsgReq struct type CallbackAfterSendSingleMsgResp (line 35) | type CallbackAfterSendSingleMsgResp struct type CallbackBeforeSendGroupMsgReq (line 39) | type CallbackBeforeSendGroupMsgReq struct type CallbackBeforeSendGroupMsgResp (line 44) | type CallbackBeforeSendGroupMsgResp struct type CallbackAfterSendGroupMsgReq (line 48) | type CallbackAfterSendGroupMsgReq struct type CallbackAfterSendGroupMsgResp (line 53) | type CallbackAfterSendGroupMsgResp struct type CallbackMsgModifyCommandReq (line 57) | type CallbackMsgModifyCommandReq struct type CallbackMsgModifyCommandResp (line 61) | type CallbackMsgModifyCommandResp struct type CallbackGroupMsgReadReq (line 83) | type CallbackGroupMsgReadReq struct type CallbackGroupMsgReadResp (line 91) | type CallbackGroupMsgReadResp struct type CallbackSingleMsgReadReq (line 95) | type CallbackSingleMsgReadReq struct type CallbackSingleMsgReadResp (line 103) | type CallbackSingleMsgReadResp struct type CallbackAfterMsgSaveDBReq (line 107) | type CallbackAfterMsgSaveDBReq struct type CallbackAfterMsgSaveDBResp (line 113) | type CallbackAfterMsgSaveDBResp struct FILE: pkg/callbackstruct/msg_gateway.go type CallbackUserOnlineReq (line 17) | type CallbackUserOnlineReq struct type CallbackUserOnlineResp (line 25) | type CallbackUserOnlineResp struct type CallbackUserOfflineReq (line 29) | type CallbackUserOfflineReq struct type CallbackUserOfflineResp (line 35) | type CallbackUserOfflineResp struct type CallbackUserKickOffReq (line 39) | type CallbackUserKickOffReq struct type CallbackUserKickOffResp (line 44) | type CallbackUserKickOffResp struct FILE: pkg/callbackstruct/push.go type CallbackBeforePushReq (line 19) | type CallbackBeforePushReq struct type CallbackBeforePushResp (line 31) | type CallbackBeforePushResp struct type CallbackBeforeSuperGroupOnlinePushReq (line 37) | type CallbackBeforeSuperGroupOnlinePushReq struct type CallbackBeforeSuperGroupOnlinePushResp (line 49) | type CallbackBeforeSuperGroupOnlinePushResp struct FILE: pkg/callbackstruct/revoke.go type CallbackAfterRevokeMsgReq (line 17) | type CallbackAfterRevokeMsgReq struct type CallbackAfterRevokeMsgResp (line 24) | type CallbackAfterRevokeMsgResp struct FILE: pkg/callbackstruct/user.go type CallbackBeforeUpdateUserInfoReq (line 22) | type CallbackBeforeUpdateUserInfoReq struct type CallbackBeforeUpdateUserInfoResp (line 30) | type CallbackBeforeUpdateUserInfoResp struct type CallbackAfterUpdateUserInfoReq (line 37) | type CallbackAfterUpdateUserInfoReq struct type CallbackAfterUpdateUserInfoResp (line 44) | type CallbackAfterUpdateUserInfoResp struct type CallbackBeforeUpdateUserInfoExReq (line 48) | type CallbackBeforeUpdateUserInfoExReq struct type CallbackBeforeUpdateUserInfoExResp (line 55) | type CallbackBeforeUpdateUserInfoExResp struct type CallbackAfterUpdateUserInfoExReq (line 62) | type CallbackAfterUpdateUserInfoExReq struct type CallbackAfterUpdateUserInfoExResp (line 69) | type CallbackAfterUpdateUserInfoExResp struct type CallbackBeforeUserRegisterReq (line 73) | type CallbackBeforeUserRegisterReq struct type CallbackBeforeUserRegisterResp (line 78) | type CallbackBeforeUserRegisterResp struct type CallbackAfterUserRegisterReq (line 83) | type CallbackAfterUserRegisterReq struct type CallbackAfterUserRegisterResp (line 88) | type CallbackAfterUserRegisterResp struct FILE: pkg/common/cmd/api.go type ApiCmd (line 29) | type ApiCmd struct method Exec (line 72) | func (a *ApiCmd) Exec() error { method runE (line 76) | func (a *ApiCmd) runE() error { function NewApiCmd (line 36) | func NewApiCmd() *ApiCmd { FILE: pkg/common/cmd/auth.go type AuthRpcCmd (line 28) | type AuthRpcCmd struct method Exec (line 55) | func (a *AuthRpcCmd) Exec() error { method runE (line 59) | func (a *AuthRpcCmd) runE() error { function NewAuthRpcCmd (line 35) | func NewAuthRpcCmd() *AuthRpcCmd { FILE: pkg/common/cmd/conversation.go type ConversationRpcCmd (line 28) | type ConversationRpcCmd struct method Exec (line 56) | func (a *ConversationRpcCmd) Exec() error { method runE (line 60) | func (a *ConversationRpcCmd) runE() error { function NewConversationRpcCmd (line 35) | func NewConversationRpcCmd() *ConversationRpcCmd { FILE: pkg/common/cmd/cron_task.go type CronTaskCmd (line 28) | type CronTaskCmd struct method Exec (line 51) | func (a *CronTaskCmd) Exec() error { method runE (line 55) | func (a *CronTaskCmd) runE() error { function NewCronTaskCmd (line 35) | func NewCronTaskCmd() *CronTaskCmd { FILE: pkg/common/cmd/friend.go type FriendRpcCmd (line 28) | type FriendRpcCmd struct method Exec (line 56) | func (a *FriendRpcCmd) Exec() error { method runE (line 60) | func (a *FriendRpcCmd) runE() error { function NewFriendRpcCmd (line 35) | func NewFriendRpcCmd() *FriendRpcCmd { FILE: pkg/common/cmd/group.go type GroupRpcCmd (line 29) | type GroupRpcCmd struct method Exec (line 57) | func (a *GroupRpcCmd) Exec() error { method runE (line 61) | func (a *GroupRpcCmd) runE() error { function NewGroupRpcCmd (line 36) | func NewGroupRpcCmd() *GroupRpcCmd { FILE: pkg/common/cmd/msg.go type MsgRpcCmd (line 28) | type MsgRpcCmd struct method Exec (line 57) | func (a *MsgRpcCmd) Exec() error { method runE (line 61) | func (a *MsgRpcCmd) runE() error { function NewMsgRpcCmd (line 35) | func NewMsgRpcCmd() *MsgRpcCmd { FILE: pkg/common/cmd/msg_gateway.go type MsgGatewayCmd (line 29) | type MsgGatewayCmd struct method Exec (line 54) | func (m *MsgGatewayCmd) Exec() error { method runE (line 58) | func (m *MsgGatewayCmd) runE() error { function NewMsgGatewayCmd (line 36) | func NewMsgGatewayCmd() *MsgGatewayCmd { FILE: pkg/common/cmd/msg_gateway_test.go type MockRootCmd (line 29) | type MockRootCmd struct method Execute (line 33) | func (m *MockRootCmd) Execute() error { function TestName (line 38) | func TestName(t *testing.T) { function TestName1 (line 65) | func TestName1(t *testing.T) { FILE: pkg/common/cmd/msg_transfer.go type MsgTransferCmd (line 29) | type MsgTransferCmd struct method Exec (line 56) | func (m *MsgTransferCmd) Exec() error { method runE (line 60) | func (m *MsgTransferCmd) runE() error { function NewMsgTransferCmd (line 36) | func NewMsgTransferCmd() *MsgTransferCmd { FILE: pkg/common/cmd/msg_utils.go type MsgUtilsCmd (line 22) | type MsgUtilsCmd struct method AddUserIDFlag (line 26) | func (m *MsgUtilsCmd) AddUserIDFlag() { method AddIndexFlag (line 29) | func (m *MsgUtilsCmd) AddIndexFlag() { method AddConfigDirFlag (line 33) | func (m *MsgUtilsCmd) AddConfigDirFlag() { method getUserIDFlag (line 38) | func (m *MsgUtilsCmd) getUserIDFlag(cmdLines *cobra.Command) string { method AddFixAllFlag (line 43) | func (m *MsgUtilsCmd) AddFixAllFlag() { method AddClearAllFlag (line 52) | func (m *MsgUtilsCmd) AddClearAllFlag() { method AddSuperGroupIDFlag (line 61) | func (m *MsgUtilsCmd) AddSuperGroupIDFlag() { method getSuperGroupIDFlag (line 65) | func (m *MsgUtilsCmd) getSuperGroupIDFlag(cmdLines *cobra.Command) str... method AddBeginSeqFlag (line 70) | func (m *MsgUtilsCmd) AddBeginSeqFlag() { method AddLimitFlag (line 79) | func (m *MsgUtilsCmd) AddLimitFlag() { method Execute (line 88) | func (m *MsgUtilsCmd) Execute() error { function NewMsgUtilsCmd (line 92) | func NewMsgUtilsCmd(use, short string, args cobra.PositionalArgs) *MsgUt... type GetCmd (line 102) | type GetCmd struct function NewGetCmd (line 106) | func NewGetCmd() *GetCmd { type FixCmd (line 112) | type FixCmd struct function NewFixCmd (line 116) | func NewFixCmd() *FixCmd { type ClearCmd (line 122) | type ClearCmd struct function NewClearCmd (line 126) | func NewClearCmd() *ClearCmd { type SeqCmd (line 132) | type SeqCmd struct method GetSeqCmd (line 143) | func (s *SeqCmd) GetSeqCmd() *cobra.Command { method FixSeqCmd (line 150) | func (s *SeqCmd) FixSeqCmd() *cobra.Command { function NewSeqCmd (line 136) | func NewSeqCmd() *SeqCmd { type MsgCmd (line 154) | type MsgCmd struct method GetMsgCmd (line 165) | func (m *MsgCmd) GetMsgCmd() *cobra.Command { method ClearMsgCmd (line 169) | func (m *MsgCmd) ClearMsgCmd() *cobra.Command { function NewMsgCmd (line 158) | func NewMsgCmd() *MsgCmd { FILE: pkg/common/cmd/push.go type PushRpcCmd (line 28) | type PushRpcCmd struct method Exec (line 58) | func (a *PushRpcCmd) Exec() error { method runE (line 62) | func (a *PushRpcCmd) runE() error { function NewPushRpcCmd (line 35) | func NewPushRpcCmd() *PushRpcCmd { FILE: pkg/common/cmd/root.go type RootCmd (line 19) | type RootCmd struct method ConfigPath (line 30) | func (r *RootCmd) ConfigPath() string { method Index (line 34) | func (r *RootCmd) Index() int { method Port (line 38) | func (r *RootCmd) Port() int { method initEtcd (line 82) | func (r *RootCmd) initEtcd() error { method persistentPreRun (line 99) | func (r *RootCmd) persistentPreRun(cmd *cobra.Command, opts ...func(*C... method initializeConfiguration (line 119) | func (r *RootCmd) initializeConfiguration(cmd *cobra.Command, opts *Cm... method updateConfigFromEtcd (line 137) | func (r *RootCmd) updateConfigFromEtcd(opts *CmdOpts) error { method applyOptions (line 195) | func (r *RootCmd) applyOptions(opts ...func(*CmdOpts)) *CmdOpts { method initializeLogger (line 204) | func (r *RootCmd) initializeLogger(cmdOpts *CmdOpts) error { method getFlag (line 231) | func (r *RootCmd) getFlag(cmd *cobra.Command) (string, int, error) { method Execute (line 245) | func (r *RootCmd) Execute() error { type CmdOpts (line 42) | type CmdOpts struct function WithCronTaskLogName (line 47) | func WithCronTaskLogName() func(*CmdOpts) { function WithLogName (line 53) | func WithLogName(logName string) func(*CmdOpts) { function WithConfigMap (line 58) | func WithConfigMap(configMap map[string]any) func(*CmdOpts) { function NewRootCmd (line 64) | func NewRootCmd(processName string, opts ...func(*CmdOpts)) *RootCmd { function defaultCmdOpts (line 225) | func defaultCmdOpts() *CmdOpts { FILE: pkg/common/cmd/third.go type ThirdRpcCmd (line 28) | type ThirdRpcCmd struct method Exec (line 56) | func (a *ThirdRpcCmd) Exec() error { method runE (line 60) | func (a *ThirdRpcCmd) runE() error { function NewThirdRpcCmd (line 35) | func NewThirdRpcCmd() *ThirdRpcCmd { FILE: pkg/common/cmd/user.go type UserRpcCmd (line 28) | type UserRpcCmd struct method Exec (line 57) | func (a *UserRpcCmd) Exec() error { method runE (line 61) | func (a *UserRpcCmd) runE() error { function NewUserRpcCmd (line 35) | func NewUserRpcCmd() *UserRpcCmd { FILE: pkg/common/config/config.go constant StructTagName (line 31) | StructTagName = "yaml" type Path (line 33) | type Path type Index (line 35) | type Index type CacheConfig (line 37) | type CacheConfig struct method Failed (line 677) | func (l *CacheConfig) Failed() time.Duration { method Success (line 681) | func (l *CacheConfig) Success() time.Duration { method Enable (line 685) | func (l *CacheConfig) Enable() bool { type LocalCache (line 45) | type LocalCache struct method GetConfigFileName (line 895) | func (lc *LocalCache) GetConfigFileName() string { type Log (line 53) | type Log struct method GetConfigFileName (line 899) | func (l *Log) GetConfigFileName() string { type Minio (line 64) | type Minio struct method Build (line 615) | func (m *Minio) Build() *minio.Config { method GetConfigFileName (line 903) | func (m *Minio) GetConfigFileName() string { type Mongo (line 74) | type Mongo struct method Build (line 549) | func (m *Mongo) Build() *mongoutil.Config { method GetConfigFileName (line 907) | func (m *Mongo) GetConfigFileName() string { type ReplicaSetConfig (line 89) | type ReplicaSetConfig struct type ReadPrefConfig (line 96) | type ReadPrefConfig struct type WriteConcernConfig (line 102) | type WriteConcernConfig struct type Kafka (line 108) | type Kafka struct method Build (line 597) | func (k *Kafka) Build() *kafka.Config { method GetConfigFileName (line 891) | func (k *Kafka) GetConfigFileName() string { type TLSConfig (line 125) | type TLSConfig struct type API (line 134) | type API struct method GetConfigFileName (line 915) | func (a *API) GetConfigFileName() string { type RateLimiter (line 150) | type RateLimiter struct type CircuitBreaker (line 157) | type CircuitBreaker struct type CronTask (line 165) | type CronTask struct method GetConfigFileName (line 919) | func (ct *CronTask) GetConfigFileName() string { type OfflinePushConfig (line 172) | type OfflinePushConfig struct type NotificationConfig (line 179) | type NotificationConfig struct type Notification (line 186) | type Notification struct method GetConfigFileName (line 911) | func (n *Notification) GetConfigFileName() string { type Prometheus (line 222) | type Prometheus struct type MsgGateway (line 227) | type MsgGateway struct method GetConfigFileName (line 923) | func (mg *MsgGateway) GetConfigFileName() string { type MsgTransfer (line 241) | type MsgTransfer struct method GetConfigFileName (line 927) | func (mt *MsgTransfer) GetConfigFileName() string { type Push (line 251) | type Push struct method GetConfigFileName (line 931) | func (p *Push) GetConfigFileName() string { type Auth (line 284) | type Auth struct method GetConfigFileName (line 935) | func (a *Auth) GetConfigFileName() string { type Conversation (line 294) | type Conversation struct method GetConfigFileName (line 939) | func (c *Conversation) GetConfigFileName() string { type Friend (line 301) | type Friend struct method GetConfigFileName (line 943) | func (f *Friend) GetConfigFileName() string { type Group (line 308) | type Group struct method GetConfigFileName (line 947) | func (g *Group) GetConfigFileName() string { type Msg (line 316) | type Msg struct method GetConfigFileName (line 951) | func (m *Msg) GetConfigFileName() string { type Third (line 324) | type Third struct method GetConfigFileName (line 955) | func (t *Third) GetConfigFileName() string { type Cos (line 337) | type Cos struct method Build (line 633) | func (c *Cos) Build() *cos.Config { type Oss (line 344) | type Oss struct method Build (line 643) | func (o *Oss) Build() *oss.Config { type Kodo (line 354) | type Kodo struct method Build (line 655) | func (o *Kodo) Build() *kodo.Config { type Aws (line 364) | type Aws struct method Build (line 667) | func (o *Aws) Build() *aws.Config { type User (line 373) | type User struct method GetConfigFileName (line 959) | func (u *User) GetConfigFileName() string { type RPC (line 380) | type RPC struct type Redis (line 387) | type Redis struct method Build (line 579) | func (r *Redis) Build() *redisutil.Config { method GetConfigFileName (line 963) | func (r *Redis) GetConfigFileName() string { type Sentinel (line 399) | type Sentinel struct type BeforeConfig (line 406) | type BeforeConfig struct type AfterConfig (line 413) | type AfterConfig struct type Share (line 420) | type Share struct method GetConfigFileName (line 967) | func (s *Share) GetConfigFileName() string { type MaxRequestBody (line 430) | type MaxRequestBody struct type MultiLogin (line 435) | type MultiLogin struct type RpcService (line 440) | type RpcService struct method GetServiceNames (line 452) | func (r *RpcService) GetServiceNames() []string { type Webhooks (line 467) | type Webhooks struct method GetConfigFileName (line 971) | func (w *Webhooks) GetConfigFileName() string { type ZooKeeper (line 524) | type ZooKeeper struct type Discovery (line 531) | type Discovery struct method GetConfigFileName (line 887) | func (d *Discovery) GetConfigFileName() string { type Kubernetes (line 538) | type Kubernetes struct type Etcd (line 542) | type Etcd struct function InitNotification (line 689) | func InitNotification(notification *Notification) { type AllConfig (line 758) | type AllConfig struct method Name2Config (line 783) | func (a *AllConfig) Name2Config(name string) any { method GetConfigNames (line 834) | func (a *AllConfig) GetConfigNames() []string { constant FileName (line 862) | FileName = "config.yaml" constant DiscoveryConfigFilename (line 863) | DiscoveryConfigFilename = "discovery.yml" constant KafkaConfigFileName (line 864) | KafkaConfigFileName = "kafka.yml" constant LocalCacheConfigFileName (line 865) | LocalCacheConfigFileName = "local-cache.yml" constant LogConfigFileName (line 866) | LogConfigFileName = "log.yml" constant MinioConfigFileName (line 867) | MinioConfigFileName = "minio.yml" constant MongodbConfigFileName (line 868) | MongodbConfigFileName = "mongodb.yml" constant NotificationFileName (line 869) | NotificationFileName = "notification.yml" constant OpenIMAPICfgFileName (line 870) | OpenIMAPICfgFileName = "openim-api.yml" constant OpenIMCronTaskCfgFileName (line 871) | OpenIMCronTaskCfgFileName = "openim-crontask.yml" constant OpenIMMsgGatewayCfgFileName (line 872) | OpenIMMsgGatewayCfgFileName = "openim-msggateway.yml" constant OpenIMMsgTransferCfgFileName (line 873) | OpenIMMsgTransferCfgFileName = "openim-msgtransfer.yml" constant OpenIMPushCfgFileName (line 874) | OpenIMPushCfgFileName = "openim-push.yml" constant OpenIMRPCAuthCfgFileName (line 875) | OpenIMRPCAuthCfgFileName = "openim-rpc-auth.yml" constant OpenIMRPCConversationCfgFileName (line 876) | OpenIMRPCConversationCfgFileName = "openim-rpc-conversation.yml" constant OpenIMRPCFriendCfgFileName (line 877) | OpenIMRPCFriendCfgFileName = "openim-rpc-friend.yml" constant OpenIMRPCGroupCfgFileName (line 878) | OpenIMRPCGroupCfgFileName = "openim-rpc-group.yml" constant OpenIMRPCMsgCfgFileName (line 879) | OpenIMRPCMsgCfgFileName = "openim-rpc-msg.yml" constant OpenIMRPCThirdCfgFileName (line 880) | OpenIMRPCThirdCfgFileName = "openim-rpc-third.yml" constant OpenIMRPCUserCfgFileName (line 881) | OpenIMRPCUserCfgFileName = "openim-rpc-user.yml" constant RedisConfigFileName (line 882) | RedisConfigFileName = "redis.yml" constant ShareFileName (line 883) | ShareFileName = "share.yml" constant WebhooksConfigFileName (line 884) | WebhooksConfigFileName = "webhooks.yml" FILE: pkg/common/config/constant.go constant ConfKey (line 19) | ConfKey = "conf" constant MountConfigFilePath (line 22) | MountConfigFilePath = "CONFIG_PATH" constant DeploymentType (line 23) | DeploymentType = "DEPLOYMENT_TYPE" constant KUBERNETES (line 24) | KUBERNETES = runtimeenv.Kubernetes constant ETCD (line 25) | ETCD = "etcd" constant DefaultDirPerm (line 32) | DefaultDirPerm = 0755 constant PrivateFilePerm (line 35) | PrivateFilePerm = 0600 constant ExecFilePerm (line 39) | ExecFilePerm = 0754 constant SharedDirPerm (line 43) | SharedDirPerm = 0770 constant ReadOnlyDirPerm (line 46) | ReadOnlyDirPerm = 0555 FILE: pkg/common/config/env.go function init (line 7) | func init() { constant FlagConf (line 28) | FlagConf = "config_folder_path" constant FlagTransferIndex (line 29) | FlagTransferIndex = "index" FILE: pkg/common/config/global.go function SetStandalone (line 5) | func SetStandalone() { function Standalone (line 9) | func Standalone() bool { FILE: pkg/common/config/load_config.go function Load (line 14) | func Load(configDirectory string, configFileName string, envPrefix strin... function loadConfig (line 27) | func loadConfig(path string, envPrefix string, config any) error { FILE: pkg/common/config/load_config_test.go function TestLoadLogConfig (line 10) | func TestLoadLogConfig(t *testing.T) { function TestLoadMongoConfig (line 19) | func TestLoadMongoConfig(t *testing.T) { function TestLoadMinioConfig (line 39) | func TestLoadMinioConfig(t *testing.T) { function TestLoadWebhooksConfig (line 46) | func TestLoadWebhooksConfig(t *testing.T) { function TestLoadOpenIMRpcUserConfig (line 54) | func TestLoadOpenIMRpcUserConfig(t *testing.T) { function TestLoadNotificationConfig (line 64) | func TestLoadNotificationConfig(t *testing.T) { function TestLoadOpenIMThirdConfig (line 71) | func TestLoadOpenIMThirdConfig(t *testing.T) { function TestTransferConfig (line 87) | func TestTransferConfig(t *testing.T) { FILE: pkg/common/config/parse.go constant DefaultFolderPath (line 30) | DefaultFolderPath = "../config/" function GetDefaultConfigPath (line 34) | func GetDefaultConfigPath() (string, error) { function GetProjectRoot (line 48) | func GetProjectRoot() (string, error) { function GetOptionsByNotification (line 60) | func GetOptionsByNotification(cfg NotificationConfig, sendMessage *bool)... function initConfig (line 85) | func initConfig(config any, configName, configFolderPath string) error { FILE: pkg/common/convert/auth.go function TokenMapDB2Pb (line 3) | func TokenMapDB2Pb(tokenMapDB map[string]int) map[string]int32 { function TokenMapPb2DB (line 15) | func TokenMapPb2DB(tokenMapPB map[string]int32) map[string]int { FILE: pkg/common/convert/black.go function BlackDB2Pb (line 25) | func BlackDB2Pb(ctx context.Context, blackDBs []*model.Black, f func(ctx... FILE: pkg/common/convert/conversation.go function ConversationDB2Pb (line 23) | func ConversationDB2Pb(conversationDB *model.Conversation) *conversation... function ConversationsDB2Pb (line 32) | func ConversationsDB2Pb(conversationsDB []*model.Conversation) (conversa... function ConversationPb2DB (line 44) | func ConversationPb2DB(conversationPB *conversation.Conversation) *model... function ConversationsPb2DB (line 52) | func ConversationsPb2DB(conversationsPB []*conversation.Conversation) (c... FILE: pkg/common/convert/friend.go function FriendPb2DB (line 30) | func FriendPb2DB(friend *sdkws.FriendInfo) *model.Friend { function FriendDB2Pb (line 41) | func FriendDB2Pb(ctx context.Context, friendDB *model.Friend, getUsers f... function FriendsDB2Pb (line 57) | func FriendsDB2Pb(ctx context.Context, friendsDB []*model.Friend, getUse... function FriendOnlyDB2PbOnly (line 88) | func FriendOnlyDB2PbOnly(friendsDB []*model.Friend) []*relation.FriendIn... function FriendRequestDB2Pb (line 103) | func FriendRequestDB2Pb(ctx context.Context, friendRequests []*model.Fri... function FriendPb2DBMap (line 141) | func FriendPb2DBMap(friend *sdkws.FriendInfo) map[string]any { FILE: pkg/common/convert/group.go function Db2PbGroupInfo (line 25) | func Db2PbGroupInfo(m *model.Group, ownerUserID string, memberCount uint... function Pb2DbGroupRequest (line 47) | func Pb2DbGroupRequest(req *pbgroup.GroupApplicationResponseReq, handleU... function Db2PbCMSGroup (line 58) | func Db2PbCMSGroup(m *model.Group, ownerUserID string, ownerUserName str... function Db2PbGroupMember (line 66) | func Db2PbGroupMember(m *model.GroupMember) *sdkws.GroupMemberFullInfo { function Db2PbGroupRequest (line 83) | func Db2PbGroupRequest(m *model.GroupRequest, user *sdkws.UserInfo, grou... function Db2PbGroupAbstractInfo (line 108) | func Db2PbGroupAbstractInfo( function Pb2DBGroupInfo (line 120) | func Pb2DBGroupInfo(m *sdkws.GroupInfo) *model.Group { FILE: pkg/common/convert/msg.go function MsgPb2DB (line 23) | func MsgPb2DB(msg *sdkws.MsgData) *model.MsgDataModel { function MsgDB2Pb (line 60) | func MsgDB2Pb(msgModel *model.MsgDataModel) *sdkws.MsgData { FILE: pkg/common/convert/user.go function UserDB2Pb (line 25) | func UserDB2Pb(user *relationtb.User) *sdkws.UserInfo { function UsersDB2Pb (line 37) | func UsersDB2Pb(users []*relationtb.User) []*sdkws.UserInfo { function UserPb2DB (line 41) | func UserPb2DB(user *sdkws.UserInfo) *relationtb.User { function UserPb2DBMap (line 53) | func UserPb2DBMap(user *sdkws.UserInfo) map[string]any { function UserPb2DBMapEx (line 74) | func UserPb2DBMapEx(user *sdkws.UserInfoWithEx) map[string]any { FILE: pkg/common/convert/user_test.go function TestUsersDB2Pb (line 25) | func TestUsersDB2Pb(t *testing.T) { function TestUserPb2DB (line 45) | func TestUserPb2DB(t *testing.T) { function TestUserPb2DBMap (line 65) | func TestUserPb2DBMap(t *testing.T) { FILE: pkg/common/discovery/direct/direct_resolver.go constant slashSeparator (line 27) | slashSeparator = "/" constant EndpointSepChar (line 29) | EndpointSepChar = ',' constant subsetSize (line 31) | subsetSize = 32 constant scheme (line 32) | scheme = "direct" type ResolverDirect (line 35) | type ResolverDirect struct method Build (line 42) | func (rd *ResolverDirect) Build(target resolver.Target, cc resolver.Cl... method Scheme (line 67) | func (rd *ResolverDirect) Scheme() string { function NewResolverDirect (line 38) | func NewResolverDirect() *ResolverDirect { function init (line 64) | func init() { function GetEndpoints (line 72) | func GetEndpoints(target resolver.Target) string { function subset (line 75) | func subset(set []string, sub int) []string { type nopResolver (line 86) | type nopResolver struct method ResolveNow (line 90) | func (n nopResolver) ResolveNow(options resolver.ResolveNowOptions) { method Close (line 94) | func (n nopResolver) Close() { FILE: pkg/common/discovery/discoveryregister.go function NewDiscoveryRegister (line 33) | func NewDiscoveryRegister(discovery *config.Discovery, watchNames []stri... FILE: pkg/common/discovery/discoveryregister_test.go function setupTestEnvironment (line 21) | func setupTestEnvironment() { FILE: pkg/common/discovery/etcd/config_manager.go function RegisterShutDown (line 21) | func RegisterShutDown(shutDown ...func() error) { type ConfigManager (line 25) | type ConfigManager struct method Watch (line 41) | func (c *ConfigManager) Watch(ctx context.Context) { function BuildKey (line 31) | func BuildKey(s string) string { function NewConfigManager (line 35) | func NewConfigManager(client *clientv3.Client, configNames []string) *Co... function restartServer (line 72) | func restartServer(ctx context.Context) error { FILE: pkg/common/discovery/etcd/const.go constant ConfigKeyPrefix (line 4) | ConfigKeyPrefix = "/open-im/config/" constant RestartKey (line 5) | RestartKey = "restart" constant EnableConfigCenterKey (line 6) | EnableConfigCenterKey = "enable-config-center" constant Enable (line 7) | Enable = "enable" constant Disable (line 8) | Disable = "disable" FILE: pkg/common/discovery/kubernetes/kubernetes.go type KubernetesConnManager (line 21) | type KubernetesConnManager struct method initializeConns (line 57) | func (k *KubernetesConnManager) initializeConns(serviceName string) er... method GetConns (line 91) | func (k *KubernetesConnManager) GetConns(ctx context.Context, serviceN... method GetConn (line 117) | func (k *KubernetesConnManager) GetConn(ctx context.Context, serviceNa... method GetSelfConnTarget (line 146) | func (k *KubernetesConnManager) GetSelfConnTarget() string { method AddOption (line 180) | func (k *KubernetesConnManager) AddOption(opts ...grpc.DialOption) { method CloseConn (line 187) | func (k *KubernetesConnManager) CloseConn(conn *grpc.ClientConn) { method Close (line 192) | func (k *KubernetesConnManager) Close() { method Register (line 203) | func (k *KubernetesConnManager) Register(serviceName, host string, por... method UnRegister (line 207) | func (k *KubernetesConnManager) UnRegister() error { method GetUserIdHashGatewayHost (line 211) | func (k *KubernetesConnManager) GetUserIdHashGatewayHost(ctx context.C... method getServicePort (line 215) | func (k *KubernetesConnManager) getServicePort(serviceName string) (in... method watchEndpoints (line 240) | func (k *KubernetesConnManager) watchEndpoints() { method handleEndpointChange (line 261) | func (k *KubernetesConnManager) handleEndpointChange(obj interface{}) { function NewKubernetesConnManager (line 34) | func NewKubernetesConnManager(namespace string, options ...grpc.DialOpti... FILE: pkg/common/prommetrics/api.go function RegistryApi (line 28) | func RegistryApi() { function ApiInit (line 32) | func ApiInit(listener net.Listener) error { function APICall (line 42) | func APICall(path string, method string, apiCode int) { function HttpCall (line 46) | func HttpCall(path string, method string, status int) { FILE: pkg/common/prommetrics/grpc_auth.go function RegistryAuth (line 28) | func RegistryAuth() { FILE: pkg/common/prommetrics/grpc_msg.go function RegistryMsg (line 40) | func RegistryMsg() { FILE: pkg/common/prommetrics/grpc_msggateway.go function RegistryMsgGateway (line 28) | func RegistryMsgGateway() { FILE: pkg/common/prommetrics/grpc_push.go function RegistryPush (line 32) | func RegistryPush() { FILE: pkg/common/prommetrics/grpc_user.go function RegistryUser (line 12) | func RegistryUser() { FILE: pkg/common/prommetrics/prommetrics.go constant commonPath (line 28) | commonPath = "/metrics" type prometheusRegistry (line 32) | type prometheusRegistry struct method MustRegister (line 36) | func (x *prometheusRegistry) MustRegister(cs ...prometheus.Collector) { function init (line 47) | func init() { function Init (line 61) | func Init(registry *prometheus.Registry, listener net.Listener, path str... function RegistryAll (line 68) | func RegistryAll() { function Start (line 79) | func Start(listener net.Listener) error { constant APIKeyName (line 86) | APIKeyName = "api" constant MessageTransferKeyName (line 87) | MessageTransferKeyName = "message-transfer" constant TTL (line 89) | TTL = 300 type Target (line 92) | type Target struct type RespTarget (line 97) | type RespTarget struct function BuildDiscoveryKeyPrefix (line 102) | func BuildDiscoveryKeyPrefix(name string) string { function BuildDiscoveryKey (line 106) | func BuildDiscoveryKey(name string, index int) string { function BuildDefaultTarget (line 110) | func BuildDefaultTarget(host string, ip int) Target { FILE: pkg/common/prommetrics/prommetrics_test.go function TestName (line 73) | func TestName(t *testing.T) { FILE: pkg/common/prommetrics/rpc.go constant rpcPath (line 13) | rpcPath = commonPath function RegistryRpc (line 26) | func RegistryRpc() { function RpcInit (line 30) | func RpcInit(cs []prometheus.Collector, listener net.Listener) error { function RPCCall (line 39) | func RPCCall(name string, path string, code int) { function GetGrpcServerMetrics (line 43) | func GetGrpcServerMetrics() *gp.ServerMetrics { function GetGrpcCusMetrics (line 51) | func GetGrpcCusMetrics(registerName string, discovery *config.Discovery)... FILE: pkg/common/prommetrics/transfer.go function RegistryTransfer (line 47) | func RegistryTransfer() { function TransferInit (line 57) | func TransferInit(listener net.Listener) error { FILE: pkg/common/servererrs/code.go constant UnknownCode (line 18) | UnknownCode = 1000 constant FormattingError (line 22) | FormattingError = 10001 constant HasRegistered (line 23) | HasRegistered = 10002 constant NotRegistered (line 24) | NotRegistered = 10003 constant PasswordErr (line 25) | PasswordErr = 10004 constant GetIMTokenErr (line 26) | GetIMTokenErr = 10005 constant RepeatSendCode (line 27) | RepeatSendCode = 10006 constant MailSendCodeErr (line 28) | MailSendCodeErr = 10007 constant SmsSendCodeErr (line 29) | SmsSendCodeErr = 10008 constant CodeInvalidOrExpired (line 30) | CodeInvalidOrExpired = 10009 constant RegisterFailed (line 31) | RegisterFailed = 10010 constant ResetPasswordFailed (line 32) | ResetPasswordFailed = 10011 constant RegisterLimit (line 33) | RegisterLimit = 10012 constant LoginLimit (line 34) | LoginLimit = 10013 constant InvitationError (line 35) | InvitationError = 10014 constant NoError (line 40) | NoError = 0 constant DatabaseError (line 42) | DatabaseError = 90002 constant NetworkError (line 43) | NetworkError = 90004 constant DataError (line 44) | DataError = 90007 constant CallbackError (line 46) | CallbackError = 80000 constant ServerInternalError (line 49) | ServerInternalError = 500 constant ArgsError (line 50) | ArgsError = 1001 constant NoPermissionError (line 51) | NoPermissionError = 1002 constant DuplicateKeyError (line 52) | DuplicateKeyError = 1003 constant RecordNotFoundError (line 53) | RecordNotFoundError = 1004 constant SecretNotChangedError (line 54) | SecretNotChangedError = 1050 constant UserIDNotFoundError (line 57) | UserIDNotFoundError = 1101 constant RegisteredAlreadyError (line 58) | RegisteredAlreadyError = 1102 constant GroupIDNotFoundError (line 61) | GroupIDNotFoundError = 1201 constant GroupIDExisted (line 62) | GroupIDExisted = 1202 constant NotInGroupYetError (line 63) | NotInGroupYetError = 1203 constant DismissedAlreadyError (line 64) | DismissedAlreadyError = 1204 constant GroupTypeNotSupport (line 65) | GroupTypeNotSupport = 1205 constant GroupRequestHandled (line 66) | GroupRequestHandled = 1206 constant CanNotAddYourselfError (line 69) | CanNotAddYourselfError = 1301 constant BlockedByPeer (line 70) | BlockedByPeer = 1302 constant NotPeersFriend (line 71) | NotPeersFriend = 1303 constant RelationshipAlreadyError (line 72) | RelationshipAlreadyError = 1304 constant FriendRequestHandled (line 73) | FriendRequestHandled = 1305 constant MessageHasReadDisable (line 76) | MessageHasReadDisable = 1401 constant MutedInGroup (line 77) | MutedInGroup = 1402 constant MutedGroup (line 78) | MutedGroup = 1403 constant MsgAlreadyRevoke (line 79) | MsgAlreadyRevoke = 1404 constant TokenExpiredError (line 82) | TokenExpiredError = 1501 constant TokenInvalidError (line 83) | TokenInvalidError = 1502 constant TokenMalformedError (line 84) | TokenMalformedError = 1503 constant TokenNotValidYetError (line 85) | TokenNotValidYetError = 1504 constant TokenUnknownError (line 86) | TokenUnknownError = 1505 constant TokenKickedError (line 87) | TokenKickedError = 1506 constant TokenNotExistError (line 88) | TokenNotExistError = 1507 constant ConnOverMaxNumLimit (line 91) | ConnOverMaxNumLimit = 1601 constant ConnArgsErr (line 92) | ConnArgsErr = 1602 constant PushMsgErr (line 93) | PushMsgErr = 1603 constant IOSBackgroundPushErr (line 94) | IOSBackgroundPushErr = 1604 constant FileUploadedExpiredError (line 97) | FileUploadedExpiredError = 1701 FILE: pkg/common/servererrs/relation.go function init (line 21) | func init() { type relation (line 27) | type relation struct method Add (line 31) | func (r *relation) Add(codes ...int) { method Is (line 48) | func (r *relation) Is(parent, child int) bool { FILE: pkg/common/startrpc/circuitbreaker.go type CircuitBreaker (line 15) | type CircuitBreaker struct function NewCircuitBreaker (line 23) | func NewCircuitBreaker(config *CircuitBreaker) circuitbreaker.CircuitBre... function UnaryCircuitBreakerInterceptor (line 36) | func UnaryCircuitBreakerInterceptor(breaker circuitbreaker.CircuitBreake... function StreamCircuitBreakerInterceptor (line 73) | func StreamCircuitBreakerInterceptor(breaker circuitbreaker.CircuitBreak... FILE: pkg/common/startrpc/mw.go function grpcServerIMAdminUserID (line 10) | func grpcServerIMAdminUserID(imAdminUserID []string) grpc.ServerOption { FILE: pkg/common/startrpc/ratelimit.go type RateLimiter (line 15) | type RateLimiter struct function NewRateLimiter (line 22) | func NewRateLimiter(config *RateLimiter) ratelimit.Limiter { function UnaryRateLimitInterceptor (line 34) | func UnaryRateLimitInterceptor(limiter ratelimit.Limiter) grpc.ServerOpt... function StreamRateLimitInterceptor (line 53) | func StreamRateLimitInterceptor(limiter ratelimit.Limiter) grpc.ServerOp... FILE: pkg/common/startrpc/start.go function init (line 46) | func init() { function Start (line 50) | func Start[T any](ctx context.Context, disc *conf.Discovery, circuitBrea... function listenTCP (line 278) | func listenTCP(addr string) (net.Listener, int, error) { function prommetricsUnaryInterceptor (line 286) | func prommetricsUnaryInterceptor(rpcRegisterName string) grpc.ServerOpti... function prommetricsStreamInterceptor (line 304) | func prommetricsStreamInterceptor(rpcRegisterName string) grpc.ServerOpt... type grpcServiceRegistrar (line 308) | type grpcServiceRegistrar struct method RegisterService (line 312) | func (x *grpcServiceRegistrar) RegisterService(desc *grpc.ServiceDesc,... FILE: pkg/common/startrpc/tools.go function getConfig (line 9) | func getConfig[T any](value reflect.Value) *T { function getConfigRpcMaxRequestBody (line 33) | func getConfigRpcMaxRequestBody(value reflect.Value) *conf.MaxRequestBody { function getConfigShare (line 37) | func getConfigShare(value reflect.Value) *conf.Share { FILE: pkg/common/storage/cache/batch_handler.go type BatchDeleter (line 8) | type BatchDeleter interface FILE: pkg/common/storage/cache/black.go type BlackCache (line 21) | type BlackCache interface FILE: pkg/common/storage/cache/cachekey/black.go constant BlackIDsKey (line 18) | BlackIDsKey = "BLACK_IDS:" constant IsBlackKey (line 19) | IsBlackKey = "IS_BLACK:" function GetBlackIDsKey (line 22) | func GetBlackIDsKey(ownerUserID string) string { function GetIsBlackIDsKey (line 27) | func GetIsBlackIDsKey(possibleBlackUserID, userID string) string { FILE: pkg/common/storage/cache/cachekey/client_config.go constant ClientConfig (line 3) | ClientConfig = "CLIENT_CONFIG" function GetClientConfigKey (line 5) | func GetClientConfigKey(userID string) string { FILE: pkg/common/storage/cache/cachekey/conversation.go constant ConversationKey (line 18) | ConversationKey = "CONVERSATION:" constant ConversationIDsKey (line 19) | ConversationIDsKey = "CONVERSATION_IDS:" constant NotNotifyConversationIDsKey (line 20) | NotNotifyConversationIDsKey = "NOT_NOTIFY_CONVERSATION_IDS:" constant PinnedConversationIDsKey (line 21) | PinnedConversationIDsKey = "PINNED_CONVERSATION_IDS:" constant ConversationIDsHashKey (line 22) | ConversationIDsHashKey = "CONVERSATION_IDS_HASH:" constant ConversationHasReadSeqKey (line 23) | ConversationHasReadSeqKey = "CONVERSATION_HAS_READ_SEQ:" constant RecvMsgOptKey (line 24) | RecvMsgOptKey = "RECV_MSG_OPT:" constant SuperGroupRecvMsgNotNotifyUserIDsKey (line 25) | SuperGroupRecvMsgNotNotifyUserIDsKey = "SUPER_GROUP_RECV_MSG_NOT_NOT... constant SuperGroupRecvMsgNotNotifyUserIDsHashKey (line 26) | SuperGroupRecvMsgNotNotifyUserIDsHashKey = "SUPER_GROUP_RECV_MSG_NOT_NOT... constant ConversationNotReceiveMessageUserIDsKey (line 27) | ConversationNotReceiveMessageUserIDsKey = "CONVERSATION_NOT_RECEIVE_MES... constant ConversationUserMaxKey (line 28) | ConversationUserMaxKey = "CONVERSATION_USER_MAX:" function GetConversationKey (line 31) | func GetConversationKey(ownerUserID, conversationID string) string { function GetConversationIDsKey (line 35) | func GetConversationIDsKey(ownerUserID string) string { function GetNotNotifyConversationIDsKey (line 39) | func GetNotNotifyConversationIDsKey(ownerUserID string) string { function GetPinnedConversationIDs (line 43) | func GetPinnedConversationIDs(ownerUserID string) string { function GetSuperGroupRecvNotNotifyUserIDsKey (line 47) | func GetSuperGroupRecvNotNotifyUserIDsKey(groupID string) string { function GetRecvMsgOptKey (line 51) | func GetRecvMsgOptKey(ownerUserID, conversationID string) string { function GetSuperGroupRecvNotNotifyUserIDsHashKey (line 55) | func GetSuperGroupRecvNotNotifyUserIDsHashKey(groupID string) string { function GetConversationHasReadSeqKey (line 59) | func GetConversationHasReadSeqKey(ownerUserID, conversationID string) st... function GetConversationNotReceiveMessageUserIDsKey (line 63) | func GetConversationNotReceiveMessageUserIDsKey(conversationID string) s... function GetUserConversationIDsHashKey (line 67) | func GetUserConversationIDsHashKey(ownerUserID string) string { function GetConversationUserMaxVersionKey (line 71) | func GetConversationUserMaxVersionKey(userID string) string { FILE: pkg/common/storage/cache/cachekey/friend.go constant FriendIDsKey (line 18) | FriendIDsKey = "FRIEND_IDS:" constant TwoWayFriendsIDsKey (line 19) | TwoWayFriendsIDsKey = "COMMON_FRIENDS_IDS:" constant FriendKey (line 20) | FriendKey = "FRIEND_INFO:" constant IsFriendKey (line 21) | IsFriendKey = "IS_FRIEND:" constant FriendMaxVersionKey (line 23) | FriendMaxVersionKey = "FRIEND_MAX_VERSION:" function GetFriendIDsKey (line 26) | func GetFriendIDsKey(ownerUserID string) string { function GetTwoWayFriendsIDsKey (line 30) | func GetTwoWayFriendsIDsKey(ownerUserID string) string { function GetFriendKey (line 34) | func GetFriendKey(ownerUserID, friendUserID string) string { function GetFriendMaxVersionKey (line 38) | func GetFriendMaxVersionKey(ownerUserID string) string { function GetIsFriendKey (line 42) | func GetIsFriendKey(possibleFriendUserID, userID string) string { FILE: pkg/common/storage/cache/cachekey/group.go constant groupExpireTime (line 23) | groupExpireTime = time.Second * 60 * 60 * 12 constant GroupInfoKey (line 24) | GroupInfoKey = "GROUP_INFO:" constant GroupMemberIDsKey (line 25) | GroupMemberIDsKey = "GROUP_MEMBER_IDS:" constant GroupMembersHashKey (line 26) | GroupMembersHashKey = "GROUP_MEMBERS_HASH2:" constant GroupMemberInfoKey (line 27) | GroupMemberInfoKey = "GROUP_MEMBER_INFO:" constant JoinedGroupsKey (line 28) | JoinedGroupsKey = "JOIN_GROUPS_KEY:" constant GroupMemberNumKey (line 29) | GroupMemberNumKey = "GROUP_MEMBER_NUM_CACHE:" constant GroupRoleLevelMemberIDsKey (line 30) | GroupRoleLevelMemberIDsKey = "GROUP_ROLE_LEVEL_MEMBER_IDS:" constant GroupAdminLevelMemberIDsKey (line 31) | GroupAdminLevelMemberIDsKey = "GROUP_ADMIN_LEVEL_MEMBER_IDS:" constant GroupMemberMaxVersionKey (line 32) | GroupMemberMaxVersionKey = "GROUP_MEMBER_MAX_VERSION:" constant GroupJoinMaxVersionKey (line 33) | GroupJoinMaxVersionKey = "GROUP_JOIN_MAX_VERSION:" function GetGroupInfoKey (line 36) | func GetGroupInfoKey(groupID string) string { function GetJoinedGroupsKey (line 40) | func GetJoinedGroupsKey(userID string) string { function GetGroupMembersHashKey (line 44) | func GetGroupMembersHashKey(groupID string) string { function GetGroupMemberIDsKey (line 48) | func GetGroupMemberIDsKey(groupID string) string { function GetGroupMemberInfoKey (line 52) | func GetGroupMemberInfoKey(groupID, userID string) string { function GetGroupMemberNumKey (line 56) | func GetGroupMemberNumKey(groupID string) string { function GetGroupRoleLevelMemberIDsKey (line 60) | func GetGroupRoleLevelMemberIDsKey(groupID string, roleLevel int32) stri... function GetGroupMemberMaxVersionKey (line 64) | func GetGroupMemberMaxVersionKey(groupID string) string { function GetJoinGroupMaxVersionKey (line 68) | func GetJoinGroupMaxVersionKey(userID string) string { FILE: pkg/common/storage/cache/cachekey/msg.go constant sendMsgFailedFlag (line 22) | sendMsgFailedFlag = "SEND_MSG_FAILED_FLAG:" constant messageCache (line 23) | messageCache = "MSG_CACHE:" function GetMsgCacheKey (line 26) | func GetMsgCacheKey(conversationID string, seq int64) string { function GetSendMsgKey (line 30) | func GetSendMsgKey(id string) string { FILE: pkg/common/storage/cache/cachekey/online.go constant OnlineKey (line 9) | OnlineKey = "ONLINE:" constant OnlineChannel (line 10) | OnlineChannel = "online_change" constant OnlineExpire (line 11) | OnlineExpire = time.Hour / 2 function GetOnlineKey (line 14) | func GetOnlineKey(userID string) string { function GetOnlineKeyUserID (line 18) | func GetOnlineKeyUserID(key string) string { FILE: pkg/common/storage/cache/cachekey/s3.go constant object (line 20) | object = "OBJECT:" constant s3 (line 21) | s3 = "S3:" constant minioImageInfo (line 22) | minioImageInfo = "MINIO:IMAGE:" constant minioThumbnail (line 23) | minioThumbnail = "MINIO:THUMBNAIL:" function GetObjectKey (line 26) | func GetObjectKey(engine string, name string) string { function GetS3Key (line 30) | func GetS3Key(engine string, name string) string { function GetObjectImageInfoKey (line 34) | func GetObjectImageInfoKey(key string) string { function GetMinioImageThumbnailKey (line 38) | func GetMinioImageThumbnailKey(key string, format string, width int, hei... FILE: pkg/common/storage/cache/cachekey/seq.go constant MallocSeq (line 4) | MallocSeq = "MALLOC_SEQ:" constant MallocMinSeqLock (line 5) | MallocMinSeqLock = "MALLOC_MIN_SEQ:" constant SeqUserMaxSeq (line 7) | SeqUserMaxSeq = "SEQ_USER_MAX:" constant SeqUserMinSeq (line 8) | SeqUserMinSeq = "SEQ_USER_MIN:" constant SeqUserReadSeq (line 9) | SeqUserReadSeq = "SEQ_USER_READ:" function GetMallocSeqKey (line 12) | func GetMallocSeqKey(conversationID string) string { function GetMallocMinSeqKey (line 16) | func GetMallocMinSeqKey(conversationID string) string { function GetSeqUserMaxSeqKey (line 20) | func GetSeqUserMaxSeqKey(conversationID string, userID string) string { function GetSeqUserMinSeqKey (line 24) | func GetSeqUserMinSeqKey(conversationID string, userID string) string { function GetSeqUserReadSeqKey (line 28) | func GetSeqUserReadSeqKey(conversationID string, userID string) string { FILE: pkg/common/storage/cache/cachekey/third.go constant getuiToken (line 22) | getuiToken = "GETUI_TOKEN" constant getuiTaskID (line 23) | getuiTaskID = "GETUI_TASK_ID" constant fmcToken (line 24) | fmcToken = "FCM_TOKEN:" constant userBadgeUnreadCountSum (line 25) | userBadgeUnreadCountSum = "USER_BADGE_UNREAD_COUNT_SUM:" function GetFcmAccountTokenKey (line 28) | func GetFcmAccountTokenKey(account string, platformID int) string { function GetUserBadgeUnreadCountSumKey (line 32) | func GetUserBadgeUnreadCountSumKey(userID string) string { function GetGetuiTokenKey (line 36) | func GetGetuiTokenKey() string { function GetGetuiTaskIDKey (line 39) | func GetGetuiTaskIDKey() string { FILE: pkg/common/storage/cache/cachekey/token.go constant UidPidToken (line 10) | UidPidToken = "UID_PID_TOKEN_STATUS:" function GetTokenKey (line 13) | func GetTokenKey(userID string, platformID int) string { function GetTemporaryTokenKey (line 17) | func GetTemporaryTokenKey(userID string, platformID int, token string) s... function GetAllPlatformTokenKey (line 21) | func GetAllPlatformTokenKey(userID string) []string { function GetPlatformIDByTokenKey (line 29) | func GetPlatformIDByTokenKey(key string) int { FILE: pkg/common/storage/cache/cachekey/user.go constant UserInfoKey (line 18) | UserInfoKey = "USER_INFO:" constant UserGlobalRecvMsgOptKey (line 19) | UserGlobalRecvMsgOptKey = "USER_GLOBAL_RECV_MSG_OPT_KEY:" function GetUserInfoKey (line 22) | func GetUserInfoKey(userID string) string { function GetUserGlobalRecvMsgOptKey (line 26) | func GetUserGlobalRecvMsgOptKey(userID string) string { FILE: pkg/common/storage/cache/client_config.go type ClientConfigCache (line 5) | type ClientConfigCache interface FILE: pkg/common/storage/cache/conversation.go type ConversationCache (line 24) | type ConversationCache interface FILE: pkg/common/storage/cache/friend.go type FriendCache (line 23) | type FriendCache interface FILE: pkg/common/storage/cache/group.go type GroupHash (line 24) | type GroupHash interface type GroupCache (line 28) | type GroupCache interface FILE: pkg/common/storage/cache/mcache/minio.go function NewMinioCache (line 12) | func NewMinioCache(cache database.Cache) minio.Cache { type minioCache (line 19) | type minioCache struct method getObjectImageInfoKey (line 24) | func (g *minioCache) getObjectImageInfoKey(key string) string { method getMinioImageThumbnailKey (line 28) | func (g *minioCache) getMinioImageThumbnailKey(key string, format stri... method DelObjectImageInfoKey (line 32) | func (g *minioCache) DelObjectImageInfoKey(ctx context.Context, keys .... method DelImageThumbnailKey (line 40) | func (g *minioCache) DelImageThumbnailKey(ctx context.Context, key str... method GetImageObjectKeyInfo (line 44) | func (g *minioCache) GetImageObjectKeyInfo(ctx context.Context, key st... method GetThumbnailKey (line 48) | func (g *minioCache) GetThumbnailKey(ctx context.Context, key string, ... FILE: pkg/common/storage/cache/mcache/msg_cache.go function NewMsgCache (line 25) | func NewMsgCache(cache database.Cache, msgDocDatabase database.Msg) cach... type msgCache (line 36) | type msgCache struct method getSendMsgKey (line 42) | func (x *msgCache) getSendMsgKey(id string) string { method SetSendMsgStatus (line 46) | func (x *msgCache) SetSendMsgStatus(ctx context.Context, id string, st... method GetSendMsgStatus (line 50) | func (x *msgCache) GetSendMsgStatus(ctx context.Context, id string) (i... method getMsgCacheKey (line 67) | func (x *msgCache) getMsgCacheKey(conversationID string, seq int64) st... method GetMessageBySeqs (line 72) | func (x *msgCache) GetMessageBySeqs(ctx context.Context, conversationI... method DelMessageBySeqs (line 113) | func (x msgCache) DelMessageBySeqs(ctx context.Context, conversationID... method SetMessageBySeqs (line 123) | func (x *msgCache) SetMessageBySeqs(ctx context.Context, conversationI... FILE: pkg/common/storage/cache/mcache/online.go function NewOnlineCache (line 15) | func NewOnlineCache() cache.OnlineCache { type onlineCache (line 24) | type onlineCache struct method GetOnline (line 29) | func (x *onlineCache) GetOnline(ctx context.Context, userID string) ([... method SetUserOnline (line 43) | func (x *onlineCache) SetUserOnline(ctx context.Context, userID string... method GetAllOnlineUsers (line 67) | func (x *onlineCache) GetAllOnlineUsers(ctx context.Context, cursor ui... FILE: pkg/common/storage/cache/mcache/seq_conversation.go function NewSeqConversationCache (line 10) | func NewSeqConversationCache(sc database.SeqConversation) cache.SeqConve... type seqConversationCache (line 16) | type seqConversationCache struct method Malloc (line 20) | func (x *seqConversationCache) Malloc(ctx context.Context, conversatio... method SetMinSeq (line 24) | func (x *seqConversationCache) SetMinSeq(ctx context.Context, conversa... method GetMinSeq (line 28) | func (x *seqConversationCache) GetMinSeq(ctx context.Context, conversa... method GetMaxSeqs (line 32) | func (x *seqConversationCache) GetMaxSeqs(ctx context.Context, convers... method GetMaxSeqsWithTime (line 44) | func (x *seqConversationCache) GetMaxSeqsWithTime(ctx context.Context,... method GetMaxSeq (line 56) | func (x *seqConversationCache) GetMaxSeq(ctx context.Context, conversa... method GetMaxSeqWithTime (line 60) | func (x *seqConversationCache) GetMaxSeqWithTime(ctx context.Context, ... method SetMinSeqs (line 68) | func (x *seqConversationCache) SetMinSeqs(ctx context.Context, seqs ma... method GetCacheMaxSeqWithTime (line 77) | func (x *seqConversationCache) GetCacheMaxSeqWithTime(ctx context.Cont... FILE: pkg/common/storage/cache/mcache/third.go function NewThirdCache (line 15) | func NewThirdCache(cache database.Cache) cache.ThirdCache { type thirdCache (line 21) | type thirdCache struct method getGetuiTokenKey (line 25) | func (c *thirdCache) getGetuiTokenKey() string { method getGetuiTaskIDKey (line 29) | func (c *thirdCache) getGetuiTaskIDKey() string { method getUserBadgeUnreadCountSumKey (line 33) | func (c *thirdCache) getUserBadgeUnreadCountSumKey(userID string) stri... method getFcmAccountTokenKey (line 37) | func (c *thirdCache) getFcmAccountTokenKey(account string, platformID ... method get (line 41) | func (c *thirdCache) get(ctx context.Context, key string) (string, err... method SetFcmToken (line 52) | func (c *thirdCache) SetFcmToken(ctx context.Context, account string, ... method GetFcmToken (line 56) | func (c *thirdCache) GetFcmToken(ctx context.Context, account string, ... method DelFcmToken (line 60) | func (c *thirdCache) DelFcmToken(ctx context.Context, account string, ... method IncrUserBadgeUnreadCountSum (line 64) | func (c *thirdCache) IncrUserBadgeUnreadCountSum(ctx context.Context, ... method SetUserBadgeUnreadCountSum (line 68) | func (c *thirdCache) SetUserBadgeUnreadCountSum(ctx context.Context, u... method GetUserBadgeUnreadCountSum (line 72) | func (c *thirdCache) GetUserBadgeUnreadCountSum(ctx context.Context, u... method SetGetuiToken (line 84) | func (c *thirdCache) SetGetuiToken(ctx context.Context, token string, ... method GetGetuiToken (line 88) | func (c *thirdCache) GetGetuiToken(ctx context.Context) (string, error) { method SetGetuiTaskID (line 92) | func (c *thirdCache) SetGetuiTaskID(ctx context.Context, taskID string... method GetGetuiTaskID (line 96) | func (c *thirdCache) GetGetuiTaskID(ctx context.Context) (string, erro... FILE: pkg/common/storage/cache/mcache/token.go function NewTokenCacheModel (line 17) | func NewTokenCacheModel(cache database.Cache, accessExpire int64) cache.... type tokenCache (line 23) | type tokenCache struct method getTokenKey (line 28) | func (x *tokenCache) getTokenKey(userID string, platformID int, token ... method SetTokenFlag (line 32) | func (x *tokenCache) SetTokenFlag(ctx context.Context, userID string, ... method SetTokenFlagEx (line 37) | func (x *tokenCache) SetTokenFlagEx(ctx context.Context, userID string... method GetTokensWithoutError (line 41) | func (x *tokenCache) GetTokensWithoutError(ctx context.Context, userID... method HasTemporaryToken (line 59) | func (x *tokenCache) HasTemporaryToken(ctx context.Context, userID str... method GetAllTokensWithoutError (line 67) | func (x *tokenCache) GetAllTokensWithoutError(ctx context.Context, use... method SetTokenMapByUidPid (line 105) | func (x *tokenCache) SetTokenMapByUidPid(ctx context.Context, userID s... method BatchSetTokenMapByUidPid (line 115) | func (x *tokenCache) BatchSetTokenMapByUidPid(ctx context.Context, tok... method DeleteTokenByUidPid (line 127) | func (x *tokenCache) DeleteTokenByUidPid(ctx context.Context, userID s... method getExpireTime (line 135) | func (x *tokenCache) getExpireTime(t int64) time.Duration { method DeleteTokenByTokenMap (line 139) | func (x *tokenCache) DeleteTokenByTokenMap(ctx context.Context, userID... method DeleteAndSetTemporary (line 149) | func (x *tokenCache) DeleteAndSetTemporary(ctx context.Context, userID... FILE: pkg/common/storage/cache/mcache/tools.go function getCache (line 12) | func getCache[V any](ctx context.Context, cache database.Cache, key stri... FILE: pkg/common/storage/cache/msg.go type MsgCache (line 22) | type MsgCache interface FILE: pkg/common/storage/cache/online.go type OnlineCache (line 5) | type OnlineCache interface FILE: pkg/common/storage/cache/redis/batch.go function GetRocksCacheOptions (line 16) | func GetRocksCacheOptions() *rockscache.Options { function newRocksCacheClient (line 26) | func newRocksCacheClient(rdb redis.UniversalClient) *rocksCacheClient { type rocksCacheClient (line 37) | type rocksCacheClient struct method GetClient (line 42) | func (x *rocksCacheClient) GetClient() *rockscache.Client { method Disable (line 46) | func (x *rocksCacheClient) Disable() bool { method GetRedis (line 50) | func (x *rocksCacheClient) GetRedis() redis.UniversalClient { method GetBatchDeleter (line 54) | func (x *rocksCacheClient) GetBatchDeleter(topics ...string) cache.Bat... function batchGetCache2 (line 58) | func batchGetCache2[K comparable, V any](ctx context.Context, rcClient *... type BatchCacheCallback (line 133) | type BatchCacheCallback interface FILE: pkg/common/storage/cache/redis/batch_handler.go constant rocksCacheTimeout (line 19) | rocksCacheTimeout = 11 * time.Second type BatchDeleterRedis (line 23) | type BatchDeleterRedis struct method ExecDelWithKeys (line 40) | func (c *BatchDeleterRedis) ExecDelWithKeys(ctx context.Context, keys ... method ChainExecDel (line 46) | func (c *BatchDeleterRedis) ChainExecDel(ctx context.Context) error { method execDel (line 52) | func (c *BatchDeleterRedis) execDel(ctx context.Context, keys []string... method Clone (line 83) | func (c *BatchDeleterRedis) Clone() cache.BatchDeleter { method AddKeys (line 93) | func (c *BatchDeleterRedis) AddKeys(keys ...string) { function NewBatchDeleterRedis (line 31) | func NewBatchDeleterRedis(rcClient *rocksCacheClient, redisPubTopics []s... type disableBatchDeleter (line 97) | type disableBatchDeleter struct method ChainExecDel (line 99) | func (x disableBatchDeleter) ChainExecDel(ctx context.Context) error { method ExecDelWithKeys (line 103) | func (x disableBatchDeleter) ExecDelWithKeys(ctx context.Context, keys... method Clone (line 107) | func (x disableBatchDeleter) Clone() cache.BatchDeleter { method AddKeys (line 111) | func (x disableBatchDeleter) AddKeys(keys ...string) {} function getCache (line 113) | func getCache[T any](ctx context.Context, rcClient *rocksCacheClient, ke... FILE: pkg/common/storage/cache/redis/batch_test.go function TestName (line 12) | func TestName(t *testing.T) { FILE: pkg/common/storage/cache/redis/black.go constant blackExpireTime (line 15) | blackExpireTime = time.Second * 60 * 60 * 12 type BlackCacheRedis (line 18) | type BlackCacheRedis struct method CloneBlackCache (line 35) | func (b *BlackCacheRedis) CloneBlackCache() cache.BlackCache { method getBlackIDsKey (line 44) | func (b *BlackCacheRedis) getBlackIDsKey(ownerUserID string) string { method GetBlackIDs (line 48) | func (b *BlackCacheRedis) GetBlackIDs(ctx context.Context, userID stri... method DelBlackIDs (line 60) | func (b *BlackCacheRedis) DelBlackIDs(_ context.Context, userID string... function NewBlackCacheRedis (line 25) | func NewBlackCacheRedis(rdb redis.UniversalClient, localCache *config.Lo... FILE: pkg/common/storage/cache/redis/client_config.go function NewClientConfigCache (line 13) | func NewClientConfigCache(rdb redis.UniversalClient, mgo database.Client... type ClientConfigCache (line 22) | type ClientConfigCache struct method getExpireTime (line 28) | func (x *ClientConfigCache) getExpireTime(userID string) time.Duration { method getClientConfigKey (line 36) | func (x *ClientConfigCache) getClientConfigKey(userID string) string { method GetConfig (line 40) | func (x *ClientConfigCache) GetConfig(ctx context.Context, userID stri... method DeleteUserCache (line 46) | func (x *ClientConfigCache) DeleteUserCache(ctx context.Context, userI... method GetUserConfig (line 54) | func (x *ClientConfigCache) GetUserConfig(ctx context.Context, userID ... FILE: pkg/common/storage/cache/redis/conversation.go constant conversationExpireTime (line 20) | conversationExpireTime = time.Second * 60 * 60 * 12 function NewConversationRedis (line 23) | func NewConversationRedis(rdb redis.UniversalClient, localCache *config.... type ConversationRedisCache (line 33) | type ConversationRedisCache struct method CloneConversationCache (line 40) | func (c *ConversationRedisCache) CloneConversationCache() cache.Conver... method getConversationKey (line 49) | func (c *ConversationRedisCache) getConversationKey(ownerUserID, conve... method getConversationIDsKey (line 53) | func (c *ConversationRedisCache) getConversationIDsKey(ownerUserID str... method getNotNotifyConversationIDsKey (line 57) | func (c *ConversationRedisCache) getNotNotifyConversationIDsKey(ownerU... method getPinnedConversationIDsKey (line 61) | func (c *ConversationRedisCache) getPinnedConversationIDsKey(ownerUser... method getSuperGroupRecvNotNotifyUserIDsKey (line 65) | func (c *ConversationRedisCache) getSuperGroupRecvNotNotifyUserIDsKey(... method getRecvMsgOptKey (line 69) | func (c *ConversationRedisCache) getRecvMsgOptKey(ownerUserID, convers... method getSuperGroupRecvNotNotifyUserIDsHashKey (line 73) | func (c *ConversationRedisCache) getSuperGroupRecvNotNotifyUserIDsHash... method getConversationHasReadSeqKey (line 77) | func (c *ConversationRedisCache) getConversationHasReadSeqKey(ownerUse... method getConversationNotReceiveMessageUserIDsKey (line 81) | func (c *ConversationRedisCache) getConversationNotReceiveMessageUserI... method getUserConversationIDsHashKey (line 85) | func (c *ConversationRedisCache) getUserConversationIDsHashKey(ownerUs... method getConversationUserMaxVersionKey (line 89) | func (c *ConversationRedisCache) getConversationUserMaxVersionKey(owne... method GetUserConversationIDs (line 93) | func (c *ConversationRedisCache) GetUserConversationIDs(ctx context.Co... method GetUserNotNotifyConversationIDs (line 99) | func (c *ConversationRedisCache) GetUserNotNotifyConversationIDs(ctx c... method GetPinnedConversationIDs (line 105) | func (c *ConversationRedisCache) GetPinnedConversationIDs(ctx context.... method DelConversationIDs (line 111) | func (c *ConversationRedisCache) DelConversationIDs(userIDs ...string)... method GetUserConversationIDsHash (line 122) | func (c *ConversationRedisCache) GetUserConversationIDsHash(ctx contex... method DelUserConversationIDsHash (line 141) | func (c *ConversationRedisCache) DelUserConversationIDsHash(ownerUserI... method GetConversation (line 152) | func (c *ConversationRedisCache) GetConversation(ctx context.Context, ... method DelConversations (line 158) | func (c *ConversationRedisCache) DelConversations(ownerUserID string, ... method GetConversations (line 169) | func (c *ConversationRedisCache) GetConversations(ctx context.Context,... method GetUserAllConversations (line 179) | func (c *ConversationRedisCache) GetUserAllConversations(ctx context.C... method GetUserRecvMsgOpt (line 187) | func (c *ConversationRedisCache) GetUserRecvMsgOpt(ctx context.Context... method DelUsersConversation (line 193) | func (c *ConversationRedisCache) DelUsersConversation(conversationID s... method DelUserRecvMsgOpt (line 204) | func (c *ConversationRedisCache) DelUserRecvMsgOpt(ownerUserID, conver... method DelSuperGroupRecvMsgNotNotifyUserIDs (line 211) | func (c *ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDs(... method DelSuperGroupRecvMsgNotNotifyUserIDsHash (line 218) | func (c *ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDsH... method DelUserAllHasReadSeqs (line 225) | func (c *ConversationRedisCache) DelUserAllHasReadSeqs(ownerUserID str... method GetConversationNotReceiveMessageUserIDs (line 234) | func (c *ConversationRedisCache) GetConversationNotReceiveMessageUserI... method DelConversationNotReceiveMessageUserIDs (line 240) | func (c *ConversationRedisCache) DelConversationNotReceiveMessageUserI... method DelConversationNotNotifyMessageUserIDs (line 248) | func (c *ConversationRedisCache) DelConversationNotNotifyMessageUserID... method DelUserPinnedConversations (line 256) | func (c *ConversationRedisCache) DelUserPinnedConversations(userIDs ..... method DelConversationVersionUserIDs (line 264) | func (c *ConversationRedisCache) DelConversationVersionUserIDs(userIDs... method FindMaxConversationUserVersion (line 272) | func (c *ConversationRedisCache) FindMaxConversationUserVersion(ctx co... FILE: pkg/common/storage/cache/redis/friend.go constant friendExpireTime (line 17) | friendExpireTime = time.Second * 60 * 60 * 12 type FriendCacheRedis (line 21) | type FriendCacheRedis struct method CloneFriendCache (line 40) | func (f *FriendCacheRedis) CloneFriendCache() cache.FriendCache { method getFriendIDsKey (line 50) | func (f *FriendCacheRedis) getFriendIDsKey(ownerUserID string) string { method getFriendMaxVersionKey (line 54) | func (f *FriendCacheRedis) getFriendMaxVersionKey(ownerUserID string) ... method getTwoWayFriendsIDsKey (line 59) | func (f *FriendCacheRedis) getTwoWayFriendsIDsKey(ownerUserID string) ... method getFriendKey (line 64) | func (f *FriendCacheRedis) getFriendKey(ownerUserID, friendUserID stri... method GetFriendIDs (line 69) | func (f *FriendCacheRedis) GetFriendIDs(ctx context.Context, ownerUser... method DelFriendIDs (line 76) | func (f *FriendCacheRedis) DelFriendIDs(ownerUserIDs ...string) cache.... method GetTwoWayFriendIDs (line 88) | func (f *FriendCacheRedis) GetTwoWayFriendIDs(ctx context.Context, own... method DelTwoWayFriendIDs (line 107) | func (f *FriendCacheRedis) DelTwoWayFriendIDs(ctx context.Context, own... method GetFriend (line 115) | func (f *FriendCacheRedis) GetFriend(ctx context.Context, ownerUserID,... method DelFriend (line 123) | func (f *FriendCacheRedis) DelFriend(ownerUserID, friendUserID string)... method DelFriends (line 131) | func (f *FriendCacheRedis) DelFriends(ownerUserID string, friendUserID... method DelOwner (line 142) | func (f *FriendCacheRedis) DelOwner(friendUserID string, ownerUserIDs ... method DelMaxFriendVersion (line 153) | func (f *FriendCacheRedis) DelMaxFriendVersion(ownerUserIDs ...string)... method FindMaxFriendVersion (line 163) | func (f *FriendCacheRedis) FindMaxFriendVersion(ctx context.Context, o... function NewFriendCacheRedis (line 30) | func NewFriendCacheRedis(rdb redis.UniversalClient, localCache *config.L... FILE: pkg/common/storage/cache/redis/group.go constant groupExpireTime (line 21) | groupExpireTime = time.Second * 60 * 60 * 12 type GroupCacheRedis (line 24) | type GroupCacheRedis struct method CloneGroupCache (line 47) | func (g *GroupCacheRedis) CloneGroupCache() cache.GroupCache { method getGroupInfoKey (line 58) | func (g *GroupCacheRedis) getGroupInfoKey(groupID string) string { method getJoinedGroupsKey (line 62) | func (g *GroupCacheRedis) getJoinedGroupsKey(userID string) string { method getGroupMembersHashKey (line 66) | func (g *GroupCacheRedis) getGroupMembersHashKey(groupID string) string { method getGroupMemberIDsKey (line 70) | func (g *GroupCacheRedis) getGroupMemberIDsKey(groupID string) string { method getGroupMemberInfoKey (line 74) | func (g *GroupCacheRedis) getGroupMemberInfoKey(groupID, userID string... method getGroupMemberNumKey (line 78) | func (g *GroupCacheRedis) getGroupMemberNumKey(groupID string) string { method getGroupRoleLevelMemberIDsKey (line 82) | func (g *GroupCacheRedis) getGroupRoleLevelMemberIDsKey(groupID string... method getGroupMemberMaxVersionKey (line 86) | func (g *GroupCacheRedis) getGroupMemberMaxVersionKey(groupID string) ... method getJoinGroupMaxVersionKey (line 90) | func (g *GroupCacheRedis) getJoinGroupMaxVersionKey(userID string) str... method getGroupID (line 94) | func (g *GroupCacheRedis) getGroupID(group *model.Group) string { method GetGroupsInfo (line 98) | func (g *GroupCacheRedis) GetGroupsInfo(ctx context.Context, groupIDs ... method GetGroupInfo (line 102) | func (g *GroupCacheRedis) GetGroupInfo(ctx context.Context, groupID st... method DelGroupsInfo (line 108) | func (g *GroupCacheRedis) DelGroupsInfo(groupIDs ...string) cache.Grou... method DelGroupsOwner (line 119) | func (g *GroupCacheRedis) DelGroupsOwner(groupIDs ...string) cache.Gro... method DelGroupRoleLevel (line 130) | func (g *GroupCacheRedis) DelGroupRoleLevel(groupID string, roleLevels... method DelGroupAllRoleLevel (line 140) | func (g *GroupCacheRedis) DelGroupAllRoleLevel(groupID string) cache.G... method GetGroupMembersHash (line 144) | func (g *GroupCacheRedis) GetGroupMembersHash(ctx context.Context, gro... method GetGroupMemberHashMap (line 153) | func (g *GroupCacheRedis) GetGroupMemberHashMap(ctx context.Context, g... method DelGroupMembersHash (line 174) | func (g *GroupCacheRedis) DelGroupMembersHash(groupID string) cache.Gr... method GetGroupMemberIDs (line 181) | func (g *GroupCacheRedis) GetGroupMemberIDs(ctx context.Context, group... method DelGroupMemberIDs (line 187) | func (g *GroupCacheRedis) DelGroupMemberIDs(groupID string) cache.Grou... method findUserJoinedGroupID (line 194) | func (g *GroupCacheRedis) findUserJoinedGroupID(ctx context.Context, u... method GetJoinedGroupIDs (line 202) | func (g *GroupCacheRedis) GetJoinedGroupIDs(ctx context.Context, userI... method DelJoinedGroupID (line 208) | func (g *GroupCacheRedis) DelJoinedGroupID(userIDs ...string) cache.Gr... method GetGroupMemberInfo (line 219) | func (g *GroupCacheRedis) GetGroupMemberInfo(ctx context.Context, grou... method GetGroupMembersInfo (line 225) | func (g *GroupCacheRedis) GetGroupMembersInfo(ctx context.Context, gro... method GetAllGroupMembersInfo (line 235) | func (g *GroupCacheRedis) GetAllGroupMembersInfo(ctx context.Context, ... method DelGroupMembersInfo (line 244) | func (g *GroupCacheRedis) DelGroupMembersInfo(groupID string, userIDs ... method GetGroupMemberNum (line 255) | func (g *GroupCacheRedis) GetGroupMemberNum(ctx context.Context, group... method DelGroupsMemberNum (line 261) | func (g *GroupCacheRedis) DelGroupsMemberNum(groupID ...string) cache.... method GetGroupOwner (line 272) | func (g *GroupCacheRedis) GetGroupOwner(ctx context.Context, groupID s... method GetGroupsOwner (line 283) | func (g *GroupCacheRedis) GetGroupsOwner(ctx context.Context, groupIDs... method GetGroupRoleLevelMemberIDs (line 297) | func (g *GroupCacheRedis) GetGroupRoleLevelMemberIDs(ctx context.Conte... method GetGroupRoleLevelMemberInfo (line 303) | func (g *GroupCacheRedis) GetGroupRoleLevelMemberInfo(ctx context.Cont... method GetGroupRolesLevelMemberInfo (line 311) | func (g *GroupCacheRedis) GetGroupRolesLevelMemberInfo(ctx context.Con... method FindGroupMemberUser (line 323) | func (g *GroupCacheRedis) FindGroupMemberUser(ctx context.Context, gro... method DelMaxGroupMemberVersion (line 340) | func (g *GroupCacheRedis) DelMaxGroupMemberVersion(groupIDs ...string)... method DelMaxJoinGroupVersion (line 350) | func (g *GroupCacheRedis) DelMaxJoinGroupVersion(userIDs ...string) ca... method FindMaxGroupMemberVersion (line 360) | func (g *GroupCacheRedis) FindMaxGroupMemberVersion(ctx context.Contex... method BatchFindMaxGroupMemberVersion (line 366) | func (g *GroupCacheRedis) BatchFindMaxGroupMemberVersion(ctx context.C... method FindMaxJoinGroupVersion (line 381) | func (g *GroupCacheRedis) FindMaxJoinGroupVersion(ctx context.Context,... function NewGroupCacheRedis (line 34) | func NewGroupCacheRedis(rdb redis.UniversalClient, localCache *config.Lo... FILE: pkg/common/storage/cache/redis/lua_script.go function callLua (line 50) | func callLua(ctx context.Context, rdb redis.Scripter, script *redis.Scri... function LuaSetBatchWithCommonExpire (line 67) | func LuaSetBatchWithCommonExpire(ctx context.Context, rdb redis.Scripter... function LuaSetBatchWithIndividualExpire (line 88) | func LuaSetBatchWithIndividualExpire(ctx context.Context, rdb redis.Scri... function LuaDeleteBatch (line 111) | func LuaDeleteBatch(ctx context.Context, rdb redis.Scripter, keys []stri... function LuaGetBatch (line 116) | func LuaGetBatch(ctx context.Context, rdb redis.Scripter, keys []string)... FILE: pkg/common/storage/cache/redis/lua_script_test.go function TestLuaSetBatchWithCommonExpire (line 11) | func TestLuaSetBatchWithCommonExpire(t *testing.T) { function TestLuaSetBatchWithIndividualExpire (line 26) | func TestLuaSetBatchWithIndividualExpire(t *testing.T) { function TestLuaDeleteBatch (line 49) | func TestLuaDeleteBatch(t *testing.T) { function TestLuaGetBatch (line 62) | func TestLuaGetBatch(t *testing.T) { FILE: pkg/common/storage/cache/redis/minio.go function NewMinioCache (line 13) | func NewMinioCache(rdb redis.UniversalClient) minio.Cache { type minioCacheRedis (line 22) | type minioCacheRedis struct method getObjectImageInfoKey (line 28) | func (g *minioCacheRedis) getObjectImageInfoKey(key string) string { method getMinioImageThumbnailKey (line 32) | func (g *minioCacheRedis) getMinioImageThumbnailKey(key string, format... method DelObjectImageInfoKey (line 36) | func (g *minioCacheRedis) DelObjectImageInfoKey(ctx context.Context, k... method DelImageThumbnailKey (line 44) | func (g *minioCacheRedis) DelImageThumbnailKey(ctx context.Context, ke... method GetImageObjectKeyInfo (line 49) | func (g *minioCacheRedis) GetImageObjectKeyInfo(ctx context.Context, k... method GetThumbnailKey (line 57) | func (g *minioCacheRedis) GetThumbnailKey(ctx context.Context, key str... FILE: pkg/common/storage/cache/redis/msg.go constant msgCacheTimeout (line 18) | msgCacheTimeout = time.Hour * 24 function NewMsgCache (line 20) | func NewMsgCache(client redis.UniversalClient, db database.Msg) cache.Ms... type msgCache (line 27) | type msgCache struct method getSendMsgKey (line 32) | func (c *msgCache) getSendMsgKey(id string) string { method SetSendMsgStatus (line 36) | func (c *msgCache) SetSendMsgStatus(ctx context.Context, id string, st... method GetSendMsgStatus (line 40) | func (c *msgCache) GetSendMsgStatus(ctx context.Context, id string) (i... method GetMessageBySeqs (line 45) | func (c *msgCache) GetMessageBySeqs(ctx context.Context, conversationI... method DelMessageBySeqs (line 61) | func (c *msgCache) DelMessageBySeqs(ctx context.Context, conversationI... method SetMessageBySeqs (line 80) | func (c *msgCache) SetMessageBySeqs(ctx context.Context, conversationI... FILE: pkg/common/storage/cache/redis/online.go function NewUserOnline (line 20) | func NewUserOnline(rdb redis.UniversalClient) cache.OnlineCache { type userOnline (line 31) | type userOnline struct method getUserOnlineKey (line 37) | func (s *userOnline) getUserOnlineKey(userID string) string { method GetOnline (line 41) | func (s *userOnline) GetOnline(ctx context.Context, userID string) ([]... method GetAllOnlineUsers (line 60) | func (s *userOnline) GetAllOnlineUsers(ctx context.Context, cursor uin... method SetUserOnline (line 90) | func (s *userOnline) SetUserOnline(ctx context.Context, userID string,... FILE: pkg/common/storage/cache/redis/online_test.go function TestName111111 (line 19) | func TestName111111(t *testing.T) { function TestName111 (line 49) | func TestName111(t *testing.T) { FILE: pkg/common/storage/cache/redis/redis_shard_manager.go constant defaultBatchSize (line 13) | defaultBatchSize = 50 constant defaultConcurrentLimit (line 14) | defaultConcurrentLimit = 3 type RedisShardManager (line 18) | type RedisShardManager struct type Config (line 22) | type Config struct type Option (line 29) | type Option function groupKeysBySlot (line 110) | func groupKeysBySlot(ctx context.Context, redisClient redis.UniversalCli... function splitIntoBatches (line 141) | func splitIntoBatches(keys []string, batchSize int) [][]string { function ProcessKeysBySlot (line 150) | func ProcessKeysBySlot( function DeleteCacheBySlot (line 200) | func DeleteCacheBySlot(ctx context.Context, rcClient *rocksCacheClient, ... FILE: pkg/common/storage/cache/redis/s3.go function NewObjectCacheRedis (line 16) | func NewObjectCacheRedis(rdb redis.UniversalClient, objDB database.Objec... type objectCacheRedis (line 26) | type objectCacheRedis struct method getObjectKey (line 33) | func (g *objectCacheRedis) getObjectKey(engine string, name string) st... method CloneObjectCache (line 37) | func (g *objectCacheRedis) CloneObjectCache() cache.ObjectCache { method DelObjectName (line 46) | func (g *objectCacheRedis) DelObjectName(engine string, names ...strin... method GetName (line 56) | func (g *objectCacheRedis) GetName(ctx context.Context, engine string,... function NewS3Cache (line 62) | func NewS3Cache(rdb redis.UniversalClient, s3 s3.Interface) cont.S3Cache { type s3CacheRedis (line 72) | type s3CacheRedis struct method getS3Key (line 79) | func (g *s3CacheRedis) getS3Key(engine string, name string) string { method DelS3Key (line 83) | func (g *s3CacheRedis) DelS3Key(ctx context.Context, engine string, ke... method GetKey (line 91) | func (g *s3CacheRedis) GetKey(ctx context.Context, engine string, name... FILE: pkg/common/storage/cache/redis/seq_conversation.go function NewSeqConversationCacheRedis (line 20) | func NewSeqConversationCacheRedis(rdb redis.UniversalClient, mgo databas... type seqConversationCacheRedis (line 33) | type seqConversationCacheRedis struct method getMinSeqKey (line 41) | func (s *seqConversationCacheRedis) getMinSeqKey(conversationID string... method SetMinSeq (line 45) | func (s *seqConversationCacheRedis) SetMinSeq(ctx context.Context, con... method GetMinSeq (line 49) | func (s *seqConversationCacheRedis) GetMinSeq(ctx context.Context, con... method getSingleMaxSeq (line 55) | func (s *seqConversationCacheRedis) getSingleMaxSeq(ctx context.Contex... method getSingleMaxSeqWithTime (line 63) | func (s *seqConversationCacheRedis) getSingleMaxSeqWithTime(ctx contex... method batchGetMaxSeq (line 71) | func (s *seqConversationCacheRedis) batchGetMaxSeq(ctx context.Context... method batchGetMaxSeqWithTime (line 102) | func (s *seqConversationCacheRedis) batchGetMaxSeqWithTime(ctx context... method GetMaxSeqs (line 142) | func (s *seqConversationCacheRedis) GetMaxSeqs(ctx context.Context, co... method GetMaxSeqsWithTime (line 175) | func (s *seqConversationCacheRedis) GetMaxSeqsWithTime(ctx context.Con... method getSeqMallocKey (line 208) | func (s *seqConversationCacheRedis) getSeqMallocKey(conversationID str... method setSeq (line 212) | func (s *seqConversationCacheRedis) setSeq(ctx context.Context, key st... method malloc (line 247) | func (s *seqConversationCacheRedis) malloc(ctx context.Context, key st... method wait (line 317) | func (s *seqConversationCacheRedis) wait(ctx context.Context) error { method setSeqRetry (line 328) | func (s *seqConversationCacheRedis) setSeqRetry(ctx context.Context, k... method getMallocSize (line 352) | func (s *seqConversationCacheRedis) getMallocSize(conversationID strin... method Malloc (line 366) | func (s *seqConversationCacheRedis) Malloc(ctx context.Context, conver... method mallocTime (line 371) | func (s *seqConversationCacheRedis) mallocTime(ctx context.Context, co... method GetMaxSeq (line 423) | func (s *seqConversationCacheRedis) GetMaxSeq(ctx context.Context, con... method GetMaxSeqWithTime (line 427) | func (s *seqConversationCacheRedis) GetMaxSeqWithTime(ctx context.Cont... method SetMinSeqs (line 435) | func (s *seqConversationCacheRedis) SetMinSeqs(ctx context.Context, se... method GetCacheMaxSeqWithTime (line 447) | func (s *seqConversationCacheRedis) GetCacheMaxSeqWithTime(ctx context... method parseInt64 (line 504) | func (s *seqConversationCacheRedis) parseInt64(val any) (int64, error) { FILE: pkg/common/storage/cache/redis/seq_conversation_test.go function newTestSeq (line 16) | func newTestSeq() *seqConversationCacheRedis { function TestSeq (line 37) | func TestSeq(t *testing.T) { function TestDel (line 87) | func TestDel(t *testing.T) { function TestSeqMalloc (line 101) | func TestSeqMalloc(t *testing.T) { function TestMinSeq (line 106) | func TestMinSeq(t *testing.T) { function TestMalloc (line 111) | func TestMalloc(t *testing.T) { function TestHMGET (line 116) | func TestHMGET(t *testing.T) { function TestGetMaxSeqWithTime (line 125) | func TestGetMaxSeqWithTime(t *testing.T) { function TestGetMaxSeqWithTime1 (line 130) | func TestGetMaxSeqWithTime1(t *testing.T) { FILE: pkg/common/storage/cache/redis/seq_user.go function NewSeqUserCacheRedis (line 15) | func NewSeqUserCacheRedis(rdb redis.UniversalClient, mgo database.SeqUse... type seqUserCacheRedis (line 25) | type seqUserCacheRedis struct method getSeqUserMaxSeqKey (line 33) | func (s *seqUserCacheRedis) getSeqUserMaxSeqKey(conversationID string,... method getSeqUserMinSeqKey (line 37) | func (s *seqUserCacheRedis) getSeqUserMinSeqKey(conversationID string,... method getSeqUserReadSeqKey (line 41) | func (s *seqUserCacheRedis) getSeqUserReadSeqKey(conversationID string... method GetUserMaxSeq (line 45) | func (s *seqUserCacheRedis) GetUserMaxSeq(ctx context.Context, convers... method SetUserMaxSeq (line 51) | func (s *seqUserCacheRedis) SetUserMaxSeq(ctx context.Context, convers... method GetUserMinSeq (line 58) | func (s *seqUserCacheRedis) GetUserMinSeq(ctx context.Context, convers... method SetUserMinSeq (line 64) | func (s *seqUserCacheRedis) SetUserMinSeq(ctx context.Context, convers... method GetUserReadSeq (line 68) | func (s *seqUserCacheRedis) GetUserReadSeq(ctx context.Context, conver... method SetUserReadSeq (line 74) | func (s *seqUserCacheRedis) SetUserReadSeq(ctx context.Context, conver... method SetUserReadSeqToDB (line 90) | func (s *seqUserCacheRedis) SetUserReadSeqToDB(ctx context.Context, co... method SetUserMinSeqs (line 94) | func (s *seqUserCacheRedis) SetUserMinSeqs(ctx context.Context, userID... method setUserRedisReadSeqs (line 105) | func (s *seqUserCacheRedis) setUserRedisReadSeqs(ctx context.Context, ... method SetUserReadSeqs (line 130) | func (s *seqUserCacheRedis) SetUserReadSeqs(ctx context.Context, userI... method GetUserReadSeqs (line 140) | func (s *seqUserCacheRedis) GetUserReadSeqs(ctx context.Context, userI... type readSeqModel (line 168) | type readSeqModel struct method BatchCache (line 173) | func (r *readSeqModel) BatchCache(conversationID string) { method UnmarshalJSON (line 177) | func (r *readSeqModel) UnmarshalJSON(bytes []byte) (err error) { method MarshalJSON (line 182) | func (r *readSeqModel) MarshalJSON() ([]byte, error) { FILE: pkg/common/storage/cache/redis/seq_user_test.go function newTestOnline (line 18) | func newTestOnline() *userOnline { function TestOnline (line 31) | func TestOnline(t *testing.T) { function TestGetOnline (line 57) | func TestGetOnline(t *testing.T) { function TestRecvOnline (line 67) | func TestRecvOnline(t *testing.T) { function TestName1 (line 84) | func TestName1(t *testing.T) { FILE: pkg/common/storage/cache/redis/third.go function NewThirdCache (line 13) | func NewThirdCache(rdb redis.UniversalClient) cache.ThirdCache { type thirdCache (line 17) | type thirdCache struct method getGetuiTokenKey (line 21) | func (c *thirdCache) getGetuiTokenKey() string { method getGetuiTaskIDKey (line 25) | func (c *thirdCache) getGetuiTaskIDKey() string { method getUserBadgeUnreadCountSumKey (line 29) | func (c *thirdCache) getUserBadgeUnreadCountSumKey(userID string) stri... method getFcmAccountTokenKey (line 33) | func (c *thirdCache) getFcmAccountTokenKey(account string, platformID ... method SetFcmToken (line 37) | func (c *thirdCache) SetFcmToken(ctx context.Context, account string, ... method GetFcmToken (line 41) | func (c *thirdCache) GetFcmToken(ctx context.Context, account string, ... method DelFcmToken (line 49) | func (c *thirdCache) DelFcmToken(ctx context.Context, account string, ... method IncrUserBadgeUnreadCountSum (line 53) | func (c *thirdCache) IncrUserBadgeUnreadCountSum(ctx context.Context, ... method SetUserBadgeUnreadCountSum (line 59) | func (c *thirdCache) SetUserBadgeUnreadCountSum(ctx context.Context, u... method GetUserBadgeUnreadCountSum (line 63) | func (c *thirdCache) GetUserBadgeUnreadCountSum(ctx context.Context, u... method SetGetuiToken (line 68) | func (c *thirdCache) SetGetuiToken(ctx context.Context, token string, ... method GetGetuiToken (line 72) | func (c *thirdCache) GetGetuiToken(ctx context.Context) (string, error) { method SetGetuiTaskID (line 80) | func (c *thirdCache) SetGetuiTaskID(ctx context.Context, taskID string... method GetGetuiTaskID (line 84) | func (c *thirdCache) GetGetuiTaskID(ctx context.Context) (string, erro... FILE: pkg/common/storage/cache/redis/token.go type tokenCache (line 19) | type tokenCache struct method SetTokenFlag (line 31) | func (c *tokenCache) SetTokenFlag(ctx context.Context, userID string, ... method SetTokenFlagEx (line 45) | func (c *tokenCache) SetTokenFlagEx(ctx context.Context, userID string... method GetTokensWithoutError (line 61) | func (c *tokenCache) GetTokensWithoutError(ctx context.Context, userID... method HasTemporaryToken (line 77) | func (c *tokenCache) HasTemporaryToken(ctx context.Context, userID str... method GetAllTokensWithoutError (line 85) | func (c *tokenCache) GetAllTokensWithoutError(ctx context.Context, use... method SetTokenMapByUidPid (line 122) | func (c *tokenCache) SetTokenMapByUidPid(ctx context.Context, userID s... method BatchSetTokenMapByUidPid (line 140) | func (c *tokenCache) BatchSetTokenMapByUidPid(ctx context.Context, tok... method DeleteTokenByUidPid (line 162) | func (c *tokenCache) DeleteTokenByUidPid(ctx context.Context, userID s... method getExpireTime (line 174) | func (c *tokenCache) getExpireTime(t int64) time.Duration { method DeleteTokenByTokenMap (line 179) | func (c *tokenCache) DeleteTokenByTokenMap(ctx context.Context, userID... method DeleteAndSetTemporary (line 212) | func (c *tokenCache) DeleteAndSetTemporary(ctx context.Context, userID... method removeLocalTokenCache (line 229) | func (c *tokenCache) removeLocalTokenCache(ctx context.Context, keys .... function NewTokenCacheModel (line 25) | func NewTokenCacheModel(rdb redis.UniversalClient, localCache *config.Lo... FILE: pkg/common/storage/cache/redis/user.go constant userExpireTime (line 17) | userExpireTime = time.Second * 60 * 60 * 12 constant userOlineStatusExpireTime (line 18) | userOlineStatusExpireTime = time.Second * 60 * 60 * 24 constant statusMod (line 19) | statusMod = 501 type UserCacheRedis (line 22) | type UserCacheRedis struct method getUserID (line 41) | func (u *UserCacheRedis) getUserID(user *model.User) string { method CloneUserCache (line 45) | func (u *UserCacheRedis) CloneUserCache() cache.UserCache { method getUserInfoKey (line 55) | func (u *UserCacheRedis) getUserInfoKey(userID string) string { method getUserGlobalRecvMsgOptKey (line 59) | func (u *UserCacheRedis) getUserGlobalRecvMsgOptKey(userID string) str... method GetUserInfo (line 63) | func (u *UserCacheRedis) GetUserInfo(ctx context.Context, userID strin... method GetUsersInfo (line 69) | func (u *UserCacheRedis) GetUsersInfo(ctx context.Context, userIDs []s... method DelUsersInfo (line 73) | func (u *UserCacheRedis) DelUsersInfo(userIDs ...string) cache.UserCac... method GetUserGlobalRecvMsgOpt (line 84) | func (u *UserCacheRedis) GetUserGlobalRecvMsgOpt(ctx context.Context, ... method DelUsersGlobalRecvMsgOpt (line 96) | func (u *UserCacheRedis) DelUsersGlobalRecvMsgOpt(userIDs ...string) c... function NewUserCacheRedis (line 30) | func NewUserCacheRedis(rdb redis.UniversalClient, localCache *config.Loc... FILE: pkg/common/storage/cache/s3.go type ObjectCache (line 23) | type ObjectCache interface type S3Cache (line 30) | type S3Cache interface type MinioCache (line 37) | type MinioCache interface type MinioImageInfo (line 45) | type MinioImageInfo struct FILE: pkg/common/storage/cache/seq_conversation.go type SeqConversationCache (line 8) | type SeqConversationCache interface FILE: pkg/common/storage/cache/seq_user.go type SeqUser (line 5) | type SeqUser interface FILE: pkg/common/storage/cache/third.go type ThirdCache (line 7) | type ThirdCache interface FILE: pkg/common/storage/cache/token.go type TokenModel (line 7) | type TokenModel interface FILE: pkg/common/storage/cache/user.go type UserCache (line 22) | type UserCache interface FILE: pkg/common/storage/common/types.go type BatchUpdateGroupMember (line 17) | type BatchUpdateGroupMember struct type GroupSimpleUserID (line 23) | type GroupSimpleUserID struct FILE: pkg/common/storage/controller/auth.go type AuthDatabase (line 17) | type AuthDatabase interface type multiLoginConfig (line 30) | type multiLoginConfig struct type authDatabase (line 35) | type authDatabase struct method GetTokensWithoutError (line 53) | func (a *authDatabase) GetTokensWithoutError(ctx context.Context, user... method GetTemporaryTokensWithoutError (line 57) | func (a *authDatabase) GetTemporaryTokensWithoutError(ctx context.Cont... method SetTokenMapByUidPid (line 61) | func (a *authDatabase) SetTokenMapByUidPid(ctx context.Context, userID... method BatchSetTokenMapByUidPid (line 65) | func (a *authDatabase) BatchSetTokenMapByUidPid(ctx context.Context, t... method CreateToken (line 88) | func (a *authDatabase) CreateToken(ctx context.Context, userID string,... method checkToken (line 136) | func (a *authDatabase) checkToken(ctx context.Context, tokens map[int]... function NewAuthDatabase (line 43) | func NewAuthDatabase(cache cache.TokenModel, accessSecret string, access... FILE: pkg/common/storage/controller/black.go type BlackDatabase (line 27) | type BlackDatabase interface type blackDatabase (line 39) | type blackDatabase struct method Create (line 49) | func (b *blackDatabase) Create(ctx context.Context, blacks []*model.Bl... method Delete (line 57) | func (b *blackDatabase) Delete(ctx context.Context, blacks []*model.Bl... method deleteBlackIDsCache (line 65) | func (b *blackDatabase) deleteBlackIDsCache(ctx context.Context, black... method FindOwnerBlacks (line 74) | func (b *blackDatabase) FindOwnerBlacks(ctx context.Context, ownerUser... method CheckIn (line 79) | func (b *blackDatabase) CheckIn(ctx context.Context, userID1, userID2 ... method FindBlackIDs (line 93) | func (b *blackDatabase) FindBlackIDs(ctx context.Context, ownerUserID ... method FindBlackInfos (line 98) | func (b *blackDatabase) FindBlackInfos(ctx context.Context, ownerUserI... function NewBlackDatabase (line 44) | func NewBlackDatabase(black database.Black, cache cache.BlackCache) Blac... FILE: pkg/common/storage/controller/client_config.go type ClientConfigDatabase (line 13) | type ClientConfigDatabase interface function NewClientConfigDatabase (line 20) | func NewClientConfigDatabase(db database.ClientConfig, cache cache.Clien... type clientConfigDatabase (line 28) | type clientConfigDatabase struct method SetUserConfig (line 34) | func (x *clientConfigDatabase) SetUserConfig(ctx context.Context, user... method GetUserConfig (line 43) | func (x *clientConfigDatabase) GetUserConfig(ctx context.Context, user... method DelUserConfig (line 47) | func (x *clientConfigDatabase) DelUserConfig(ctx context.Context, user... method GetUserConfigPage (line 56) | func (x *clientConfigDatabase) GetUserConfigPage(ctx context.Context, ... FILE: pkg/common/storage/controller/conversation.go type ConversationDatabase (line 33) | type ConversationDatabase interface function NewConversationDatabase (line 83) | func NewConversationDatabase(conversation database.Conversation, cache c... type conversationDatabase (line 91) | type conversationDatabase struct method SetUsersConversationFieldTx (line 97) | func (c *conversationDatabase) SetUsersConversationFieldTx(ctx context... method UpdateUserConversations (line 151) | func (c *conversationDatabase) UpdateUserConversations(ctx context.Con... method UpdateUsersConversationField (line 163) | func (c *conversationDatabase) UpdateUsersConversationField(ctx contex... method CreateConversation (line 180) | func (c *conversationDatabase) CreateConversation(ctx context.Context,... method SyncPeerUserPrivateConversationTx (line 210) | func (c *conversationDatabase) SyncPeerUserPrivateConversationTx(ctx c... method FindConversations (line 245) | func (c *conversationDatabase) FindConversations(ctx context.Context, ... method GetConversation (line 249) | func (c *conversationDatabase) GetConversation(ctx context.Context, ow... method GetUserAllConversation (line 253) | func (c *conversationDatabase) GetUserAllConversation(ctx context.Cont... method SetUserConversations (line 257) | func (c *conversationDatabase) SetUserConversations(ctx context.Contex... method CreateGroupChatConversation (line 315) | func (c *conversationDatabase) CreateGroupChatConversation(ctx context... method GetConversationIDs (line 356) | func (c *conversationDatabase) GetConversationIDs(ctx context.Context,... method GetUserConversationIDsHash (line 360) | func (c *conversationDatabase) GetUserConversationIDsHash(ctx context.... method GetAllConversationIDs (line 364) | func (c *conversationDatabase) GetAllConversationIDs(ctx context.Conte... method GetAllConversationIDsNumber (line 368) | func (c *conversationDatabase) GetAllConversationIDsNumber(ctx context... method PageConversationIDs (line 372) | func (c *conversationDatabase) PageConversationIDs(ctx context.Context... method GetConversationIDsNeedDestruct (line 376) | func (c *conversationDatabase) GetConversationIDsNeedDestruct(ctx cont... method GetConversationNotReceiveMessageUserIDs (line 380) | func (c *conversationDatabase) GetConversationNotReceiveMessageUserIDs... method FindConversationUserVersion (line 384) | func (c *conversationDatabase) FindConversationUserVersion(ctx context... method FindMaxConversationUserVersionCache (line 388) | func (c *conversationDatabase) FindMaxConversationUserVersionCache(ctx... method GetOwnerConversation (line 392) | func (c *conversationDatabase) GetOwnerConversation(ctx context.Contex... method GetNotNotifyConversationIDs (line 409) | func (c *conversationDatabase) GetNotNotifyConversationIDs(ctx context... method GetPinnedConversationIDs (line 417) | func (c *conversationDatabase) GetPinnedConversationIDs(ctx context.Co... method FindRandConversation (line 425) | func (c *conversationDatabase) FindRandConversation(ctx context.Contex... method DeleteUsersConversations (line 429) | func (c *conversationDatabase) DeleteUsersConversations(ctx context.Co... FILE: pkg/common/storage/controller/friend.go type FriendDatabase (line 36) | type FriendDatabase interface type friendDatabase (line 95) | type friendDatabase struct method CheckIn (line 108) | func (f *friendDatabase) CheckIn(ctx context.Context, userID1, userID2... method AddFriendRequest (line 128) | func (f *friendDatabase) AddFriendRequest(ctx context.Context, fromUse... method BecomeFriends (line 152) | func (f *friendDatabase) BecomeFriends(ctx context.Context, ownerUserI... method RefuseFriendRequest (line 211) | func (f *friendDatabase) RefuseFriendRequest(ctx context.Context, frie... method AgreeFriendRequest (line 240) | func (f *friendDatabase) AgreeFriendRequest(ctx context.Context, frien... method Delete (line 311) | func (f *friendDatabase) Delete(ctx context.Context, ownerUserID strin... method UpdateRemark (line 320) | func (f *friendDatabase) UpdateRemark(ctx context.Context, ownerUserID... method PageOwnerFriends (line 328) | func (f *friendDatabase) PageOwnerFriends(ctx context.Context, ownerUs... method PageInWhoseFriends (line 333) | func (f *friendDatabase) PageInWhoseFriends(ctx context.Context, frien... method PageFriendRequestFromMe (line 338) | func (f *friendDatabase) PageFriendRequestFromMe(ctx context.Context, ... method PageFriendRequestToMe (line 343) | func (f *friendDatabase) PageFriendRequestToMe(ctx context.Context, us... method FindFriendsWithError (line 348) | func (f *friendDatabase) FindFriendsWithError(ctx context.Context, own... method FindFriendUserIDs (line 356) | func (f *friendDatabase) FindFriendUserIDs(ctx context.Context, ownerU... method FindBothFriendRequests (line 360) | func (f *friendDatabase) FindBothFriendRequests(ctx context.Context, f... method UpdateFriends (line 363) | func (f *friendDatabase) UpdateFriends(ctx context.Context, ownerUserI... method FindFriendIncrVersion (line 379) | func (f *friendDatabase) FindFriendIncrVersion(ctx context.Context, ow... method FindMaxFriendVersionCache (line 383) | func (f *friendDatabase) FindMaxFriendVersionCache(ctx context.Context... method FindFriendUserID (line 387) | func (f *friendDatabase) FindFriendUserID(ctx context.Context, friendU... method OwnerIncrVersion (line 395) | func (f *friendDatabase) OwnerIncrVersion(ctx context.Context, ownerUs... method GetUnhandledCount (line 402) | func (f *friendDatabase) GetUnhandledCount(ctx context.Context, userID... function NewFriendDatabase (line 102) | func NewFriendDatabase(friend database.Friend, friendRequest database.Fr... FILE: pkg/common/storage/controller/group.go type GroupDatabase (line 36) | type GroupDatabase interface function NewGroupDatabase (line 131) | func NewGroupDatabase( type groupDatabase (line 149) | type groupDatabase struct method FindJoinGroupID (line 157) | func (g *groupDatabase) FindJoinGroupID(ctx context.Context, userID st... method FindGroupMembers (line 161) | func (g *groupDatabase) FindGroupMembers(ctx context.Context, groupID ... method FindGroupMemberUser (line 165) | func (g *groupDatabase) FindGroupMemberUser(ctx context.Context, group... method FindGroupMemberRoleLevels (line 169) | func (g *groupDatabase) FindGroupMemberRoleLevels(ctx context.Context,... method FindGroupMemberAll (line 173) | func (g *groupDatabase) FindGroupMemberAll(ctx context.Context, groupI... method FindGroupsOwner (line 177) | func (g *groupDatabase) FindGroupsOwner(ctx context.Context, groupIDs ... method GetGroupRoleLevelMemberIDs (line 181) | func (g *groupDatabase) GetGroupRoleLevelMemberIDs(ctx context.Context... method CreateGroup (line 185) | func (g *groupDatabase) CreateGroup(ctx context.Context, groups []*mod... method FindGroupMemberUserID (line 223) | func (g *groupDatabase) FindGroupMemberUserID(ctx context.Context, gro... method FindGroupMemberNum (line 227) | func (g *groupDatabase) FindGroupMemberNum(ctx context.Context, groupI... method TakeGroup (line 235) | func (g *groupDatabase) TakeGroup(ctx context.Context, groupID string)... method FindGroup (line 239) | func (g *groupDatabase) FindGroup(ctx context.Context, groupIDs []stri... method SearchGroup (line 243) | func (g *groupDatabase) SearchGroup(ctx context.Context, keyword strin... method UpdateGroup (line 247) | func (g *groupDatabase) UpdateGroup(ctx context.Context, groupID strin... method DismissGroup (line 259) | func (g *groupDatabase) DismissGroup(ctx context.Context, groupID stri... method TakeGroupMember (line 296) | func (g *groupDatabase) TakeGroupMember(ctx context.Context, groupID s... method TakeGroupOwner (line 300) | func (g *groupDatabase) TakeGroupOwner(ctx context.Context, groupID st... method FindUserManagedGroupID (line 304) | func (g *groupDatabase) FindUserManagedGroupID(ctx context.Context, us... method PageGroupRequest (line 308) | func (g *groupDatabase) PageGroupRequest(ctx context.Context, groupIDs... method PageGetJoinGroup (line 312) | func (g *groupDatabase) PageGetJoinGroup(ctx context.Context, userID s... method PageGetGroupMember (line 327) | func (g *groupDatabase) PageGetGroupMember(ctx context.Context, groupI... method SearchGroupMember (line 343) | func (g *groupDatabase) SearchGroupMember(ctx context.Context, keyword... method HandlerGroupRequest (line 347) | func (g *groupDatabase) HandlerGroupRequest(ctx context.Context, group... method DeleteGroupMember (line 373) | func (g *groupDatabase) DeleteGroupMember(ctx context.Context, groupID... method MapGroupMemberUserID (line 391) | func (g *groupDatabase) MapGroupMemberUserID(ctx context.Context, grou... method MapGroupMemberNum (line 395) | func (g *groupDatabase) MapGroupMemberNum(ctx context.Context, groupID... method TransferGroupOwner (line 407) | func (g *groupDatabase) TransferGroupOwner(ctx context.Context, groupI... method UpdateGroupMember (line 422) | func (g *groupDatabase) UpdateGroupMember(ctx context.Context, groupID... method UpdateGroupMembers (line 440) | func (g *groupDatabase) UpdateGroupMembers(ctx context.Context, data [... method CreateGroupRequest (line 456) | func (g *groupDatabase) CreateGroupRequest(ctx context.Context, reques... method TakeGroupRequest (line 467) | func (g *groupDatabase) TakeGroupRequest(ctx context.Context, groupID ... method PageGroupRequestUser (line 471) | func (g *groupDatabase) PageGroupRequestUser(ctx context.Context, user... method CountTotal (line 475) | func (g *groupDatabase) CountTotal(ctx context.Context, before *time.T... method CountRangeEverydayTotal (line 479) | func (g *groupDatabase) CountRangeEverydayTotal(ctx context.Context, s... method FindGroupRequests (line 483) | func (g *groupDatabase) FindGroupRequests(ctx context.Context, groupID... method DeleteGroupMemberHash (line 487) | func (g *groupDatabase) DeleteGroupMemberHash(ctx context.Context, gro... method FindMemberIncrVersion (line 498) | func (g *groupDatabase) FindMemberIncrVersion(ctx context.Context, gro... method BatchFindMemberIncrVersion (line 502) | func (g *groupDatabase) BatchFindMemberIncrVersion(ctx context.Context... method FindJoinIncrVersion (line 525) | func (g *groupDatabase) FindJoinIncrVersion(ctx context.Context, userI... method FindMaxGroupMemberVersionCache (line 529) | func (g *groupDatabase) FindMaxGroupMemberVersionCache(ctx context.Con... method BatchFindMaxGroupMemberVersionCache (line 533) | func (g *groupDatabase) BatchFindMaxGroupMemberVersionCache(ctx contex... method FindMaxJoinGroupVersionCache (line 547) | func (g *groupDatabase) FindMaxJoinGroupVersionCache(ctx context.Conte... method SearchJoinGroup (line 551) | func (g *groupDatabase) SearchJoinGroup(ctx context.Context, userID st... method MemberGroupIncrVersion (line 559) | func (g *groupDatabase) MemberGroupIncrVersion(ctx context.Context, gr... method GetGroupApplicationUnhandledCount (line 566) | func (g *groupDatabase) GetGroupApplicationUnhandledCount(ctx context.... FILE: pkg/common/storage/controller/msg.go constant updateKeyMsg (line 47) | updateKeyMsg = iota constant updateKeyRevoke (line 48) | updateKeyRevoke type CommonMsgDatabase (line 52) | type CommonMsgDatabase interface function NewCommonMsgDatabase (line 106) | func NewCommonMsgDatabase(msgDocModel database.Msg, msg cache.MsgCache, ... type commonMsgDatabase (line 116) | type commonMsgDatabase struct method MsgToMQ (line 125) | func (db *commonMsgDatabase) MsgToMQ(ctx context.Context, key string, ... method batchInsertBlock (line 133) | func (db *commonMsgDatabase) batchInsertBlock(ctx context.Context, con... method RevokeMsg (line 235) | func (db *commonMsgDatabase) RevokeMsg(ctx context.Context, conversati... method MarkSingleChatMsgsAsRead (line 242) | func (db *commonMsgDatabase) MarkSingleChatMsgsAsRead(ctx context.Cont... method getMsgBySeqs (line 257) | func (db *commonMsgDatabase) getMsgBySeqs(ctx context.Context, userID,... method handlerDBMsg (line 261) | func (db *commonMsgDatabase) handlerDBMsg(ctx context.Context, cache m... method findMsgInfoBySeq (line 354) | func (db *commonMsgDatabase) findMsgInfoBySeq(ctx context.Context, use... method GetMsgBySeqsRange (line 385) | func (db *commonMsgDatabase) GetMsgBySeqsRange(ctx context.Context, us... method GetMsgBySeqs (line 441) | func (db *commonMsgDatabase) GetMsgBySeqs(ctx context.Context, userID ... method GetMessagesBySeqWithBounds (line 480) | func (db *commonMsgDatabase) GetMessagesBySeqWithBounds(ctx context.Co... method DeleteMsgsPhysicalBySeqs (line 536) | func (db *commonMsgDatabase) DeleteMsgsPhysicalBySeqs(ctx context.Cont... method DeleteUserMsgsBySeqs (line 549) | func (db *commonMsgDatabase) DeleteUserMsgsBySeqs(ctx context.Context,... method GetMaxSeqs (line 560) | func (db *commonMsgDatabase) GetMaxSeqs(ctx context.Context, conversat... method GetMaxSeq (line 564) | func (db *commonMsgDatabase) GetMaxSeq(ctx context.Context, conversati... method SetMinSeqs (line 568) | func (db *commonMsgDatabase) SetMinSeqs(ctx context.Context, seqs map[... method SetUserConversationsMinSeqs (line 572) | func (db *commonMsgDatabase) SetUserConversationsMinSeqs(ctx context.C... method SetUserConversationsMaxSeq (line 576) | func (db *commonMsgDatabase) SetUserConversationsMaxSeq(ctx context.Co... method SetUserConversationsMinSeq (line 580) | func (db *commonMsgDatabase) SetUserConversationsMinSeq(ctx context.Co... method UserSetHasReadSeqs (line 584) | func (db *commonMsgDatabase) UserSetHasReadSeqs(ctx context.Context, u... method SetHasReadSeq (line 588) | func (db *commonMsgDatabase) SetHasReadSeq(ctx context.Context, userID... method GetHasReadSeqs (line 592) | func (db *commonMsgDatabase) GetHasReadSeqs(ctx context.Context, userI... method GetHasReadSeq (line 596) | func (db *commonMsgDatabase) GetHasReadSeq(ctx context.Context, userID... method SetSendMsgStatus (line 600) | func (db *commonMsgDatabase) SetSendMsgStatus(ctx context.Context, id ... method GetSendMsgStatus (line 604) | func (db *commonMsgDatabase) GetSendMsgStatus(ctx context.Context, id ... method GetConversationMinMaxSeqInMongoAndCache (line 608) | func (db *commonMsgDatabase) GetConversationMinMaxSeqInMongoAndCache(c... method GetMongoMaxAndMinSeq (line 624) | func (db *commonMsgDatabase) GetMongoMaxAndMinSeq(ctx context.Context,... method GetMinMaxSeqMongo (line 628) | func (db *commonMsgDatabase) GetMinMaxSeqMongo(ctx context.Context, co... method RangeUserSendCount (line 642) | func (db *commonMsgDatabase) RangeUserSendCount(ctx context.Context, s... method RangeGroupSendCount (line 646) | func (db *commonMsgDatabase) RangeGroupSendCount(ctx context.Context, ... method SearchMessage (line 650) | func (db *commonMsgDatabase) SearchMessage(ctx context.Context, req *p... method FindOneByDocIDs (line 671) | func (db *commonMsgDatabase) FindOneByDocIDs(ctx context.Context, conv... method GetRandBeforeMsg (line 692) | func (db *commonMsgDatabase) GetRandBeforeMsg(ctx context.Context, ts ... method SetMinSeq (line 696) | func (db *commonMsgDatabase) SetMinSeq(ctx context.Context, conversati... method GetCacheMaxSeqWithTime (line 710) | func (db *commonMsgDatabase) GetCacheMaxSeqWithTime(ctx context.Contex... method GetMaxSeqWithTime (line 714) | func (db *commonMsgDatabase) GetMaxSeqWithTime(ctx context.Context, co... method GetMaxSeqsWithTime (line 718) | func (db *commonMsgDatabase) GetMaxSeqsWithTime(ctx context.Context, c... method DeleteDoc (line 723) | func (db *commonMsgDatabase) DeleteDoc(ctx context.Context, docID stri... method GetLastMessageSeqByTime (line 744) | func (db *commonMsgDatabase) GetLastMessageSeqByTime(ctx context.Conte... method handlerDeleteAndRevoked (line 748) | func (db *commonMsgDatabase) handlerDeleteAndRevoked(ctx context.Conte... method handlerQuote (line 793) | func (db *commonMsgDatabase) handlerQuote(ctx context.Context, userID,... method GetMessageBySeqs (line 800) | func (db *commonMsgDatabase) GetMessageBySeqs(ctx context.Context, con... method GetLastMessage (line 825) | func (db *commonMsgDatabase) GetLastMessage(ctx context.Context, conve... FILE: pkg/common/storage/controller/msg_transfer.go type MsgTransferDatabase (line 22) | type MsgTransferDatabase interface function NewMsgTransferDatabase (line 40) | func NewMsgTransferDatabase(msgDocModel database.Msg, msg cache.MsgCache... type msgTransferDatabase (line 63) | type msgTransferDatabase struct method BatchInsertChat2DB (line 73) | func (db *msgTransferDatabase) BatchInsertChat2DB(ctx context.Context,... method BatchInsertBlock (line 96) | func (db *msgTransferDatabase) BatchInsertBlock(ctx context.Context, c... method DeleteMessagesFromCache (line 197) | func (db *msgTransferDatabase) DeleteMessagesFromCache(ctx context.Con... method BatchInsertChat2Cache (line 201) | func (db *msgTransferDatabase) BatchInsertChat2Cache(ctx context.Conte... method SetHasReadSeqs (line 235) | func (db *msgTransferDatabase) SetHasReadSeqs(ctx context.Context, con... method SetHasReadSeqToDB (line 244) | func (db *msgTransferDatabase) SetHasReadSeqToDB(ctx context.Context, ... method MsgToPushMQ (line 253) | func (db *msgTransferDatabase) MsgToPushMQ(ctx context.Context, key, c... method MsgToMongoMQ (line 265) | func (db *msgTransferDatabase) MsgToMongoMQ(ctx context.Context, key, ... FILE: pkg/common/storage/controller/push.go type PushDatabase (line 28) | type PushDatabase interface type pushDataBase (line 33) | type pushDataBase struct method DelFcmToken (line 45) | func (p *pushDataBase) DelFcmToken(ctx context.Context, userID string,... method MsgToOfflinePushMQ (line 49) | func (p *pushDataBase) MsgToOfflinePushMQ(ctx context.Context, key str... function NewPushDatabase (line 38) | func NewPushDatabase(cache cache.ThirdCache, offlinePushProducer mq.Prod... FILE: pkg/common/storage/controller/s3.go type S3Database (line 32) | type S3Database interface function NewS3Database (line 48) | func NewS3Database(rdb redis.UniversalClient, s3 s3.Interface, obj datab... type s3Database (line 57) | type s3Database struct method PartSize (line 64) | func (s *s3Database) PartSize(ctx context.Context, size int64) (int64,... method PartLimit (line 68) | func (s *s3Database) PartLimit() (*s3.PartLimit, error) { method AuthSign (line 72) | func (s *s3Database) AuthSign(ctx context.Context, uploadID string, pa... method InitiateMultipartUpload (line 76) | func (s *s3Database) InitiateMultipartUpload(ctx context.Context, hash... method CompleteMultipartUpload (line 80) | func (s *s3Database) CompleteMultipartUpload(ctx context.Context, uplo... method SetObject (line 84) | func (s *s3Database) SetObject(ctx context.Context, info *model.Object... method AccessURL (line 92) | func (s *s3Database) AccessURL(ctx context.Context, name string, expir... method StatObject (line 114) | func (s *s3Database) StatObject(ctx context.Context, name string) (*s3... method FormData (line 118) | func (s *s3Database) FormData(ctx context.Context, name string, size i... method FindExpirationObject (line 122) | func (s *s3Database) FindExpirationObject(ctx context.Context, engine ... method GetKeyCount (line 126) | func (s *s3Database) GetKeyCount(ctx context.Context, engine string, k... method DeleteSpecifiedData (line 130) | func (s *s3Database) DeleteSpecifiedData(ctx context.Context, engine s... method DelS3Key (line 134) | func (s *s3Database) DelS3Key(ctx context.Context, engine string, keys... FILE: pkg/common/storage/controller/third.go type ThirdDatabase (line 28) | type ThirdDatabase interface type thirdDatabase (line 38) | type thirdDatabase struct method DeleteLogs (line 44) | func (t *thirdDatabase) DeleteLogs(ctx context.Context, logID []string... method GetLogs (line 49) | func (t *thirdDatabase) GetLogs(ctx context.Context, LogIDs []string, ... method SearchLogs (line 54) | func (t *thirdDatabase) SearchLogs(ctx context.Context, keyword string... method UploadLogs (line 59) | func (t *thirdDatabase) UploadLogs(ctx context.Context, logs []*model.... method FcmUpdateToken (line 67) | func (t *thirdDatabase) FcmUpdateToken(ctx context.Context, account st... method SetAppBadge (line 71) | func (t *thirdDatabase) SetAppBadge(ctx context.Context, userID string... function NewThirdDatabase (line 63) | func NewThirdDatabase(cache cache.ThirdCache, logdb database.Log) ThirdD... FILE: pkg/common/storage/controller/user.go type UserDatabase (line 33) | type UserDatabase interface type userDatabase (line 77) | type userDatabase struct method InitOnce (line 87) | func (u *userDatabase) InitOnce(ctx context.Context, users []*model.Us... method FindWithError (line 133) | func (u *userDatabase) FindWithError(ctx context.Context, userIDs []st... method Find (line 150) | func (u *userDatabase) Find(ctx context.Context, userIDs []string) (us... method FindByNickname (line 154) | func (u *userDatabase) FindByNickname(ctx context.Context, nickname st... method FindNotification (line 158) | func (u *userDatabase) FindNotification(ctx context.Context, level int... method FindSystemAccount (line 162) | func (u *userDatabase) FindSystemAccount(ctx context.Context) (users [... method Create (line 167) | func (u *userDatabase) Create(ctx context.Context, users []*model.User... method UpdateByMap (line 179) | func (u *userDatabase) UpdateByMap(ctx context.Context, userID string,... method Page (line 189) | func (u *userDatabase) Page(ctx context.Context, pagination pagination... method PageFindUser (line 193) | func (u *userDatabase) PageFindUser(ctx context.Context, level1 int64,... method PageFindUserWithKeyword (line 197) | func (u *userDatabase) PageFindUserWithKeyword(ctx context.Context, le... method IsExist (line 202) | func (u *userDatabase) IsExist(ctx context.Context, userIDs []string) ... method GetAllUserID (line 214) | func (u *userDatabase) GetAllUserID(ctx context.Context, pagination pa... method GetUserByID (line 218) | func (u *userDatabase) GetUserByID(ctx context.Context, userID string)... method CountTotal (line 223) | func (u *userDatabase) CountTotal(ctx context.Context, before *time.Ti... method CountRangeEverydayTotal (line 228) | func (u *userDatabase) CountRangeEverydayTotal(ctx context.Context, st... method SortQuery (line 232) | func (u *userDatabase) SortQuery(ctx context.Context, userIDName map[s... method AddUserCommand (line 236) | func (u *userDatabase) AddUserCommand(ctx context.Context, userID stri... method DeleteUserCommand (line 240) | func (u *userDatabase) DeleteUserCommand(ctx context.Context, userID s... method UpdateUserCommand (line 244) | func (u *userDatabase) UpdateUserCommand(ctx context.Context, userID s... method GetUserCommands (line 248) | func (u *userDatabase) GetUserCommands(ctx context.Context, userID str... method GetAllUserCommands (line 253) | func (u *userDatabase) GetAllUserCommands(ctx context.Context, userID ... function NewUserDatabase (line 83) | func NewUserDatabase(userDB database.User, cache cache.UserCache, tx tx.... FILE: pkg/common/storage/database/black.go type Black (line 24) | type Black interface type mgoImpl (line 39) | type mgoImpl struct method Create (line 42) | func (m *mgoImpl) Create(ctx context.Context, blacks []*model.Black) (... method Delete (line 47) | func (m *mgoImpl) Delete(ctx context.Context, blacks []*model.Black) (... method Find (line 52) | func (m *mgoImpl) Find(ctx context.Context, blacks []*model.Black) (bl... method Take (line 57) | func (m *mgoImpl) Take(ctx context.Context, ownerUserID, blockUserID s... method FindOwnerBlacks (line 62) | func (m *mgoImpl) FindOwnerBlacks(ctx context.Context, ownerUserID str... method FindOwnerBlackInfos (line 67) | func (m *mgoImpl) FindOwnerBlackInfos(ctx context.Context, ownerUserID... method FindBlackUserIDs (line 72) | func (m *mgoImpl) FindBlackUserIDs(ctx context.Context, ownerUserID st... type redisImpl (line 77) | type redisImpl struct method Create (line 80) | func (r *redisImpl) Create(ctx context.Context, blacks []*model.Black)... method Delete (line 86) | func (r *redisImpl) Delete(ctx context.Context, blacks []*model.Black)... method Find (line 91) | func (r *redisImpl) Find(ctx context.Context, blacks []*model.Black) (... method Take (line 96) | func (r *redisImpl) Take(ctx context.Context, ownerUserID, blockUserID... method FindOwnerBlacks (line 101) | func (r *redisImpl) FindOwnerBlacks(ctx context.Context, ownerUserID s... method FindOwnerBlackInfos (line 106) | func (r *redisImpl) FindOwnerBlackInfos(ctx context.Context, ownerUser... method FindBlackUserIDs (line 111) | func (r *redisImpl) FindBlackUserIDs(ctx context.Context, ownerUserID ... FILE: pkg/common/storage/database/cache.go type Cache (line 8) | type Cache interface FILE: pkg/common/storage/database/client_config.go type ClientConfig (line 10) | type ClientConfig interface FILE: pkg/common/storage/database/conversation.go type Conversation (line 24) | type Conversation interface FILE: pkg/common/storage/database/friend.go type Friend (line 25) | type Friend interface FILE: pkg/common/storage/database/friend_request.go type FriendRequest (line 24) | type FriendRequest interface FILE: pkg/common/storage/database/group.go type Group (line 24) | type Group interface FILE: pkg/common/storage/database/group_member.go type GroupMember (line 24) | type GroupMember interface FILE: pkg/common/storage/database/group_request.go type GroupRequest (line 24) | type GroupRequest interface FILE: pkg/common/storage/database/log.go type Log (line 24) | type Log interface FILE: pkg/common/storage/database/mgo/black.go function NewBlackMongo (line 29) | func NewBlackMongo(db *mongo.Database) (database.Black, error) { type BlackMgo (line 44) | type BlackMgo struct method blackFilter (line 48) | func (b *BlackMgo) blackFilter(ownerUserID, blockUserID string) bson.M { method blacksFilter (line 55) | func (b *BlackMgo) blacksFilter(blacks []*model.Black) bson.M { method Create (line 66) | func (b *BlackMgo) Create(ctx context.Context, blacks []*model.Black) ... method Delete (line 70) | func (b *BlackMgo) Delete(ctx context.Context, blacks []*model.Black) ... method UpdateByMap (line 77) | func (b *BlackMgo) UpdateByMap(ctx context.Context, ownerUserID, block... method Find (line 84) | func (b *BlackMgo) Find(ctx context.Context, blacks []*model.Black) (b... method Take (line 88) | func (b *BlackMgo) Take(ctx context.Context, ownerUserID, blockUserID ... method FindOwnerBlacks (line 92) | func (b *BlackMgo) FindOwnerBlacks(ctx context.Context, ownerUserID st... method FindOwnerBlackInfos (line 96) | func (b *BlackMgo) FindOwnerBlackInfos(ctx context.Context, ownerUserI... method FindBlackUserIDs (line 103) | func (b *BlackMgo) FindBlackUserIDs(ctx context.Context, ownerUserID s... FILE: pkg/common/storage/database/mgo/cache.go function NewCacheMgo (line 18) | func NewCacheMgo(db *mongo.Database) (*CacheMgo, error) { type CacheMgo (line 40) | type CacheMgo struct method findToMap (line 44) | func (x *CacheMgo) findToMap(res []model.Cache, now time.Time) map[str... method Get (line 56) | func (x *CacheMgo) Get(ctx context.Context, key []string) (map[string]... method Prefix (line 74) | func (x *CacheMgo) Prefix(ctx context.Context, prefix string) (map[str... method Set (line 89) | func (x *CacheMgo) Set(ctx context.Context, key string, value string, ... method Incr (line 102) | func (x *CacheMgo) Incr(ctx context.Context, key string, value int) (i... method Del (line 125) | func (x *CacheMgo) Del(ctx context.Context, key []string) error { method lockKey (line 133) | func (x *CacheMgo) lockKey(key string) string { method Lock (line 137) | func (x *CacheMgo) Lock(ctx context.Context, key string, duration time... method Unlock (line 181) | func (x *CacheMgo) Unlock(ctx context.Context, key string, value strin... FILE: pkg/common/storage/database/mgo/cache_test.go function TestName1111 (line 17) | func TestName1111(t *testing.T) { function TestName33333 (line 58) | func TestName33333(t *testing.T) { function TestName1111aa (line 84) | func TestName1111aa(t *testing.T) { function TestName111111a (line 130) | func TestName111111a(t *testing.T) { FILE: pkg/common/storage/database/mgo/client_config.go function NewClientConfig (line 31) | func NewClientConfig(db *mongo.Database) (database.ClientConfig, error) { type ClientConfig (line 50) | type ClientConfig struct method Set (line 54) | func (x *ClientConfig) Set(ctx context.Context, userID string, config ... method Get (line 71) | func (x *ClientConfig) Get(ctx context.Context, userID string) (map[st... method Del (line 83) | func (x *ClientConfig) Del(ctx context.Context, userID string, keys []... method GetPage (line 90) | func (x *ClientConfig) GetPage(ctx context.Context, userID string, key... FILE: pkg/common/storage/database/mgo/conversation.go function NewConversationMongo (line 34) | func NewConversationMongo(db *mongo.Database) (*ConversationMgo, error) { type ConversationMgo (line 67) | type ConversationMgo struct method Create (line 72) | func (c *ConversationMgo) Create(ctx context.Context, conversations []... method UpdateByMap (line 89) | func (c *ConversationMgo) UpdateByMap(ctx context.Context, userIDs []s... method UpdateUserConversations (line 119) | func (c *ConversationMgo) UpdateUserConversations(ctx context.Context,... method Update (line 151) | func (c *ConversationMgo) Update(ctx context.Context, conversation *mo... method Find (line 159) | func (c *ConversationMgo) Find(ctx context.Context, ownerUserID string... method FindUserID (line 163) | func (c *ConversationMgo) FindUserID(ctx context.Context, userIDs []st... method FindUserIDAllConversationID (line 171) | func (c *ConversationMgo) FindUserIDAllConversationID(ctx context.Cont... method FindUserIDAllNotNotifyConversationID (line 175) | func (c *ConversationMgo) FindUserIDAllNotNotifyConversationID(ctx con... method FindUserIDAllPinnedConversationID (line 182) | func (c *ConversationMgo) FindUserIDAllPinnedConversationID(ctx contex... method Take (line 189) | func (c *ConversationMgo) Take(ctx context.Context, userID, conversati... method FindConversationID (line 193) | func (c *ConversationMgo) FindConversationID(ctx context.Context, user... method FindUserIDAllConversations (line 197) | func (c *ConversationMgo) FindUserIDAllConversations(ctx context.Conte... method FindRecvMsgUserIDs (line 201) | func (c *ConversationMgo) FindRecvMsgUserIDs(ctx context.Context, conv... method GetUserRecvMsgOpt (line 211) | func (c *ConversationMgo) GetUserRecvMsgOpt(ctx context.Context, owner... method GetAllConversationIDs (line 215) | func (c *ConversationMgo) GetAllConversationIDs(ctx context.Context) (... method GetAllConversationIDsNumber (line 222) | func (c *ConversationMgo) GetAllConversationIDsNumber(ctx context.Cont... method PageConversationIDs (line 237) | func (c *ConversationMgo) PageConversationIDs(ctx context.Context, pag... method GetConversationIDsNeedDestruct (line 241) | func (c *ConversationMgo) GetConversationIDsNeedDestruct(ctx context.C... method GetConversationNotReceiveMessageUserIDs (line 262) | func (c *ConversationMgo) GetConversationNotReceiveMessageUserIDs(ctx ... method FindConversationUserVersion (line 271) | func (c *ConversationMgo) FindConversationUserVersion(ctx context.Cont... method FindRandConversation (line 275) | func (c *ConversationMgo) FindRandConversation(ctx context.Context, ts... method DeleteUsersConversations (line 314) | func (c *ConversationMgo) DeleteUsersConversations(ctx context.Context... FILE: pkg/common/storage/database/mgo/friend.go type FriendMgo (line 32) | type FriendMgo struct method friendSort (line 57) | func (f *FriendMgo) friendSort() any { method Create (line 62) | func (f *FriendMgo) Create(ctx context.Context, friends []*model.Frien... method Delete (line 88) | func (f *FriendMgo) Delete(ctx context.Context, ownerUserID string, fr... method UpdateByMap (line 101) | func (f *FriendMgo) UpdateByMap(ctx context.Context, ownerUserID strin... method UpdateRemark (line 123) | func (f *FriendMgo) UpdateRemark(ctx context.Context, ownerUserID, fri... method fillTime (line 127) | func (f *FriendMgo) fillTime(friends ...*model.Friend) { method findOne (line 135) | func (f *FriendMgo) findOne(ctx context.Context, filter any) (*model.F... method find (line 144) | func (f *FriendMgo) find(ctx context.Context, filter any) ([]*model.Fr... method findPage (line 153) | func (f *FriendMgo) findPage(ctx context.Context, filter any, paginati... method Take (line 158) | func (f *FriendMgo) Take(ctx context.Context, ownerUserID, friendUserI... method FindUserState (line 167) | func (f *FriendMgo) FindUserState(ctx context.Context, userID1, userID... method FindFriends (line 178) | func (f *FriendMgo) FindFriends(ctx context.Context, ownerUserID strin... method FindReversalFriends (line 187) | func (f *FriendMgo) FindReversalFriends(ctx context.Context, friendUse... method FindOwnerFriends (line 196) | func (f *FriendMgo) FindOwnerFriends(ctx context.Context, ownerUserID ... method FindOwnerFriendUserIds (line 202) | func (f *FriendMgo) FindOwnerFriendUserIds(ctx context.Context, ownerU... method FindInWhoseFriends (line 209) | func (f *FriendMgo) FindInWhoseFriends(ctx context.Context, friendUser... method FindFriendUserIDs (line 216) | func (f *FriendMgo) FindFriendUserIDs(ctx context.Context, ownerUserID... method UpdateFriends (line 221) | func (f *FriendMgo) UpdateFriends(ctx context.Context, ownerUserID str... method FindIncrVersion (line 249) | func (f *FriendMgo) FindIncrVersion(ctx context.Context, ownerUserID s... method FindFriendUserID (line 253) | func (f *FriendMgo) FindFriendUserID(ctx context.Context, friendUserID... method IncrVersion (line 260) | func (f *FriendMgo) IncrVersion(ctx context.Context, ownerUserID strin... method IsUpdateIsPinned (line 264) | func (f *FriendMgo) IsUpdateIsPinned(data map[string]any) bool { function NewFriendMongo (line 38) | func NewFriendMongo(db *mongo.Database) (database.Friend, error) { FILE: pkg/common/storage/database/mgo/friend_request.go function NewFriendRequestMongo (line 33) | func NewFriendRequestMongo(db *mongo.Database) (database.FriendRequest, ... type FriendRequestMgo (line 55) | type FriendRequestMgo struct method sort (line 59) | func (f *FriendRequestMgo) sort() any { method FindToUserID (line 63) | func (f *FriendRequestMgo) FindToUserID(ctx context.Context, toUserID ... method FindFromUserID (line 71) | func (f *FriendRequestMgo) FindFromUserID(ctx context.Context, fromUse... method FindBothFriendRequests (line 79) | func (f *FriendRequestMgo) FindBothFriendRequests(ctx context.Context,... method Create (line 87) | func (f *FriendRequestMgo) Create(ctx context.Context, friendRequests ... method Delete (line 91) | func (f *FriendRequestMgo) Delete(ctx context.Context, fromUserID, toU... method UpdateByMap (line 95) | func (f *FriendRequestMgo) UpdateByMap(ctx context.Context, formUserID... method Update (line 102) | func (f *FriendRequestMgo) Update(ctx context.Context, friendRequest *... method Find (line 129) | func (f *FriendRequestMgo) Find(ctx context.Context, fromUserID, toUse... method Take (line 133) | func (f *FriendRequestMgo) Take(ctx context.Context, fromUserID, toUse... method GetUnhandledCount (line 137) | func (f *FriendRequestMgo) GetUnhandledCount(ctx context.Context, user... FILE: pkg/common/storage/database/mgo/group.go function NewGroupMongo (line 32) | func NewGroupMongo(db *mongo.Database) (database.Group, error) { type GroupMgo (line 46) | type GroupMgo struct method sortGroup (line 50) | func (g *GroupMgo) sortGroup() any { method Create (line 54) | func (g *GroupMgo) Create(ctx context.Context, groups []*model.Group) ... method UpdateStatus (line 58) | func (g *GroupMgo) UpdateStatus(ctx context.Context, groupID string, s... method UpdateMap (line 62) | func (g *GroupMgo) UpdateMap(ctx context.Context, groupID string, args... method Find (line 69) | func (g *GroupMgo) Find(ctx context.Context, groupIDs []string) (group... method Take (line 73) | func (g *GroupMgo) Take(ctx context.Context, groupID string) (group *m... method Search (line 77) | func (g *GroupMgo) Search(ctx context.Context, keyword string, paginat... method CountTotal (line 88) | func (g *GroupMgo) CountTotal(ctx context.Context, before *time.Time) ... method CountRangeEverydayTotal (line 95) | func (g *GroupMgo) CountRangeEverydayTotal(ctx context.Context, start ... method FindJoinSortGroupID (line 134) | func (g *GroupMgo) FindJoinSortGroupID(ctx context.Context, groupIDs [... method SearchJoin (line 146) | func (g *GroupMgo) SearchJoin(ctx context.Context, groupIDs []string, ... FILE: pkg/common/storage/database/mgo/group_member.go function NewGroupMember (line 33) | func NewGroupMember(db *mongo.Database) (database.GroupMember, error) { type GroupMemberMgo (line 56) | type GroupMemberMgo struct method memberSort (line 62) | func (g *GroupMemberMgo) memberSort() any { method Create (line 66) | func (g *GroupMemberMgo) Create(ctx context.Context, groupMembers []*m... method Delete (line 94) | func (g *GroupMemberMgo) Delete(ctx context.Context, groupID string, u... method UpdateRoleLevel (line 117) | func (g *GroupMemberMgo) UpdateRoleLevel(ctx context.Context, groupID ... method UpdateUserRoleLevels (line 125) | func (g *GroupMemberMgo) UpdateUserRoleLevels(ctx context.Context, gro... method Update (line 141) | func (g *GroupMemberMgo) Update(ctx context.Context, groupID string, u... method FindMemberUserID (line 158) | func (g *GroupMemberMgo) FindMemberUserID(ctx context.Context, groupID... method Find (line 162) | func (g *GroupMemberMgo) Find(ctx context.Context, groupID string, use... method FindInGroup (line 170) | func (g *GroupMemberMgo) FindInGroup(ctx context.Context, userID strin... method Take (line 178) | func (g *GroupMemberMgo) Take(ctx context.Context, groupID string, use... method TakeOwner (line 182) | func (g *GroupMemberMgo) TakeOwner(ctx context.Context, groupID string... method FindRoleLevelUserIDs (line 186) | func (g *GroupMemberMgo) FindRoleLevelUserIDs(ctx context.Context, gro... method SearchMember (line 190) | func (g *GroupMemberMgo) SearchMember(ctx context.Context, keyword str... method FindUserJoinedGroupID (line 195) | func (g *GroupMemberMgo) FindUserJoinedGroupID(ctx context.Context, us... method TakeGroupMemberNum (line 199) | func (g *GroupMemberMgo) TakeGroupMemberNum(ctx context.Context, group... method FindUserManagedGroupID (line 203) | func (g *GroupMemberMgo) FindUserManagedGroupID(ctx context.Context, u... method IsUpdateRoleLevel (line 213) | func (g *GroupMemberMgo) IsUpdateRoleLevel(data map[string]any) bool { method JoinGroupIncrVersion (line 221) | func (g *GroupMemberMgo) JoinGroupIncrVersion(ctx context.Context, use... method MemberGroupIncrVersion (line 225) | func (g *GroupMemberMgo) MemberGroupIncrVersion(ctx context.Context, g... method FindMemberIncrVersion (line 229) | func (g *GroupMemberMgo) FindMemberIncrVersion(ctx context.Context, gr... method BatchFindMemberIncrVersion (line 234) | func (g *GroupMemberMgo) BatchFindMemberIncrVersion(ctx context.Contex... method FindJoinIncrVersion (line 239) | func (g *GroupMemberMgo) FindJoinIncrVersion(ctx context.Context, user... FILE: pkg/common/storage/database/mgo/group_request.go function NewGroupRequestMgo (line 34) | func NewGroupRequestMgo(db *mongo.Database) (database.GroupRequest, erro... type GroupRequestMgo (line 56) | type GroupRequestMgo struct method Create (line 60) | func (g *GroupRequestMgo) Create(ctx context.Context, groupRequests []... method Delete (line 64) | func (g *GroupRequestMgo) Delete(ctx context.Context, groupID string, ... method UpdateHandler (line 68) | func (g *GroupRequestMgo) UpdateHandler(ctx context.Context, groupID s... method Take (line 72) | func (g *GroupRequestMgo) Take(ctx context.Context, groupID string, us... method FindGroupRequests (line 76) | func (g *GroupRequestMgo) FindGroupRequests(ctx context.Context, group... method sort (line 80) | func (g *GroupRequestMgo) sort() any { method Page (line 84) | func (g *GroupRequestMgo) Page(ctx context.Context, userID string, gro... method PageGroup (line 95) | func (g *GroupRequestMgo) PageGroup(ctx context.Context, groupIDs []st... method GetUnhandledCount (line 106) | func (g *GroupRequestMgo) GetUnhandledCount(ctx context.Context, group... FILE: pkg/common/storage/database/mgo/helpers.go function IsNotFound (line 22) | func IsNotFound(err error) bool { FILE: pkg/common/storage/database/mgo/log.go function NewLogMongo (line 30) | func NewLogMongo(db *mongo.Database) (database.Log, error) { type LogMgo (line 56) | type LogMgo struct method Create (line 60) | func (l *LogMgo) Create(ctx context.Context, log []*model.Log) error { method Search (line 64) | func (l *LogMgo) Search(ctx context.Context, keyword string, start tim... method Delete (line 72) | func (l *LogMgo) Delete(ctx context.Context, logID []string, userID st... method Get (line 79) | func (l *LogMgo) Get(ctx context.Context, logIDs []string, userID stri... FILE: pkg/common/storage/database/mgo/msg.go function NewMsgMongo (line 24) | func NewMsgMongo(db *mongo.Database) (database.Msg, error) { type MsgMgo (line 38) | type MsgMgo struct method Create (line 43) | func (m *MsgMgo) Create(ctx context.Context, msg *model.MsgDocModel) e... method UpdateMsg (line 47) | func (m *MsgMgo) UpdateMsg(ctx context.Context, docID string, index in... method PushUnique (line 59) | func (m *MsgMgo) PushUnique(ctx context.Context, docID string, index i... method FindOneByDocID (line 75) | func (m *MsgMgo) FindOneByDocID(ctx context.Context, docID string) (*m... method GetMsgBySeqIndexIn1Doc (line 79) | func (m *MsgMgo) GetMsgBySeqIndexIn1Doc(ctx context.Context, userID, d... method getMsgBySeqIndexIn1Doc (line 102) | func (m *MsgMgo) getMsgBySeqIndexIn1Doc(ctx context.Context, userID, d... method GetNewestMsg (line 175) | func (m *MsgMgo) GetNewestMsg(ctx context.Context, conversationID stri... method GetOldestMsg (line 189) | func (m *MsgMgo) GetOldestMsg(ctx context.Context, conversationID stri... method GetMsgDocModelByIndex (line 203) | func (m *MsgMgo) GetMsgDocModelByIndex(ctx context.Context, conversati... method DeleteMsgsInOneDocByIndex (line 219) | func (m *MsgMgo) DeleteMsgsInOneDocByIndex(ctx context.Context, docID ... method MarkSingleChatMsgsAsRead (line 232) | func (m *MsgMgo) MarkSingleChatMsgsAsRead(ctx context.Context, userID ... method searchMessageIndex (line 262) | func (m *MsgMgo) searchMessageIndex(ctx context.Context, filter any, n... method searchMessage (line 324) | func (m *MsgMgo) searchMessage(ctx context.Context, req *msg.SearchMes... method SearchMessage (line 406) | func (m *MsgMgo) SearchMessage(ctx context.Context, req *msg.SearchMes... method RangeUserSendCount (line 434) | func (m *MsgMgo) RangeUserSendCount(ctx context.Context, start time.Ti... method RangeGroupSendCount (line 682) | func (m *MsgMgo) RangeGroupSendCount(ctx context.Context, start time.T... method GetRandBeforeMsg (line 919) | func (m *MsgMgo) GetRandBeforeMsg(ctx context.Context, ts int64, limit... method DeleteDoc (line 950) | func (m *MsgMgo) DeleteDoc(ctx context.Context, docID string) error { method GetLastMessageSeqByTime (line 954) | func (m *MsgMgo) GetLastMessageSeqByTime(ctx context.Context, conversa... method GetLastMessage (line 1006) | func (m *MsgMgo) GetLastMessage(ctx context.Context, conversationID st... method onlyFindDocIndex (line 1068) | func (m *MsgMgo) onlyFindDocIndex(ctx context.Context, docID string, i... method findBeforeDocSendTime (line 1120) | func (m *MsgMgo) findBeforeDocSendTime(ctx context.Context, docID stri... method findBeforeSendTime (line 1167) | func (m *MsgMgo) findBeforeSendTime(ctx context.Context, conversationI... method FindSeqs (line 1187) | func (m *MsgMgo) FindSeqs(ctx context.Context, conversationID string, ... type searchMessageIndex (line 257) | type searchMessageIndex struct FILE: pkg/common/storage/database/mgo/msg_test.go function TestName1 (line 20) | func TestName1(t *testing.T) { function TestName10 (line 62) | func TestName10(t *testing.T) { function TestName3 (line 89) | func TestName3(t *testing.T) { function TestName4 (line 96) | func TestName4(t *testing.T) { function TestName5 (line 114) | func TestName5(t *testing.T) { function TestSearchMessage (line 154) | func TestSearchMessage(t *testing.T) { FILE: pkg/common/storage/database/mgo/object.go function NewS3Mongo (line 31) | func NewS3Mongo(db *mongo.Database) (database.ObjectInfo, error) { type S3Mongo (line 68) | type S3Mongo struct method SetObject (line 72) | func (o *S3Mongo) SetObject(ctx context.Context, obj *model.Object) er... method Take (line 86) | func (o *S3Mongo) Take(ctx context.Context, engine string, name string... method Delete (line 93) | func (o *S3Mongo) Delete(ctx context.Context, engine string, name []st... method FindExpirationObject (line 100) | func (o *S3Mongo) FindExpirationObject(ctx context.Context, engine str... method GetKeyCount (line 112) | func (o *S3Mongo) GetKeyCount(ctx context.Context, engine string, key ... method GetEngineCount (line 116) | func (o *S3Mongo) GetEngineCount(ctx context.Context, engine string) (... method GetEngineInfo (line 120) | func (o *S3Mongo) GetEngineInfo(ctx context.Context, engine string, li... method UpdateEngine (line 124) | func (o *S3Mongo) UpdateEngine(ctx context.Context, oldEngine, oldName... FILE: pkg/common/storage/database/mgo/seq_conversation.go function NewSeqConversationMongo (line 14) | func NewSeqConversationMongo(db *mongo.Database) (database.SeqConversati... type seqConversationMongo (line 27) | type seqConversationMongo struct method setSeq (line 31) | func (s *seqConversationMongo) setSeq(ctx context.Context, conversatio... method Malloc (line 51) | func (s *seqConversationMongo) Malloc(ctx context.Context, conversatio... method SetMaxSeq (line 71) | func (s *seqConversationMongo) SetMaxSeq(ctx context.Context, conversa... method GetMaxSeq (line 75) | func (s *seqConversationMongo) GetMaxSeq(ctx context.Context, conversa... method GetMinSeq (line 86) | func (s *seqConversationMongo) GetMinSeq(ctx context.Context, conversa... method SetMinSeq (line 97) | func (s *seqConversationMongo) SetMinSeq(ctx context.Context, conversa... method GetConversation (line 101) | func (s *seqConversationMongo) GetConversation(ctx context.Context, co... FILE: pkg/common/storage/database/mgo/seq_conversation_test.go function Result (line 12) | func Result[V any](val V, err error) V { function Mongodb (line 19) | func Mongodb() *mongo.Database { function TestUserSeq (line 28) | func TestUserSeq(t *testing.T) { function TestConversationSeq (line 33) | func TestConversationSeq(t *testing.T) { function TestUserGetUserReadSeqs (line 40) | func TestUserGetUserReadSeqs(t *testing.T) { FILE: pkg/common/storage/database/mgo/seq_user.go function NewSeqUserMongo (line 14) | func NewSeqUserMongo(db *mongo.Database) (database.SeqUser, error) { type seqUserMongo (line 28) | type seqUserMongo struct method setSeq (line 32) | func (s *seqUserMongo) setSeq(ctx context.Context, conversationID stri... method getSeq (line 55) | func (s *seqUserMongo) getSeq(ctx context.Context, conversationID stri... method GetUserMaxSeq (line 71) | func (s *seqUserMongo) GetUserMaxSeq(ctx context.Context, conversation... method SetUserMaxSeq (line 75) | func (s *seqUserMongo) SetUserMaxSeq(ctx context.Context, conversation... method GetUserMinSeq (line 79) | func (s *seqUserMongo) GetUserMinSeq(ctx context.Context, conversation... method SetUserMinSeq (line 83) | func (s *seqUserMongo) SetUserMinSeq(ctx context.Context, conversation... method GetUserReadSeq (line 87) | func (s *seqUserMongo) GetUserReadSeq(ctx context.Context, conversatio... method notFoundSet0 (line 91) | func (s *seqUserMongo) notFoundSet0(seq map[string]int64, conversation... method GetUserReadSeqs (line 99) | func (s *seqUserMongo) GetUserReadSeqs(ctx context.Context, userID str... method SetUserReadSeq (line 117) | func (s *seqUserMongo) SetUserReadSeq(ctx context.Context, conversatio... FILE: pkg/common/storage/database/mgo/user.go function NewUserMongo (line 34) | func NewUserMongo(db *mongo.Database) (database.User, error) { type UserMgo (line 48) | type UserMgo struct method Create (line 52) | func (u *UserMgo) Create(ctx context.Context, users []*model.User) err... method UpdateByMap (line 56) | func (u *UserMgo) UpdateByMap(ctx context.Context, userID string, args... method Find (line 63) | func (u *UserMgo) Find(ctx context.Context, userIDs []string) (users [... method Take (line 67) | func (u *UserMgo) Take(ctx context.Context, userID string) (user *mode... method TakeNotification (line 71) | func (u *UserMgo) TakeNotification(ctx context.Context, level int64) (... method TakeGTEAppManagerLevel (line 75) | func (u *UserMgo) TakeGTEAppManagerLevel(ctx context.Context, level in... method TakeByNickname (line 79) | func (u *UserMgo) TakeByNickname(ctx context.Context, nickname string)... method Page (line 83) | func (u *UserMgo) Page(ctx context.Context, pagination pagination.Pagi... method PageFindUser (line 87) | func (u *UserMgo) PageFindUser(ctx context.Context, level1 int64, leve... method PageFindUserWithKeyword (line 98) | func (u *UserMgo) PageFindUserWithKeyword( method GetAllUserID (line 133) | func (u *UserMgo) GetAllUserID(ctx context.Context, pagination paginat... method Exist (line 137) | func (u *UserMgo) Exist(ctx context.Context, userID string) (exist boo... method GetUserGlobalRecvMsgOpt (line 141) | func (u *UserMgo) GetUserGlobalRecvMsgOpt(ctx context.Context, userID ... method CountTotal (line 145) | func (u *UserMgo) CountTotal(ctx context.Context, before *time.Time) (... method AddUserCommand (line 152) | func (u *UserMgo) AddUserCommand(ctx context.Context, userID string, T... method DeleteUserCommand (line 169) | func (u *UserMgo) DeleteUserCommand(ctx context.Context, userID string... method UpdateUserCommand (line 185) | func (u *UserMgo) UpdateUserCommand(ctx context.Context, userID string... method GetUserCommand (line 208) | func (u *UserMgo) GetUserCommand(ctx context.Context, userID string, T... method GetAllUserCommand (line 251) | func (u *UserMgo) GetAllUserCommand(ctx context.Context, userID string... method CountRangeEverydayTotal (line 293) | func (u *UserMgo) CountRangeEverydayTotal(ctx context.Context, start t... method SortQuery (line 332) | func (u *UserMgo) SortQuery(ctx context.Context, userIDName map[string... FILE: pkg/common/storage/database/mgo/version_log.go function NewVersionLog (line 20) | func NewVersionLog(coll *mongo.Collection) (database.VersionLog, error) { type VersionLogMgo (line 28) | type VersionLogMgo struct method initIndex (line 32) | func (l *VersionLogMgo) initIndex(ctx context.Context) error { method IncrVersion (line 43) | func (l *VersionLogMgo) IncrVersion(ctx context.Context, dId string, e... method IncrVersionResult (line 48) | func (l *VersionLogMgo) IncrVersionResult(ctx context.Context, dId str... method incrVersionResult (line 60) | func (l *VersionLogMgo) incrVersionResult(ctx context.Context, dId str... method initDoc (line 78) | func (l *VersionLogMgo) initDoc(ctx context.Context, dId string, eIds ... method writeLogBatch2 (line 101) | func (l *VersionLogMgo) writeLogBatch2(ctx context.Context, dId string... method findDoc (line 178) | func (l *VersionLogMgo) findDoc(ctx context.Context, dId string) (*mod... method FindChangeLog (line 186) | func (l *VersionLogMgo) FindChangeLog(ctx context.Context, dId string,... method BatchFindChangeLog (line 203) | func (l *VersionLogMgo) BatchFindChangeLog(ctx context.Context, dIds [... method findChangeLog (line 223) | func (l *VersionLogMgo) findChangeLog(ctx context.Context, dId string,... method DeleteAfterUnchangedLog (line 294) | func (l *VersionLogMgo) DeleteAfterUnchangedLog(ctx context.Context, d... method Delete (line 302) | func (l *VersionLogMgo) Delete(ctx context.Context, dId string) error { FILE: pkg/common/storage/database/mgo/version_test.go function Check (line 19) | func Check(err error) { function TestName (line 25) | func TestName(t *testing.T) { FILE: pkg/common/storage/database/msg.go type Msg (line 26) | type Msg interface FILE: pkg/common/storage/database/name.go constant BlackName (line 4) | BlackName = "black" constant ConversationName (line 5) | ConversationName = "conversation" constant FriendName (line 6) | FriendName = "friend" constant FriendVersionName (line 7) | FriendVersionName = "friend_version" constant FriendRequestName (line 8) | FriendRequestName = "friend_request" constant GroupName (line 9) | GroupName = "group" constant GroupMemberName (line 10) | GroupMemberName = "group_member" constant GroupMemberVersionName (line 11) | GroupMemberVersionName = "group_member_version" constant GroupJoinVersionName (line 12) | GroupJoinVersionName = "group_join_version" constant ConversationVersionName (line 13) | ConversationVersionName = "conversation_version" constant GroupRequestName (line 14) | GroupRequestName = "group_request" constant LogName (line 15) | LogName = "log" constant ObjectName (line 16) | ObjectName = "s3" constant UserName (line 17) | UserName = "user" constant SeqConversationName (line 18) | SeqConversationName = "seq" constant SeqUserName (line 19) | SeqUserName = "seq_user" constant StreamMsgName (line 20) | StreamMsgName = "stream_msg" constant CacheName (line 21) | CacheName = "cache" FILE: pkg/common/storage/database/object.go type ObjectInfo (line 24) | type ObjectInfo interface FILE: pkg/common/storage/database/seq.go type SeqTime (line 5) | type SeqTime struct type SeqConversation (line 10) | type SeqConversation interface FILE: pkg/common/storage/database/seq_user.go type SeqUser (line 5) | type SeqUser interface FILE: pkg/common/storage/database/user.go type User (line 26) | type User interface FILE: pkg/common/storage/database/version_log.go constant FirstVersion (line 11) | FirstVersion = 1 constant DefaultDeleteVersion (line 12) | DefaultDeleteVersion = 0 type VersionLog (line 15) | type VersionLog interface FILE: pkg/common/storage/kafka/config.go type TLSConfig (line 17) | type TLSConfig struct type Config (line 26) | type Config struct FILE: pkg/common/storage/kafka/consumer_group.go type MConsumerGroup (line 25) | type MConsumerGroup struct method GetContextFromMsg (line 47) | func (mc *MConsumerGroup) GetContextFromMsg(cMsg *sarama.ConsumerMessa... method RegisterHandleAndConsumer (line 51) | func (mc *MConsumerGroup) RegisterHandleAndConsumer(ctx context.Contex... method Close (line 66) | func (mc *MConsumerGroup) Close() error { function NewMConsumerGroup (line 31) | func NewMConsumerGroup(conf *Config, groupID string, topics []string, au... FILE: pkg/common/storage/kafka/producer.go type Producer (line 25) | type Producer struct method SendMessage (line 46) | func (p *Producer) SendMessage(ctx context.Context, key string, msg pr... function NewKafkaProducer (line 32) | func NewKafkaProducer(config *sarama.Config, addr []string, topic string... FILE: pkg/common/storage/kafka/sarama.go function BuildConsumerGroupConfig (line 11) | func BuildConsumerGroupConfig(conf *Config, initial int64, autoCommitEna... function NewConsumerGroup (line 33) | func NewConsumerGroup(conf *sarama.Config, addr []string, groupID string... function BuildProducerConfig (line 41) | func BuildProducerConfig(conf Config) (*sarama.Config, error) { function NewProducer (line 79) | func NewProducer(conf *sarama.Config, addr []string) (sarama.SyncProduce... FILE: pkg/common/storage/kafka/tls.go function decryptPEM (line 27) | func decryptPEM(data []byte, passphrase []byte) ([]byte, error) { function readEncryptablePEMBlock (line 42) | func readEncryptablePEMBlock(path string, pwd []byte) ([]byte, error) { function newTLSConfig (line 51) | func newTLSConfig(clientCertFile, clientKeyFile, caCertFile string, keyP... FILE: pkg/common/storage/kafka/util.go function GetMQHeaderWithContext (line 14) | func GetMQHeaderWithContext(ctx context.Context) ([]sarama.RecordHeader,... function GetContextWithMQHeader (line 28) | func GetContextWithMQHeader(header []*sarama.RecordHeader) context.Conte... FILE: pkg/common/storage/kafka/verify.go function CheckTopics (line 25) | func CheckTopics(ctx context.Context, conf *Config, topics []string) err... function CheckHealth (line 54) | func CheckHealth(ctx context.Context, conf *Config) error { FILE: pkg/common/storage/model/application.go type Application (line 8) | type Application struct FILE: pkg/common/storage/model/black.go type Black (line 21) | type Black struct FILE: pkg/common/storage/model/cache.go type Cache (line 5) | type Cache struct FILE: pkg/common/storage/model/client_config.go type ClientConfig (line 3) | type ClientConfig struct FILE: pkg/common/storage/model/conversation.go type Conversation (line 21) | type Conversation struct FILE: pkg/common/storage/model/friend.go type Friend (line 23) | type Friend struct FILE: pkg/common/storage/model/friend_request.go type FriendRequest (line 21) | type FriendRequest struct FILE: pkg/common/storage/model/group.go type Group (line 21) | type Group struct FILE: pkg/common/storage/model/group_member.go type GroupMember (line 21) | type GroupMember struct FILE: pkg/common/storage/model/group_request.go type GroupRequest (line 21) | type GroupRequest struct FILE: pkg/common/storage/model/log.go type Log (line 21) | type Log struct FILE: pkg/common/storage/model/msg.go constant singleGocMsgNum (line 25) | singleGocMsgNum = 100 constant singleGocMsgNum5000 (line 26) | singleGocMsgNum5000 = 5000 constant MsgTableName (line 27) | MsgTableName = "msg" constant OldestList (line 28) | OldestList = 0 constant NewestList (line 29) | NewestList = -1 type MsgDocModel (line 34) | type MsgDocModel struct method TableName (line 96) | func (*MsgDocModel) TableName() string { method GetSingleGocMsgNum (line 100) | func (*MsgDocModel) GetSingleGocMsgNum() int64 { method GetSingleGocMsgNum5000 (line 104) | func (*MsgDocModel) GetSingleGocMsgNum5000() int64 { method IsFull (line 108) | func (m *MsgDocModel) IsFull() bool { method GetDocIndex (line 112) | func (m *MsgDocModel) GetDocIndex(seq int64) int64 { method GetDocID (line 116) | func (m *MsgDocModel) GetDocID(conversationID string, seq int64) string { method GetDocIDSeqsMap (line 121) | func (m *MsgDocModel) GetDocIDSeqsMap(conversationID string, seqs []in... method GetMsgIndex (line 131) | func (*MsgDocModel) GetMsgIndex(seq int64) int64 { method GetLimitForSingleDoc (line 135) | func (*MsgDocModel) GetLimitForSingleDoc(seq int64) int64 { method indexGen (line 139) | func (*MsgDocModel) indexGen(conversationID string, seqSuffix int64) s... method BuildDocIDByIndex (line 143) | func (*MsgDocModel) BuildDocIDByIndex(conversationID string, index int... method GenExceptionMessageBySeqs (line 147) | func (*MsgDocModel) GenExceptionMessageBySeqs(seqs []int64) (exception... method GetMinSeq (line 156) | func (*MsgDocModel) GetMinSeq(index int) int64 { type RevokeModel (line 39) | type RevokeModel struct type OfflinePushModel (line 46) | type OfflinePushModel struct type MsgDataModel (line 54) | type MsgDataModel struct type MsgInfoModel (line 79) | type MsgInfoModel struct type UserCount (line 86) | type UserCount struct type GroupCount (line 91) | type GroupCount struct FILE: pkg/common/storage/model/object.go type Object (line 21) | type Object struct FILE: pkg/common/storage/model/seq.go type SeqConversation (line 3) | type SeqConversation struct FILE: pkg/common/storage/model/seq_user.go type SeqUser (line 3) | type SeqUser struct FILE: pkg/common/storage/model/subscribe.go constant SubscribeUserTableName (line 19) | SubscribeUserTableName = "subscribe_user" type SubscribeUser (line 23) | type SubscribeUser struct method TableName (line 28) | func (SubscribeUser) TableName() string { FILE: pkg/common/storage/model/user.go type User (line 21) | type User struct method GetNickname (line 31) | func (u *User) GetNickname() string { method GetFaceURL (line 35) | func (u *User) GetFaceURL() string { method GetUserID (line 39) | func (u *User) GetUserID() string { method GetEx (line 43) | func (u *User) GetEx() string { FILE: pkg/common/storage/model/version_log.go constant VersionStateInsert (line 12) | VersionStateInsert = iota + 1 constant VersionStateDelete (line 13) | VersionStateDelete constant VersionStateUpdate (line 14) | VersionStateUpdate constant VersionGroupChangeID (line 18) | VersionGroupChangeID = "" constant VersionSortChangeID (line 19) | VersionSortChangeID = "____S_O_R_T_I_D____" type VersionLogElem (line 22) | type VersionLogElem struct type VersionLogTable (line 29) | type VersionLogTable struct method VersionLog (line 38) | func (v *VersionLogTable) VersionLog() *VersionLog { type VersionLog (line 50) | type VersionLog struct method DeleteAndChangeIDs (line 60) | func (v *VersionLog) DeleteAndChangeIDs() (insertIds, deleteIds, updat... FILE: pkg/common/storage/versionctx/rpc.go function EnableVersionCtx (line 8) | func EnableVersionCtx() grpc.ServerOption { function enableVersionCtxInterceptor (line 12) | func enableVersionCtxInterceptor(ctx context.Context, req any, info *grp... FILE: pkg/common/storage/versionctx/version.go type Collection (line 9) | type Collection struct type versionKey (line 14) | type versionKey struct function WithVersionLog (line 16) | func WithVersionLog(ctx context.Context) context.Context { function GetVersionLog (line 20) | func GetVersionLog(ctx context.Context) *VersionLog { type VersionLog (line 27) | type VersionLog struct method Append (line 32) | func (v *VersionLog) Append(data ...Collection) { method Get (line 41) | func (v *VersionLog) Get() []Collection { FILE: pkg/common/webhook/condition.go function WithCondition (line 8) | func WithCondition(ctx context.Context, before *config.BeforeConfig, cal... FILE: pkg/common/webhook/http_client.go type Client (line 33) | type Client struct method SyncPost (line 63) | func (c *Client) SyncPost(ctx context.Context, command string, req cal... method AsyncPost (line 67) | func (c *Client) AsyncPost(ctx context.Context, command string, req ca... method AsyncPostWithQuery (line 73) | func (c *Client) AsyncPostWithQuery(ctx context.Context, command strin... method post (line 79) | func (c *Client) post(ctx context.Context, command string, input inter... method postWithQuery (line 98) | func (c *Client) postWithQuery(ctx context.Context, command string, in... constant webhookWorkerCount (line 40) | webhookWorkerCount = 2 constant webhookBufferSize (line 41) | webhookBufferSize = 100 constant Key (line 43) | Key = "key" function NewWebhookClient (line 46) | func NewWebhookClient(url string, options ...*memamq.MemoryQueue) *Client { FILE: pkg/dbbuild/builder.go type Builder (line 11) | type Builder interface function NewBuilder (line 16) | func NewBuilder(mongoConf *config.Mongo, redisConf *config.Redis) Builder { FILE: pkg/dbbuild/microservices.go type microservices (line 12) | type microservices struct method Mongo (line 17) | func (x *microservices) Mongo(ctx context.Context) (*mongoutil.Client,... method Redis (line 21) | func (x *microservices) Redis(ctx context.Context) (redis.UniversalCli... FILE: pkg/dbbuild/standalone.go constant standaloneMongo (line 14) | standaloneMongo = "mongo" constant standaloneRedis (line 15) | standaloneRedis = "redis" type standaloneConn (line 20) | type standaloneConn struct method result (line 25) | func (x *standaloneConn[C]) result() (C, error) { type standalone (line 29) | type standalone struct method setConfig (line 36) | func (x *standalone) setConfig(mongoConf *config.Mongo, redisConf *con... method Mongo (line 43) | func (x *standalone) Mongo(ctx context.Context) (*mongoutil.Client, er... method Redis (line 59) | func (x *standalone) Redis(ctx context.Context) (redis.UniversalClient... FILE: pkg/localcache/cache.go type Cache (line 26) | type Cache interface function LRUStringHash (line 34) | func LRUStringHash(key string) uint64 { function New (line 40) | func New[V any](opts ...Option) Cache[V] { type cache (line 67) | type cache struct method onEvict (line 73) | func (c *cache[V]) onEvict(key string, value V) { method delLinked (line 83) | func (c *cache[V]) delLinked(src string, keys map[string]struct{}) { method del (line 91) | func (c *cache[V]) del(key ...string) { method Get (line 106) | func (c *cache[V]) Get(ctx context.Context, key string, fetch func(ctx c... method GetLink (line 110) | func (c *cache[V]) GetLink(ctx context.Context, key string, fetch func(c... method Del (line 123) | func (c *cache[V]) Del(ctx context.Context, key ...string) { method DelLocal (line 130) | func (c *cache[V]) DelLocal(ctx context.Context, key ...string) { method Stop (line 134) | func (c *cache[V]) Stop() { FILE: pkg/localcache/cache_test.go function TestName (line 29) | func TestName(t *testing.T) { function TestCacheEvictDeadlock (line 98) | func TestCacheEvictDeadlock(t *testing.T) { function TestExpirationLRUGetBatch (line 124) | func TestExpirationLRUGetBatch(t *testing.T) { FILE: pkg/localcache/init.go function InitLocalCache (line 30) | func InitLocalCache(localCache *config.LocalCache) { function GetPublishKeysByTopic (line 62) | func GetPublishKeysByTopic(topics []string, keys []string) map[string][]... FILE: pkg/localcache/link/link.go type Link (line 23) | type Link interface function newLinkKey (line 28) | func newLinkKey() *linkKey { type linkKey (line 34) | type linkKey struct method link (line 39) | func (x *linkKey) link(key string, link ...string) { method del (line 52) | func (x *linkKey) del(key string) map[string]struct{} { function New (line 63) | func New(n int) Link { type slot (line 77) | type slot struct method index (line 82) | func (x *slot) index(s string) uint64 { method Link (line 88) | func (x *slot) Link(key string, link ...string) { method Del (line 103) | func (x *slot) Del(key string) map[string]struct{} { method delKey (line 107) | func (x *slot) delKey(k string) map[string]struct{} { FILE: pkg/localcache/link/link_test.go function TestName (line 21) | func TestName(t *testing.T) { FILE: pkg/localcache/lru/lru.go type EvictCallback (line 19) | type EvictCallback type LRU (line 21) | type LRU interface type Target (line 30) | type Target interface FILE: pkg/localcache/lru/lru_expiration.go function NewExpirationLRU (line 24) | func NewExpirationLRU[K comparable, V any](size int, successTTL, failedT... type expirationLruItem (line 40) | type expirationLruItem struct type ExpirationLRU (line 46) | type ExpirationLRU struct method GetBatch (line 54) | func (x *ExpirationLRU[K, V]) GetBatch(keys []K, fetch func(keys []K) (m... method Get (line 104) | func (x *ExpirationLRU[K, V]) Get(key K, fetch func() (V, error)) (V, er... method Del (line 130) | func (x *ExpirationLRU[K, V]) Del(key K) bool { method SetHas (line 142) | func (x *ExpirationLRU[K, V]) SetHas(key K, value V) bool { method Set (line 152) | func (x *ExpirationLRU[K, V]) Set(key K, value V) { method Stop (line 158) | func (x *ExpirationLRU[K, V]) Stop() { FILE: pkg/localcache/lru/lru_lazy.go type lazyLruItem (line 24) | type lazyLruItem struct function NewLazyLRU (line 31) | func NewLazyLRU[K comparable, V any](size int, successTTL, failedTTL tim... type LazyLRU (line 50) | type LazyLRU struct method Get (line 58) | func (x *LazyLRU[K, V]) Get(key K, fetch func() (V, error)) (V, error) { method GetBatch (line 91) | func (x *LazyLRU[K, V]) GetBatch(keys []K, fetch func(keys []K) (map[K]V... method Set (line 160) | func (x *LazyLRU[K, V]) Set(key K, value V) { method SetHas (line 166) | func (x *LazyLRU[K, V]) SetHas(key K, value V) bool { method Del (line 176) | func (x *LazyLRU[K, V]) Del(key K) bool { method Stop (line 188) | func (x *LazyLRU[K, V]) Stop() { FILE: pkg/localcache/lru/lru_lazy_test.go type cacheTarget (line 27) | type cacheTarget struct method IncrGetHit (line 35) | func (r *cacheTarget) IncrGetHit() { method IncrGetSuccess (line 39) | func (r *cacheTarget) IncrGetSuccess() { method IncrGetFailed (line 43) | func (r *cacheTarget) IncrGetFailed() { method IncrDelHit (line 47) | func (r *cacheTarget) IncrDelHit() { method IncrDelNotFound (line 51) | func (r *cacheTarget) IncrDelNotFound() { method String (line 55) | func (r *cacheTarget) String() string { function TestName (line 59) | func TestName(t *testing.T) { FILE: pkg/localcache/lru/lru_slot.go function NewSlotLRU (line 17) | func NewSlotLRU[K comparable, V any](slotNum int, hash func(K) uint64, c... type slotLRU (line 29) | type slotLRU struct method GetBatch (line 35) | func (x *slotLRU[K, V]) GetBatch(keys []K, fetch func(keys []K) (map[K]V... method getIndex (line 58) | func (x *slotLRU[K, V]) getIndex(k K) uint64 { method Get (line 62) | func (x *slotLRU[K, V]) Get(key K, fetch func() (V, error)) (V, error) { method Set (line 66) | func (x *slotLRU[K, V]) Set(key K, value V) { method SetHas (line 70) | func (x *slotLRU[K, V]) SetHas(key K, value V) bool { method Del (line 74) | func (x *slotLRU[K, V]) Del(key K) bool { method Stop (line 78) | func (x *slotLRU[K, V]) Stop() { FILE: pkg/localcache/option.go function defaultOption (line 24) | func defaultOption() *option { type option (line 37) | type option struct type Option (line 50) | type Option function WithExpirationEvict (line 52) | func WithExpirationEvict() Option { function WithLazy (line 58) | func WithLazy() Option { function WithLocalDisable (line 64) | func WithLocalDisable() Option { function WithLinkDisable (line 68) | func WithLinkDisable() Option { function WithLinkSlotNum (line 72) | func WithLinkSlotNum(linkSlotNum int) Option { function WithLocalSlotNum (line 78) | func WithLocalSlotNum(localSlotNum int) Option { function WithLocalSlotSize (line 84) | func WithLocalSlotSize(localSlotSize int) Option { function WithLocalSuccessTTL (line 90) | func WithLocalSuccessTTL(localSuccessTTL time.Duration) Option { function WithLocalFailedTTL (line 99) | func WithLocalFailedTTL(localFailedTTL time.Duration) Option { function WithTarget (line 108) | func WithTarget(target lru.Target) Option { function WithDeleteKeyBefore (line 117) | func WithDeleteKeyBefore(fn func(ctx context.Context, key ...string)) Op... type EmptyTarget (line 126) | type EmptyTarget struct method IncrGetHit (line 128) | func (e EmptyTarget) IncrGetHit() {} method IncrGetSuccess (line 130) | func (e EmptyTarget) IncrGetSuccess() {} method IncrGetFailed (line 132) | func (e EmptyTarget) IncrGetFailed() {} method IncrDelHit (line 134) | func (e EmptyTarget) IncrDelHit() {} method IncrDelNotFound (line 136) | func (e EmptyTarget) IncrDelNotFound() {} FILE: pkg/localcache/tool.go function AnyValue (line 17) | func AnyValue[V any](v any, err error) (V, error) { FILE: pkg/mqbuild/builder.go type Builder (line 13) | type Builder interface function NewBuilder (line 18) | func NewBuilder(kafka *config.Kafka) Builder { type standaloneBuilder (line 34) | type standaloneBuilder struct method GetTopicProducer (line 36) | func (standaloneBuilder) GetTopicProducer(ctx context.Context, topic s... method GetTopicConsumer (line 40) | func (standaloneBuilder) GetTopicConsumer(ctx context.Context, topic s... type kafkaBuilder (line 44) | type kafkaBuilder struct method GetTopicProducer (line 50) | func (x *kafkaBuilder) GetTopicProducer(ctx context.Context, topic str... method GetTopicConsumer (line 54) | func (x *kafkaBuilder) GetTopicConsumer(ctx context.Context, topic str... FILE: pkg/msgprocessor/conversation.go function IsGroupConversationID (line 27) | func IsGroupConversationID(conversationID string) bool { function GetNotificationConversationIDByMsg (line 31) | func GetNotificationConversationIDByMsg(msg *sdkws.MsgData) string { function GetChatConversationIDByMsg (line 49) | func GetChatConversationIDByMsg(msg *sdkws.MsgData) string { function GetConversationIDByMsg (line 68) | func GetConversationIDByMsg(msg *sdkws.MsgData) string { function GetConversationIDBySessionType (line 99) | func GetConversationIDBySessionType(sessionType int, ids ...string) stri... function IsNotification (line 117) | func IsNotification(conversationID string) bool { function IsNotificationByMsg (line 121) | func IsNotificationByMsg(msg *sdkws.MsgData) bool { type MsgBySeq (line 125) | type MsgBySeq method Len (line 127) | func (s MsgBySeq) Len() int { method Less (line 131) | func (s MsgBySeq) Less(i, j int) bool { method Swap (line 135) | func (s MsgBySeq) Swap(i, j int) { function Pb2String (line 139) | func Pb2String(pb proto.Message) (string, error) { function String2Pb (line 147) | func String2Pb(s string, pb proto.Message) error { FILE: pkg/msgprocessor/options.go type Options (line 20) | type Options method Is (line 123) | func (o Options) Is(notification string) bool { method IsNotNotification (line 131) | func (o Options) IsNotNotification() bool { method IsSendMsg (line 135) | func (o Options) IsSendMsg() bool { method IsHistory (line 139) | func (o Options) IsHistory() bool { method IsPersistent (line 143) | func (o Options) IsPersistent() bool { method IsOfflinePush (line 147) | func (o Options) IsOfflinePush() bool { method IsUnreadCount (line 151) | func (o Options) IsUnreadCount() bool { method IsConversationUpdate (line 155) | func (o Options) IsConversationUpdate() bool { method IsSenderSync (line 159) | func (o Options) IsSenderSync() bool { method IsNotPrivate (line 163) | func (o Options) IsNotPrivate() bool { method IsSenderConversationUpdate (line 167) | func (o Options) IsSenderConversationUpdate() bool { method IsReactionFromCache (line 171) | func (o Options) IsReactionFromCache() bool { type OptionsOpt (line 21) | type OptionsOpt function NewOptions (line 24) | func NewOptions(opts ...OptionsOpt) Options { function NewMsgOptions (line 44) | func NewMsgOptions() Options { function WithOptions (line 50) | func WithOptions(options Options, opts ...OptionsOpt) Options { function WithNotNotification (line 57) | func WithNotNotification(b bool) OptionsOpt { function WithSendMsg (line 63) | func WithSendMsg(b bool) OptionsOpt { function WithHistory (line 69) | func WithHistory(b bool) OptionsOpt { function WithPersistent (line 75) | func WithPersistent() OptionsOpt { function WithOfflinePush (line 81) | func WithOfflinePush(b bool) OptionsOpt { function WithUnreadCount (line 87) | func WithUnreadCount(b bool) OptionsOpt { function WithConversationUpdate (line 93) | func WithConversationUpdate() OptionsOpt { function WithSenderSync (line 99) | func WithSenderSync() OptionsOpt { function WithNotPrivate (line 105) | func WithNotPrivate() OptionsOpt { function WithSenderConversationUpdate (line 111) | func WithSenderConversationUpdate() OptionsOpt { function WithReactionFromCache (line 117) | func WithReactionFromCache() OptionsOpt { FILE: pkg/notification/common_user/common.go type CommonUser (line 17) | type CommonUser interface type CommonGroup (line 24) | type CommonGroup interface FILE: pkg/notification/grouphash/grouphash.go function NewGroupHashFromGroupClient (line 28) | func NewGroupHashFromGroupClient(x group.GroupClient) *GroupHash { function NewGroupHashFromGroupServer (line 47) | func NewGroupHashFromGroupServer(x group.GroupServer) *GroupHash { type GroupHash (line 66) | type GroupHash struct method GetGroupHash (line 71) | func (gh *GroupHash) GetGroupHash(ctx context.Context, groupID string)... FILE: pkg/notification/msg.go function newContentTypeConf (line 35) | func newContentTypeConf(conf *config.Notification) map[int32]config.Noti... function newSessionTypeConf (line 83) | func newSessionTypeConf() map[int32]int32 { type NotificationSender (line 129) | type NotificationSender struct method send (line 199) | func (s *NotificationSender) send(ctx context.Context, sendID, recvID ... method NotificationWithSessionType (line 256) | func (s *NotificationSender) NotificationWithSessionType(ctx context.C... method Notification (line 262) | func (s *NotificationSender) Notification(ctx context.Context, sendID,... method SetOptionsByContentType (line 266) | func (s *NotificationSender) SetOptionsByContentType(_ context.Context... function WithQueue (line 137) | func WithQueue(queue *memamq.MemoryQueue) NotificationSenderOptions { type NotificationSenderOptions (line 143) | type NotificationSenderOptions function WithLocalSendMsg (line 145) | func WithLocalSendMsg(sendMsg func(ctx context.Context, req *msg.SendMsg... function WithRpcClient (line 151) | func WithRpcClient(sendMsg func(ctx context.Context, req *msg.SendMsgReq... function WithUserRpcClient (line 159) | func WithUserRpcClient(getUserInfo func(ctx context.Context, userID stri... constant notificationWorkerCount (line 166) | notificationWorkerCount = 16 constant notificationBufferSize (line 167) | notificationBufferSize = 1024 * 1024 * 2 function NewNotificationSender (line 170) | func NewNotificationSender(conf *config.Notification, opts ...Notificati... type notificationOpt (line 181) | type notificationOpt struct type NotificationOptions (line 186) | type NotificationOptions function WithRpcGetUserName (line 188) | func WithRpcGetUserName() NotificationOptions { function WithSendMessage (line 193) | func WithSendMessage(sendMessage *bool) NotificationOptions { FILE: pkg/rpccache/auth.go function NewAuthLocalCache (line 17) | func NewAuthLocalCache(client *rpcli.AuthClient, localCache *config.Loca... type AuthLocalCache (line 36) | type AuthLocalCache struct method GetExistingToken (line 41) | func (a *AuthLocalCache) GetExistingToken(ctx context.Context, userID ... method getExistingToken (line 52) | func (a *AuthLocalCache) getExistingToken(ctx context.Context, userID ... FILE: pkg/rpccache/common.go function newListMap (line 22) | func newListMap[V comparable](values []V, err error) (*listMap[V], error) { type listMap (line 36) | type listMap struct function respProtoMarshal (line 41) | func respProtoMarshal(resp proto.Message, err error) ([]byte, error) { function cacheUnmarshal (line 48) | func cacheUnmarshal[V any](resp []byte, err error) (*V, error) { type cacheProto (line 59) | type cacheProto struct method Marshal (line 61) | func (cacheProto[V]) Marshal(resp *V, err error) ([]byte, error) { method Unmarshal (line 68) | func (cacheProto[V]) Unmarshal(resp []byte, err error) (*V, error) { FILE: pkg/rpccache/conversation.go constant conversationWorkerCount (line 33) | conversationWorkerCount = 20 function NewConversationLocalCache (line 36) | func NewConversationLocalCache(client *rpcli.ConversationClient, localCa... type ConversationLocalCache (line 55) | type ConversationLocalCache struct method GetConversationIDs (line 60) | func (c *ConversationLocalCache) GetConversationIDs(ctx context.Contex... method getConversationIDs (line 68) | func (c *ConversationLocalCache) getConversationIDs(ctx context.Contex... method GetConversation (line 84) | func (c *ConversationLocalCache) GetConversation(ctx context.Context, ... method GetSingleConversationRecvMsgOpt (line 100) | func (c *ConversationLocalCache) GetSingleConversationRecvMsgOpt(ctx c... method GetConversations (line 108) | func (c *ConversationLocalCache) GetConversations(ctx context.Context,... method getConversationNotReceiveMessageUserIDs (line 141) | func (c *ConversationLocalCache) getConversationNotReceiveMessageUserI... method getPinnedConversationIDs (line 157) | func (c *ConversationLocalCache) getPinnedConversationIDs(ctx context.... method GetConversationNotReceiveMessageUserIDs (line 177) | func (c *ConversationLocalCache) GetConversationNotReceiveMessageUserI... method GetConversationNotReceiveMessageUserIDMap (line 185) | func (c *ConversationLocalCache) GetConversationNotReceiveMessageUserI... method GetPinnedConversationIDs (line 193) | func (c *ConversationLocalCache) GetPinnedConversationIDs(ctx context.... FILE: pkg/rpccache/friend.go function NewFriendLocalCache (line 29) | func NewFriendLocalCache(client *rpcli.RelationClient, localCache *confi... type FriendLocalCache (line 48) | type FriendLocalCache struct method IsFriend (line 53) | func (f *FriendLocalCache) IsFriend(ctx context.Context, possibleFrien... method isFriend (line 61) | func (f *FriendLocalCache) isFriend(ctx context.Context, possibleFrien... method IsBlack (line 78) | func (f *FriendLocalCache) IsBlack(ctx context.Context, possibleBlackU... method isBlack (line 87) | func (f *FriendLocalCache) isBlack(ctx context.Context, possibleBlackU... FILE: pkg/rpccache/group.go function NewGroupLocalCache (line 32) | func NewGroupLocalCache(client *rpcli.GroupClient, localCache *config.Lo... type GroupLocalCache (line 51) | type GroupLocalCache struct method getGroupMemberIDs (line 56) | func (g *GroupLocalCache) getGroupMemberIDs(ctx context.Context, group... method GetGroupMember (line 72) | func (g *GroupLocalCache) GetGroupMember(ctx context.Context, groupID,... method GetGroupInfo (line 88) | func (g *GroupLocalCache) GetGroupInfo(ctx context.Context, groupID st... method GetGroupMemberIDs (line 104) | func (g *GroupLocalCache) GetGroupMemberIDs(ctx context.Context, group... method GetGroupMemberIDMap (line 112) | func (g *GroupLocalCache) GetGroupMemberIDMap(ctx context.Context, gro... method GetGroupInfos (line 120) | func (g *GroupLocalCache) GetGroupInfos(ctx context.Context, groupIDs ... method GetGroupMembers (line 135) | func (g *GroupLocalCache) GetGroupMembers(ctx context.Context, groupID... method GetGroupMemberInfoMap (line 150) | func (g *GroupLocalCache) GetGroupMemberInfoMap(ctx context.Context, g... FILE: pkg/rpccache/online.go constant Begin (line 28) | Begin uint32 = iota constant DoOnlineStatusOver (line 29) | DoOnlineStatusOver constant DoSubscribeOver (line 30) | DoSubscribeOver type OnlineCache (line 33) | type OnlineCache interface function NewOnlineCache (line 40) | func NewOnlineCache(client *rpcli.UserClient, group *GroupLocalCache, rd... type defaultOnlineCache (line 80) | type defaultOnlineCache struct method initUsersOnlineStatus (line 96) | func (o *defaultOnlineCache) initUsersOnlineStatus(ctx context.Context... method doSubscribe (line 149) | func (o *defaultOnlineCache) doSubscribe(ctx context.Context, rdb redi... method getUserOnlinePlatform (line 200) | func (o *defaultOnlineCache) getUserOnlinePlatform(ctx context.Context... method GetUserOnlinePlatform (line 212) | func (o *defaultOnlineCache) GetUserOnlinePlatform(ctx context.Context... method GetUserOnline (line 222) | func (o *defaultOnlineCache) GetUserOnline(ctx context.Context, userID... method getUserOnlinePlatformBatch (line 230) | func (o *defaultOnlineCache) getUserOnlinePlatformBatch(ctx context.Co... method GetUsersOnline (line 254) | func (o *defaultOnlineCache) GetUsersOnline(ctx context.Context, userI... method setUserOnline (line 290) | func (o *defaultOnlineCache) setUserOnline(userID string, platformIDs ... method setHasUserOnline (line 299) | func (o *defaultOnlineCache) setHasUserOnline(userID string, platformI... method WaitCache (line 303) | func (o *defaultOnlineCache) WaitCache() { type disableOnlineCache (line 311) | type disableOnlineCache struct method GetUserOnlinePlatform (line 315) | func (o disableOnlineCache) GetUserOnlinePlatform(ctx context.Context,... method GetUserOnline (line 319) | func (o disableOnlineCache) GetUserOnline(ctx context.Context, userID ... method GetUsersOnline (line 327) | func (o disableOnlineCache) GetUsersOnline(ctx context.Context, userID... method WaitCache (line 346) | func (o disableOnlineCache) WaitCache() {} FILE: pkg/rpccache/subscriber.go function subscriberRedisDeleteCache (line 25) | func subscriberRedisDeleteCache(ctx context.Context, client redis.Univer... FILE: pkg/rpccache/user.go function NewUserLocalCache (line 31) | func NewUserLocalCache(client *rpcli.UserClient, localCache *config.Loca... type UserLocalCache (line 50) | type UserLocalCache struct method GetUserInfo (line 55) | func (u *UserLocalCache) GetUserInfo(ctx context.Context, userID strin... method GetUserGlobalMsgRecvOpt (line 71) | func (u *UserLocalCache) GetUserGlobalMsgRecvOpt(ctx context.Context, ... method getUserGlobalMsgRecvOpt (line 79) | func (u *UserLocalCache) getUserGlobalMsgRecvOpt(ctx context.Context, ... method GetUsersInfo (line 95) | func (u *UserLocalCache) GetUsersInfo(ctx context.Context, userIDs []s... method GetUsersInfoMap (line 111) | func (u *UserLocalCache) GetUsersInfoMap(ctx context.Context, userIDs ... FILE: pkg/rpcli/auth.go function NewAuthClient (line 9) | func NewAuthClient(cc grpc.ClientConnInterface) *AuthClient { type AuthClient (line 13) | type AuthClient struct method KickTokens (line 17) | func (x *AuthClient) KickTokens(ctx context.Context, tokens []string) ... method InvalidateToken (line 24) | func (x *AuthClient) InvalidateToken(ctx context.Context, req *auth.In... method ParseToken (line 28) | func (x *AuthClient) ParseToken(ctx context.Context, token string) (*a... FILE: pkg/rpcli/conversation.go function NewConversationClient (line 10) | func NewConversationClient(cc grpc.ClientConnInterface) *ConversationCli... type ConversationClient (line 14) | type ConversationClient struct method SetConversationMaxSeq (line 18) | func (x *ConversationClient) SetConversationMaxSeq(ctx context.Context... method SetConversations (line 26) | func (x *ConversationClient) SetConversations(ctx context.Context, own... method SetConversationMinSeq (line 34) | func (x *ConversationClient) SetConversationMinSeq(ctx context.Context... method GetConversation (line 42) | func (x *ConversationClient) GetConversation(ctx context.Context, conv... method GetConversations (line 47) | func (x *ConversationClient) GetConversations(ctx context.Context, con... method GetConversationIDs (line 55) | func (x *ConversationClient) GetConversationIDs(ctx context.Context, o... method GetPinnedConversationIDs (line 60) | func (x *ConversationClient) GetPinnedConversationIDs(ctx context.Cont... method CreateGroupChatConversations (line 65) | func (x *ConversationClient) CreateGroupChatConversations(ctx context.... method CreateSingleChatConversations (line 73) | func (x *ConversationClient) CreateSingleChatConversations(ctx context... method GetConversationOfflinePushUserIDs (line 77) | func (x *ConversationClient) GetConversationOfflinePushUserIDs(ctx con... FILE: pkg/rpcli/group.go function NewGroupClient (line 10) | func NewGroupClient(cc grpc.ClientConnInterface) *GroupClient { type GroupClient (line 14) | type GroupClient struct method GetGroupsInfo (line 18) | func (x *GroupClient) GetGroupsInfo(ctx context.Context, groupIDs []st... method GetGroupInfo (line 26) | func (x *GroupClient) GetGroupInfo(ctx context.Context, groupID string... method GetGroupInfoCache (line 30) | func (x *GroupClient) GetGroupInfoCache(ctx context.Context, groupID s... method GetGroupMemberCache (line 35) | func (x *GroupClient) GetGroupMemberCache(ctx context.Context, groupID... method DismissGroup (line 40) | func (x *GroupClient) DismissGroup(ctx context.Context, groupID string... method GetGroupMemberUserIDs (line 45) | func (x *GroupClient) GetGroupMemberUserIDs(ctx context.Context, group... method GetGroupMembersInfo (line 50) | func (x *GroupClient) GetGroupMembersInfo(ctx context.Context, groupID... method GetGroupMemberInfo (line 58) | func (x *GroupClient) GetGroupMemberInfo(ctx context.Context, groupID ... method GetGroupMemberMapInfo (line 62) | func (x *GroupClient) GetGroupMemberMapInfo(ctx context.Context, group... FILE: pkg/rpcli/msg.go function NewMsgClient (line 12) | func NewMsgClient(cc grpc.ClientConnInterface) *MsgClient { type MsgClient (line 16) | type MsgClient struct method GetMaxSeqs (line 20) | func (x *MsgClient) GetMaxSeqs(ctx context.Context, conversationIDs []... method GetMsgByConversationIDs (line 28) | func (x *MsgClient) GetMsgByConversationIDs(ctx context.Context, conve... method GetHasReadSeqs (line 36) | func (x *MsgClient) GetHasReadSeqs(ctx context.Context, conversationID... method SetUserConversationMaxSeq (line 44) | func (x *MsgClient) SetUserConversationMaxSeq(ctx context.Context, con... method SetUserConversationMin (line 52) | func (x *MsgClient) SetUserConversationMin(ctx context.Context, conver... method GetLastMessageSeqByTime (line 60) | func (x *MsgClient) GetLastMessageSeqByTime(ctx context.Context, conve... method GetConversationMaxSeq (line 65) | func (x *MsgClient) GetConversationMaxSeq(ctx context.Context, convers... method GetActiveConversation (line 70) | func (x *MsgClient) GetActiveConversation(ctx context.Context, convers... method GetSeqMessage (line 78) | func (x *MsgClient) GetSeqMessage(ctx context.Context, userID string, ... method SetUserConversationsMinSeq (line 86) | func (x *MsgClient) SetUserConversationsMinSeq(ctx context.Context, co... FILE: pkg/rpcli/msggateway.go function NewMsgGatewayClient (line 8) | func NewMsgGatewayClient(cc grpc.ClientConnInterface) *MsgGatewayClient { type MsgGatewayClient (line 12) | type MsgGatewayClient struct FILE: pkg/rpcli/push.go function NewPushMsgServiceClient (line 8) | func NewPushMsgServiceClient(cc grpc.ClientConnInterface) *PushMsgServic... type PushMsgServiceClient (line 12) | type PushMsgServiceClient struct FILE: pkg/rpcli/relation.go function NewRelationClient (line 9) | func NewRelationClient(cc grpc.ClientConnInterface) *RelationClient { type RelationClient (line 13) | type RelationClient struct method GetFriendsInfo (line 17) | func (x *RelationClient) GetFriendsInfo(ctx context.Context, ownerUser... FILE: pkg/rpcli/rtc.go function NewRtcServiceClient (line 8) | func NewRtcServiceClient(cc grpc.ClientConnInterface) *RtcServiceClient { type RtcServiceClient (line 12) | type RtcServiceClient struct FILE: pkg/rpcli/third.go function NewThirdClient (line 8) | func NewThirdClient(cc grpc.ClientConnInterface) *ThirdClient { type ThirdClient (line 12) | type ThirdClient struct FILE: pkg/rpcli/tool.go function extractField (line 9) | func extractField[A, B, C any](ctx context.Context, fn func(ctx context.... function firstValue (line 18) | func firstValue[A any](val []A, err error) (A, error) { function ignoreResp (line 30) | func ignoreResp(_ any, err error) error { FILE: pkg/rpcli/user.go function NewUserClient (line 12) | func NewUserClient(cc grpc.ClientConnInterface) *UserClient { type UserClient (line 16) | type UserClient struct method GetUsersInfo (line 20) | func (x *UserClient) GetUsersInfo(ctx context.Context, userIDs []strin... method GetUserInfo (line 28) | func (x *UserClient) GetUserInfo(ctx context.Context, userID string) (... method CheckUser (line 32) | func (x *UserClient) CheckUser(ctx context.Context, userIDs []string) ... method GetUsersInfoMap (line 46) | func (x *UserClient) GetUsersInfoMap(ctx context.Context, userIDs []st... method GetAllOnlineUsers (line 56) | func (x *UserClient) GetAllOnlineUsers(ctx context.Context, cursor uin... method GetUsersOnlinePlatform (line 61) | func (x *UserClient) GetUsersOnlinePlatform(ctx context.Context, userI... method GetUserOnlinePlatform (line 70) | func (x *UserClient) GetUserOnlinePlatform(ctx context.Context, userID... method SetUserOnlineStatus (line 81) | func (x *UserClient) SetUserOnlineStatus(ctx context.Context, req *use... method GetNotificationByID (line 88) | func (x *UserClient) GetNotificationByID(ctx context.Context, userID s... method GetAllUserIDs (line 92) | func (x *UserClient) GetAllUserIDs(ctx context.Context, pageNumber, sh... FILE: pkg/statistics/statistics.go type Statistics (line 24) | type Statistics struct method output (line 31) | func (s *Statistics) output() { function NewStatistics (line 64) | func NewStatistics(allCount *uint64, moduleName, printArgs string, sleep... FILE: pkg/tools/batcher/batcher.go type Config (line 23) | type Config struct type Option (line 32) | type Option function WithSize (line 34) | func WithSize(s int) Option { function WithBuffer (line 40) | func WithBuffer(b int) Option { function WithWorker (line 46) | func WithWorker(w int) Option { function WithInterval (line 52) | func WithInterval(i time.Duration) Option { function WithSyncWait (line 58) | func WithSyncWait(wait bool) Option { function WithDataBuffer (line 64) | func WithDataBuffer(size int) Option { type Batcher (line 70) | type Batcher struct function emptyOnComplete (line 86) | func emptyOnComplete[T any](*T, int) {} function emptyHookFunc (line 87) | func emptyHookFunc[T any](string, map[string][]*T, int, *T) { function New (line 90) | func New[T any](opts ...Option) *Batcher[T] { method Worker (line 115) | func (b *Batcher[T]) Worker() int { method Start (line 119) | func (b *Batcher[T]) Start() error { method Put (line 138) | func (b *Batcher[T]) Put(ctx context.Context, data *T) error { method scheduler (line 152) | func (b *Batcher[T]) scheduler() { type Msg (line 204) | type Msg struct method Key (line 210) | func (m Msg[T]) Key() string { method TriggerID (line 214) | func (m Msg[T]) TriggerID() string { method Val (line 218) | func (m Msg[T]) Val() []*T { method String (line 222) | func (m Msg[T]) String() string { method distributeMessage (line 237) | func (b *Batcher[T]) distributeMessage(messages map[string][]*T, totalCo... method run (line 255) | func (b *Batcher[T]) run(channelID int, ch <-chan *Msg[T]) { method Close (line 272) | func (b *Batcher[T]) Close() { FILE: pkg/tools/batcher/batcher_test.go function TestBatcher (line 11) | func TestBatcher(t *testing.T) { FILE: pkg/util/conversationutil/conversationutil.go function GenConversationIDForSingle (line 8) | func GenConversationIDForSingle(sendID, recvID string) string { function GenConversationUniqueKeyForGroup (line 14) | func GenConversationUniqueKeyForGroup(groupID string) string { function GenGroupConversationID (line 18) | func GenGroupConversationID(groupID string) string { function IsGroupConversationID (line 22) | func IsGroupConversationID(conversationID string) bool { function IsNotificationConversationID (line 26) | func IsNotificationConversationID(conversationID string) bool { function GenConversationUniqueKeyForSingle (line 30) | func GenConversationUniqueKeyForSingle(sendID, recvID string) string { function GetNotificationConversationIDByConversationID (line 36) | func GetNotificationConversationIDByConversationID(conversationID string... function GetSelfNotificationConversationID (line 45) | func GetSelfNotificationConversationID(userID string) string { function GetSeqsBeginEnd (line 49) | func GetSeqsBeginEnd(seqs []int64) (int64, int64) { FILE: pkg/util/hashutil/id.go function IdHash (line 9) | func IdHash(ids []string) uint64 { FILE: pkg/util/useronline/split.go function ParseUserOnlineStatus (line 9) | func ParseUserOnlineStatus(payload string) (string, []int32, error) { FILE: test/e2e/api/token/token.go constant APIHost (line 27) | APIHost = "http://127.0.0.1:10002" constant UserTokenURL (line 28) | UserTokenURL = APIHost + "/auth/user_token" constant UserRegisterURL (line 29) | UserRegisterURL = APIHost + "/user/user_register" constant SecretKey (line 30) | SecretKey = "openIM123" constant OperationID (line 31) | OperationID = "1646445464564" type UserTokenRequest (line 35) | type UserTokenRequest struct type UserTokenResponse (line 42) | type UserTokenResponse struct type User (line 48) | type User struct type UserRegisterRequest (line 55) | type UserRegisterRequest struct function GetUserToken (line 74) | func GetUserToken(userID string) (string, error) { function RegisterUser (line 104) | func RegisterUser(token, userID, nickname, faceURL string) error { FILE: test/e2e/api/user/curd.go type UserInfoRequest (line 25) | type UserInfoRequest struct type GetUsersOnlineStatusRequest (line 31) | type GetUsersOnlineStatusRequest struct function GetUsersInfo (line 36) | func GetUsersInfo(token string, userIDs []string) error { function UpdateUserInfo (line 47) | func UpdateUserInfo(token, userID, nickname, faceURL string) error { function GetUsersOnlineStatus (line 62) | func GetUsersOnlineStatus(token string, userIDs []string) error { FILE: test/e2e/api/user/user.go type ForceLogoutRequest (line 29) | type ForceLogoutRequest struct type CheckUserAccountRequest (line 35) | type CheckUserAccountRequest struct type GetUsersRequest (line 40) | type GetUsersRequest struct type Pagination (line 45) | type Pagination struct function ForceLogout (line 51) | func ForceLogout(token, userID string, platformID int) error { function CheckUserAccount (line 63) | func CheckUserAccount(token string, userIDs []string) error { function GetUsers (line 74) | func GetUsers(token string, pageNumber, showNumber int) error { function sendPostRequestWithToken (line 88) | func sendPostRequestWithToken(url, token string, body any) error { FILE: test/e2e/e2e.go function RunE2ETests (line 29) | func RunE2ETests(t *testing.T) { FILE: test/e2e/e2e_test.go function handleFlags (line 25) | func handleFlags() { function TestMain (line 30) | func TestMain(m *testing.M) { function TestE2E (line 35) | func TestE2E(t *testing.T) { FILE: test/e2e/framework/config/config.go function CopyFlags (line 30) | func CopyFlags(source *flag.FlagSet, target *flag.FlagSet) { type Config (line 41) | type Config struct function LoadConfig (line 58) | func LoadConfig() *Config { function getEnv (line 78) | func getEnv(key, defaultValue string) string { FILE: test/e2e/framework/config/config_test.go function TestCopyFlags (line 23) | func TestCopyFlags(t *testing.T) { FILE: test/e2e/framework/helpers/chat/chat.go function main (line 31) | func main() { function downloadAndExtract (line 121) | func downloadAndExtract(url, destDir string) error { function startProcess (line 160) | func startProcess(cmdPath string) { FILE: test/jwt/main.go function main (line 23) | func main() { FILE: test/stress-test-v2/main.go constant MaxUser (line 58) | MaxUser = 100000 constant Max1kUser (line 59) | Max1kUser = 1000 constant Max100KGroup (line 60) | Max100KGroup = 100 constant Max999Group (line 61) | Max999Group = 1000 constant MaxInviteUserLimit (line 62) | MaxInviteUserLimit = 999 constant CreateUserTicker (line 64) | CreateUserTicker = 1 * time.Second constant CreateGroupTicker (line 65) | CreateGroupTicker = 1 * time.Second constant Create100KGroupTicker (line 66) | Create100KGroupTicker = 1 * time.Second constant Create999GroupTicker (line 67) | Create999GroupTicker = 1 * time.Second constant SendMsgTo100KGroupTicker (line 68) | SendMsgTo100KGroupTicker = 1 * time.Second constant SendMsgTo999GroupTicker (line 69) | SendMsgTo999GroupTicker = 1 * time.Minute type BaseResp (line 72) | type BaseResp struct type StressTest (line 78) | type StressTest struct method PostRequest (line 124) | func (st *StressTest) PostRequest(ctx context.Context, url string, req... method GetAdminToken (line 172) | func (st *StressTest) GetAdminToken(ctx context.Context) (string, erro... method CheckUser (line 191) | func (st *StressTest) CheckUser(ctx context.Context, userIDs []string)... method CreateUser (line 217) | func (st *StressTest) CreateUser(ctx context.Context, userID string) (... method CreateUserBatch (line 236) | func (st *StressTest) CreateUserBatch(ctx context.Context, userIDs []s... method GetGroupMembersInfo (line 272) | func (st *StressTest) GetGroupMembersInfo(ctx context.Context, groupID... method InviteToGroup (line 347) | func (st *StressTest) InviteToGroup(ctx context.Context, groupID strin... method SendMsg (line 360) | func (st *StressTest) SendMsg(ctx context.Context, userID string, grou... method CreateGroup (line 389) | func (st *StressTest) CreateGroup(ctx context.Context, groupID string,... type conf (line 99) | type conf struct function initConfig (line 104) | func initConfig(configDir string) (*config.Share, *config.API, error) { function main (line 418) | func main() { FILE: test/stress-test/main.go constant MaxUser (line 60) | MaxUser = 10000 constant MaxGroup (line 61) | MaxGroup = 1000 constant CreateUserTicker (line 63) | CreateUserTicker = 1 * time.Minute constant SendMessageTicker (line 64) | SendMessageTicker = 1 * time.Second constant CreateGroupTicker (line 65) | CreateGroupTicker = 1 * time.Minute type BaseResp (line 68) | type BaseResp struct type StressTest (line 74) | type StressTest struct method PostRequest (line 118) | func (st *StressTest) PostRequest(ctx context.Context, url string, req... method GetAdminToken (line 166) | func (st *StressTest) GetAdminToken(ctx context.Context) (string, erro... method CreateUser (line 185) | func (st *StressTest) CreateUser(ctx context.Context, userID string) (... method ImportFriend (line 204) | func (st *StressTest) ImportFriend(ctx context.Context, userID string)... method InviteToGroup (line 218) | func (st *StressTest) InviteToGroup(ctx context.Context, userID string... method SendMsg (line 231) | func (st *StressTest) SendMsg(ctx context.Context, userID string) error { method CreateGroup (line 258) | func (st *StressTest) CreateGroup(ctx context.Context, userID string) ... type conf (line 93) | type conf struct function initConfig (line 98) | func initConfig(configDir string) (*config.Share, *config.API, error) { function main (line 289) | func main() { FILE: test/webhook/msgmodify/main.go function main (line 15) | func main() { function toGin (line 23) | func toGin[R any](fn func(c *gin.Context, req *R)) gin.HandlerFunc { function handlerMsg (line 40) | func handlerMsg(c *gin.Context, req *cbapi.CallbackMsgModifyCommandReq) { FILE: tools/changelog/changelog.go constant repoOwner (line 19) | repoOwner = "openimsdk" constant repoName (line 20) | repoName = "open-im-server" type GitHubRepo (line 24) | type GitHubRepo struct method classifyReleaseNotes (line 39) | func (g *GitHubRepo) classifyReleaseNotes(body string) map[string][]st... method generateChangelog (line 111) | func (g *GitHubRepo) generateChangelog(tag, date, htmlURL, body string... method fetchReleaseData (line 147) | func (g *GitHubRepo) fetchReleaseData(version string) (*ReleaseData, e... type ReleaseData (line 31) | type ReleaseData struct function main (line 178) | func main() { FILE: tools/check-component/main.go constant maxRetry (line 37) | maxRetry = 180 constant MountConfigFilePath (line 40) | MountConfigFilePath = "CONFIG_PATH" constant DeploymentType (line 41) | DeploymentType = "DEPLOYMENT_TYPE" constant KUBERNETES (line 42) | KUBERNETES = "kubernetes" function CheckZookeeper (line 45) | func CheckZookeeper(ctx context.Context, config *config.ZooKeeper) error { function CheckEtcd (line 53) | func CheckEtcd(ctx context.Context, config *config.Etcd) error { function CheckMongo (line 61) | func CheckMongo(ctx context.Context, config *config.Mongo) error { function CheckRedis (line 65) | func CheckRedis(ctx context.Context, config *config.Redis) error { function CheckMinIO (line 69) | func CheckMinIO(ctx context.Context, config *config.Minio) error { function CheckKafka (line 73) | func CheckKafka(ctx context.Context, conf *config.Kafka) error { function initConfig (line 77) | func initConfig(configDir string) (*config.Mongo, *config.Redis, *config... function main (line 122) | func main() { function performChecks (line 146) | func performChecks(ctx context.Context, mongoConfig *config.Mongo, redis... FILE: tools/check-free-memory/main.go function main (line 10) | func main() { FILE: tools/imctl/main.go function main (line 19) | func main() { FILE: tools/infra/main.go function printLinks (line 24) | func printLinks() { function main (line 31) | func main() { FILE: tools/ncpu/main.go function main (line 24) | func main() { FILE: tools/ncpu/main_test.go function Test_main (line 19) | func Test_main(t *testing.T) { FILE: tools/s3/internal/conversion.go constant defaultTimeout (line 29) | defaultTimeout = time.Second * 10 function readConf (line 31) | func readConf(path string, val any) error { function getS3 (line 43) | func getS3(path string, name string, thirdConf *config.Third) (s3.Interf... function getMongo (line 74) | func getMongo(path string) (database.ObjectInfo, error) { function Main (line 88) | func Main(path string, engine string) error { function getEngineCount (line 133) | func getEngineCount(db database.ObjectInfo, name string) (int, error) { function doObject (line 143) | func doObject(db database.ObjectInfo, newS3, oldS3 s3.Interface, skip in... type Result (line 200) | type Result struct FILE: tools/s3/main.go function main (line 10) | func main() { FILE: tools/seq/internal/seq.go constant StructTagName (line 31) | StructTagName = "yaml" constant MaxSeq (line 34) | MaxSeq = "MAX_SEQ:" constant MinSeq (line 35) | MinSeq = "MIN_SEQ:" constant ConversationUserMinSeq (line 36) | ConversationUserMinSeq = "CON_USER_MIN_SEQ:" constant HasReadSeq (line 37) | HasReadSeq = "HAS_READ_SEQ:" constant batchSize (line 41) | batchSize = 100 constant dataVersionCollection (line 42) | dataVersionCollection = "data_version" constant seqKey (line 43) | seqKey = "seq" constant seqVersion (line 44) | seqVersion = 38 function readConfig (line 47) | func readConfig[T any](dir string, name string) (*T, error) { function Main (line 70) | func Main(conf string, del time.Duration) error { type taskSeq (line 254) | type taskSeq struct function seqRedisToMongo (line 263) | func seqRedisToMongo(ctx context.Context, rdb redis.UniversalClient, get... function CheckVersion (line 316) | func CheckVersion(coll *mongo.Collection, key string, currentVersion int... function SetVersion (line 340) | func SetVersion(coll *mongo.Collection, key string, version int) error { FILE: tools/seq/main.go function main (line 12) | func main() { FILE: tools/stress-test-v2/main.go constant MaxUser (line 58) | MaxUser = 100000 constant Max100KGroup (line 59) | Max100KGroup = 100 constant Max999Group (line 60) | Max999Group = 1000 constant MaxInviteUserLimit (line 61) | MaxInviteUserLimit = 999 constant CreateUserTicker (line 63) | CreateUserTicker = 1 * time.Second constant CreateGroupTicker (line 64) | CreateGroupTicker = 1 * time.Second constant Create100KGroupTicker (line 65) | Create100KGroupTicker = 1 * time.Second constant Create999GroupTicker (line 66) | Create999GroupTicker = 1 * time.Second constant SendMsgTo100KGroupTicker (line 67) | SendMsgTo100KGroupTicker = 1 * time.Second constant SendMsgTo999GroupTicker (line 68) | SendMsgTo999GroupTicker = 1 * time.Minute type BaseResp (line 71) | type BaseResp struct type StressTest (line 77) | type StressTest struct method PostRequest (line 123) | func (st *StressTest) PostRequest(ctx context.Context, url string, req... method GetAdminToken (line 171) | func (st *StressTest) GetAdminToken(ctx context.Context) (string, erro... method CheckUser (line 190) | func (st *StressTest) CheckUser(ctx context.Context, userIDs []string)... method CreateUser (line 216) | func (st *StressTest) CreateUser(ctx context.Context, userID string) (... method CreateUserBatch (line 235) | func (st *StressTest) CreateUserBatch(ctx context.Context, userIDs []s... method GetGroupMembersInfo (line 271) | func (st *StressTest) GetGroupMembersInfo(ctx context.Context, groupID... method InviteToGroup (line 346) | func (st *StressTest) InviteToGroup(ctx context.Context, groupID strin... method SendMsg (line 359) | func (st *StressTest) SendMsg(ctx context.Context, userID string, grou... method CreateGroup (line 388) | func (st *StressTest) CreateGroup(ctx context.Context, groupID string,... type conf (line 98) | type conf struct function initConfig (line 103) | func initConfig(configDir string) (*config.Share, *config.API, error) { function main (line 417) | func main() { FILE: tools/url2im/main.go function main (line 33) | func main() { FILE: tools/url2im/pkg/api.go type Api (line 30) | type Api struct method apiPost (line 38) | func (a *Api) apiPost(ctx context.Context, path string, req any, resp ... method GetAdminToken (line 90) | func (a *Api) GetAdminToken(ctx context.Context) (string, error) { method GetPartLimit (line 102) | func (a *Api) GetPartLimit(ctx context.Context) (*third.PartLimitResp,... method InitiateMultipartUpload (line 110) | func (a *Api) InitiateMultipartUpload(ctx context.Context, req *third.... method CompleteMultipartUpload (line 118) | func (a *Api) CompleteMultipartUpload(ctx context.Context, req *third.... FILE: tools/url2im/pkg/buffer.go type ReadSeekSizeCloser (line 23) | type ReadSeekSizeCloser interface function NewReader (line 28) | func NewReader(r io.Reader, max int64, path string) (ReadSeekSizeCloser,... type fileBuffer (line 67) | type fileBuffer struct method Read (line 72) | func (r *fileBuffer) Read(p []byte) (n int, err error) { method Seek (line 76) | func (r *fileBuffer) Seek(offset int64, whence int) (int64, error) { method Size (line 80) | func (r *fileBuffer) Size() int64 { method Close (line 84) | func (r *fileBuffer) Close() error { type memoryBuffer (line 92) | type memoryBuffer struct method Read (line 96) | func (r *memoryBuffer) Read(p []byte) (n int, err error) { method Seek (line 100) | func (r *memoryBuffer) Seek(offset int64, whence int) (int64, error) { method Close (line 104) | func (r *memoryBuffer) Close() error { method Size (line 108) | func (r *memoryBuffer) Size() int64 { FILE: tools/url2im/pkg/config.go type Config (line 19) | type Config struct FILE: tools/url2im/pkg/http.go function DefaultRequestHeader (line 19) | func DefaultRequestHeader(header http.Header) { FILE: tools/url2im/pkg/manage.go type Upload (line 41) | type Upload struct type Task (line 47) | type Task struct type PartInfo (line 52) | type PartInfo struct function Run (line 62) | func Run(conf Config) error { type Manage (line 71) | type Manage struct method tempFilePath (line 83) | func (m *Manage) tempFilePath() string { method Run (line 87) | func (m *Manage) Run() error { method RunTask (line 193) | func (m *Manage) RunTask(ctx context.Context, task Task) (string, erro... method partSize (line 258) | func (m *Manage) partSize(size int64) (int64, error) { method partMD5 (line 275) | func (m *Manage) partMD5(parts []string) string { method getPartInfo (line 281) | func (m *Manage) getPartInfo(ctx context.Context, r io.Reader, fileSiz... method doPut (line 330) | func (m *Manage) doPut(ctx context.Context, client *http.Client, sign ... method HttpGet (line 382) | func (m *Manage) HttpGet(ctx context.Context, url string) (*http.Respo... FILE: tools/url2im/pkg/md5.go function NewMd5Reader (line 24) | func NewMd5Reader(r io.Reader) *Md5Reader { type Md5Reader (line 28) | type Md5Reader struct method Read (line 33) | func (r *Md5Reader) Read(p []byte) (n int, err error) { method Md5 (line 41) | func (r *Md5Reader) Md5() string { FILE: tools/url2im/pkg/progress.go function ReadProgress (line 25) | func ReadProgress(path string) (*Progress, error) { type Progress (line 46) | type Progress struct method IsUploaded (line 50) | func (p *Progress) IsUploaded(index int) bool { FILE: tools/versionchecker/main.go function ExecuteCommand (line 27) | func ExecuteCommand(cmdName string, args ...string) (string, error) { function printTime (line 41) | func printTime() string { function getGoVersion (line 46) | func getGoVersion() string { function getDockerVersion (line 53) | func getDockerVersion() string { function getKubernetesVersion (line 61) | func getKubernetesVersion() string { function getGitVersion (line 69) | func getGitVersion() string { function main (line 92) | func main() { FILE: tools/yamlfmt/main.go function main (line 27) | func main() { function fetchYaml (line 55) | func fetchYaml(sourceYaml []byte) (*yaml.Node, error) { function streamYaml (line 64) | func streamYaml(writer io.Writer, indent *int, in *yaml.Node) error { FILE: tools/yamlfmt/main_test.go function Test_main (line 27) | func Test_main(t *testing.T) { function Test_fetchYaml (line 55) | func Test_fetchYaml(t *testing.T) { function Test_streamYaml (line 108) | func Test_streamYaml(t *testing.T) { FILE: version/version.go function init (line 11) | func init() {