From d5d87f52c16096fb0b5d14ea52f34a4c8d76e997 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Sun, 20 Jan 2013 02:52:35 +0000 Subject: [PATCH] Removing registered notifiers after a notification is processed. --- .../gempukku/lotro/game/state/GameCommunicationChannel.java | 4 +++- .../com/gempukku/lotro/draft/DraftCommunicationChannel.java | 4 +++- .../com/gempukku/lotro/game/ChatCommunicationChannel.java | 4 +++- .../com/gempukku/lotro/hall/HallCommunicationChannel.java | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameCommunicationChannel.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameCommunicationChannel.java index ab2ef1eb8..e7557ee64 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameCommunicationChannel.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameCommunicationChannel.java @@ -51,8 +51,10 @@ public class GameCommunicationChannel implements GameStateListener, LongPollable private synchronized void appendEvent(GameEvent event) { _events.add(event); - if (_waitingRequest != null) + if (_waitingRequest != null) { _waitingRequest.processRequest(); + _waitingRequest = null; + } } private int[] getCardIds(Collection cards) { diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/draft/DraftCommunicationChannel.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/draft/DraftCommunicationChannel.java index 1dfe6c8cb..0e58cc0ae 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/draft/DraftCommunicationChannel.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/draft/DraftCommunicationChannel.java @@ -44,8 +44,10 @@ public class DraftCommunicationChannel implements LongPollableResource { public synchronized void draftChanged() { _changed = true; - if (_waitingRequest != null) + if (_waitingRequest != null) { _waitingRequest.processRequest(); + _waitingRequest = null; + } } public boolean hasChangesInCommunicationChannel(DraftCardChoice draftCardChoice) { diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ChatCommunicationChannel.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ChatCommunicationChannel.java index b2ba858e8..75d575461 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ChatCommunicationChannel.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/ChatCommunicationChannel.java @@ -30,8 +30,10 @@ public class ChatCommunicationChannel implements ChatRoomListener, LongPollableR @Override public synchronized void messageReceived(ChatMessage message) { _messages.add(message); - if (_waitingRequest != null) + if (_waitingRequest != null) { _waitingRequest.processRequest(); + _waitingRequest = null; + } } public synchronized List consumeMessages() { diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallCommunicationChannel.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallCommunicationChannel.java index 670a17e16..be26e65ee 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallCommunicationChannel.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallCommunicationChannel.java @@ -39,8 +39,10 @@ public class HallCommunicationChannel implements LongPollableResource { public synchronized void hallChanged() { _changed = true; - if (_waitingRequest != null) + if (_waitingRequest != null) { _waitingRequest.processRequest(); + _waitingRequest = null; + } } public int getChannelNumber() {