From ac08f02ee7e5910a74ffc67fa8b0b462eea9a434 Mon Sep 17 00:00:00 2001 From: marcins78 Date: Fri, 18 Jan 2013 18:37:39 +0000 Subject: [PATCH] Working on the new polling. --- .../async/handler/ChatRequestHandler.java | 18 +++++++++--------- .../src/main/web/js/gemp-016/chat.js | 4 +--- .../src/main/web/js/gemp-016/communication.js | 3 +-- .../gempukku/polling/LongPollingSystem.java | 2 +- .../gempukku/lotro/chat/ChatRoomMediator.java | 2 +- .../com/gempukku/lotro/hall/HallServer.java | 2 +- 6 files changed, 14 insertions(+), 17 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java index 8e8ffb30d..adfc69a7c 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java @@ -61,18 +61,18 @@ public class ChatRequestHandler extends LotroServerRequestHandler implements Uri throw new HttpProcessingException(404); try { - if (message != null && message.trim().length() > 0) + if (message != null && message.trim().length() > 0) { chatRoom.sendMessage(resourceOwner.getName(), StringEscapeUtils.escapeHtml(message), resourceOwner.getType().contains("a")); - } catch (PrivateInformationException exp) { - throw new HttpProcessingException(403); - } - - try { - ChatCommunicationChannel pollableResource = chatRoom.getChatRoomListener(resourceOwner.getName()); - ChatUpdateLongPollingResource polledResource = new ChatUpdateLongPollingResource(chatRoom, room, resourceOwner.getName(), responseWriter); - _longPollingSystem.processLongPollingResource(polledResource, pollableResource); + responseWriter.writeXmlResponse(null); + } else { + ChatCommunicationChannel pollableResource = chatRoom.getChatRoomListener(resourceOwner.getName()); + ChatUpdateLongPollingResource polledResource = new ChatUpdateLongPollingResource(chatRoom, room, resourceOwner.getName(), responseWriter); + _longPollingSystem.processLongPollingResource(polledResource, pollableResource); + } } catch (SubscriptionExpiredException exp) { responseWriter.writeError(410); + } catch (PrivateInformationException exp) { + throw new HttpProcessingException(403); } } diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/chat.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/chat.js index 8301d0de7..7e3e817f5 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/chat.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/chat.js @@ -240,9 +240,7 @@ var ChatBoxUI = Class.extend({ sendMessage:function (message) { var that = this; - this.communication.sendChatMessage(this.name, message, function(xml) { - that.processMessages(xml, false); - }, this.chatErrorMap()); + this.communication.sendChatMessage(this.name, message, this.chatErrorMap()); }, chatMalfunction: function() { diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/communication.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/communication.js index 39c9bcded..20f6f66c8 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/communication.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-016/communication.js @@ -473,7 +473,7 @@ var GempLotrCommunication = Class.extend({ dataType:"xml" }); }, - sendChatMessage:function (room, messages, callback, errorMap) { + sendChatMessage:function (room, messages, errorMap) { $.ajax({ type:"POST", url:this.url + "/chat/" + room, @@ -482,7 +482,6 @@ var GempLotrCommunication = Class.extend({ data:{ participantId:getUrlParam("participantId"), message:messages}, - success:callback, traditional:true, error:this.errorCheck(errorMap), dataType:"xml" diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/polling/LongPollingSystem.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/polling/LongPollingSystem.java index 0ac878b20..f52426dce 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/polling/LongPollingSystem.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/polling/LongPollingSystem.java @@ -9,7 +9,7 @@ public class LongPollingSystem { private static Logger _log = Logger.getLogger(LongPollingSystem.class); private ConcurrentLinkedQueue _waitingActions = new ConcurrentLinkedQueue(); - private long _pollingInterval = 200; + private long _pollingInterval = 1000; private long _pollingLength = 10000; private ProcessingRunnable _processingRunnable; diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatRoomMediator.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatRoomMediator.java index e4bf31958..2b5b55555 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatRoomMediator.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatRoomMediator.java @@ -15,7 +15,7 @@ public class ChatRoomMediator { private Map _listeners = new HashMap(); - private int _channelInactivityTimeoutPeriod = 1000 * 20; // 10 seconds + private final int _channelInactivityTimeoutPeriod; private Set _allowedPlayers; private ReadWriteLock _lock = new ReentrantReadWriteLock(); diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java index 6f497d577..483588ef0 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java @@ -74,7 +74,7 @@ public class HallServer extends AbstractServer { _collectionsManager = collectionsManager; _tournamentPrizeSchemeRegistry = tournamentPrizeSchemeRegistry; _pairingMechanismRegistry = pairingMechanismRegistry; - _hallChat = _chatServer.createChatRoom("Game Hall", true, 10); + _hallChat = _chatServer.createChatRoom("Game Hall", true, 15); _tournamentQueues.put("fotr_queue", new ImmediateRecurringQueue(635, "fotr_block", CollectionType.ALL_CARDS, "fotrQueue-", "Fellowship Block", 8,