У меня есть следующий сервер Comet:
object UserServer extends LiftActor with ListenerManager {
private var users: List[UserItem] = Nil
def createUpdate = users
override def lowPriority = {
case UserItem(user, room, active, stamp) => {
users :+= UserItem(user, room, active, stamp);
updateListeners()
}
}
}
В настоящее время каждый раз при отправке формы новый UserItem добавляется в список пользователей. То, что я пытаюсь сделать, - это каждый раз, когда сервер получает нового пользователя, вместо объединения в список он должен перезаписывать существующий элемент с тем же пользователем и дескриптором комнаты.
Так что, если список содержит следующее:
UserItem("jam_2323", "demo-room", "James", "1320073365")
UserItem("jim_4533", "demo-room", "Jim", "1320073365")
В следующий раз, когда эти пользователи отправят форму, два вышеуказанных элемента в списке будут заменены новым значением штампа:
UserItem("jam_2323", "demo-room", "James", "1320073435")
UserItem("jim_4533", "demo-room", "Jim", "1320073435")
Заранее спасибо за любую помощь, высоко ценится:)