join/notifyJoin in RoomServer.java

2003-01-30
2003-01-30
  • Jonathan Ellis
    Jonathan Ellis
    2003-01-30

    comment in notifyJoin says:
    // notify the _other_ people

    which makes sense; there's no reason to send to the user who just joined since we already sent him ack_join; he already knows he's in the room.

    But, join calls notifyJoin _after_ adding the new user to _users, so he'll get the (redundant) notification too.

    I suggest calling notifyJoin before _users.put instead.  (Since it's synchronised, there's no difference to other threads.)  Otherwise, the comment should be changed to reflect what is actually happening.

     
    • Jonathan,

      How do the current clients handle these messages? I would expect that they send ack_join directly to the screen and maintain the list of users in a room by listening for userdiff messages.

      Maarten

       
      • Jonathan Ellis
        Jonathan Ellis
        2003-01-30

        both taso's client and mine do a /who after receiving ack_join and use that list.  but if some client didn't do this, it could still know it's in the room from the fact of the ack_join.

         
        • ok. in that case go and change it:)