code: def check_online(stream):
      
      while True:
          packet = yield from stream.get()
          session_id = packet.get('session_key')
          opponent_username = packet.get('username')
          if session_id and opponent_username:
              user_owner = get_user_from_session(session_id)
              if user_owner:
                  # Find all connections including user_owner as opponent
                  online_opponents = list(filter(lambda x: x[1] == user_owner.username, ws_connections))
                  logger.debug('User ' + user_owner.username + ' has ' + str(len(online_opponents)) + ' opponents online')
                  # Send user online statuses of his opponents
                  socket = ws_connections.get((user_owner.username, opponent_username))
                  if socket:
                      online_opponents_usernames = [i[0] for i in online_opponents]
                      yield from target_message(socket,
                                                {'type': 'gone-online', 'usernames': online_opponents_usernames})
                  else:
                      pass  # socket for the pair user_owner.username, opponent_username not found
                      # this can be in case the user has already gone offline
              else:
                  pass  # invalid session id
          else:
              pass
docs: Used to check user's online opponents and show their online/offline status on page on init