Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. func getActiveUserInzone(appid uint16, zone uint16) ([]*session.UserSession, error) {
  2.  
  3. var resp []*session.UserSession
  4.  
  5. keyname := fmt.Sprintf(userStatSetKey, appid, zone)
  6.  
  7. userids, err := SessionPool.Call(getSessionAddr(keyname)).SMEMBERS(keyname)
  8. if err != nil {
  9. return resp, errors.New(keyname + ":" + err.Error())
  10. }
  11.  
  12. appidstr := strconv.FormatUint(uint64(appid), 10)
  13.  
  14. for _, userid := range userids {
  15. masterkey := fmt.Sprintf(usersessionmasterkey, userid, appidstr)
  16.  
  17. if secondkeys, err := SessionPool.Call(getSessionAddr(masterkey)).SMEMBERS(masterkey); err != nil {
  18. Logger.Error(userid, appidstr, "", "getActiveUserInzone", "SMEMBERS masterkey error", "")
  19. continue
  20. } else {
  21. for _, secondkey := range secondkeys {
  22. props, err := SessionPool.Call(getSessionAddr(masterkey)).HGETALLMAP(string(secondkey))
  23. if err != nil && err != msgRedis.ErrKeyNotExist {
  24. continue //must not be here
  25. }
  26.  
  27. if err == nil {
  28. userSession, err := prop2usersession(props)
  29. if err == nil {
  30. resp = append(resp, userSession)
  31. }
  32. }
  33. }
  34. }
  35. }
  36.  
  37. return resp, nil
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement