diff options
author | Danny van Heumen <danny@dannyvanheumen.nl> | 2015-02-09 23:55:20 +0100 |
---|---|---|
committer | Danny van Heumen <danny@dannyvanheumen.nl> | 2015-03-13 19:35:54 +0100 |
commit | f9be5938d1e815a69e50fda1b6b544008e29a922 (patch) | |
tree | 39b6196968036882f93034642e280eef37359772 /src/net/java/sip/communicator/impl/protocol/irc | |
parent | bf29d045405a83f54804b00616b58cf1522f1ab9 (diff) | |
download | jitsi-f9be5938d1e815a69e50fda1b6b544008e29a922.zip jitsi-f9be5938d1e815a69e50fda1b6b544008e29a922.tar.gz jitsi-f9be5938d1e815a69e50fda1b6b544008e29a922.tar.bz2 |
Now computes maximum command size + formatting.
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/irc')
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/irc/MonitorPresenceWatcher.java | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/irc/MonitorPresenceWatcher.java b/src/net/java/sip/communicator/impl/protocol/irc/MonitorPresenceWatcher.java index edfa311..7001c61 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/MonitorPresenceWatcher.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/MonitorPresenceWatcher.java @@ -23,6 +23,11 @@ class MonitorPresenceWatcher implements PresenceWatcher { /** + * Static overhead in message payload required for 'MONITOR +' command. + */ + private static final int MONITOR_ADD_CMD_STATIC_OVERHEAD = 10; + + /** * Logger. */ private static final Logger LOGGER = Logger @@ -52,7 +57,8 @@ class MonitorPresenceWatcher * @param operationSet the persistent presence operation set */ MonitorPresenceWatcher(final IRCApi irc, final IIRCState connectionState, - final SortedSet<String> nickWatchList, final OperationSetPersistentPresenceIrcImpl operationSet) + final SortedSet<String> nickWatchList, + final OperationSetPersistentPresenceIrcImpl operationSet) { if (irc == null) { @@ -61,7 +67,8 @@ class MonitorPresenceWatcher this.irc = irc; if (connectionState == null) { - throw new IllegalArgumentException("connectionState cannot be null"); + throw new IllegalArgumentException( + "connectionState cannot be null"); } this.connectionState = connectionState; if (nickWatchList == null) @@ -82,15 +89,15 @@ class MonitorPresenceWatcher * Created a static method as not to interfere too much with a state that is * still being initialized. */ - private static void setUpMonitor(final IRCApi irc, final SortedSet<String> nickWatchList) + private static void setUpMonitor(final IRCApi irc, + final SortedSet<String> nickWatchList) { final List<String> current; synchronized (nickWatchList) { current = new LinkedList<String>(nickWatchList); } - // FIXME compute actual limit - final int maxLength = 400; + final int maxLength = 510 - MONITOR_ADD_CMD_STATIC_OVERHEAD; final StringBuilder query = new StringBuilder(); for (String nick : current) { @@ -136,8 +143,6 @@ class MonitorPresenceWatcher * monitoredNickList, since irc-api will do all listener calling, but still, * it couldn't hurt ... much. * - * FIXME upon QUIT/ERROR/CLIENTERROR updateAll monitored OFFLINE - * * @author Danny van Heumen */ private final class MonitorReplyListener @@ -174,7 +179,7 @@ class MonitorPresenceWatcher */ private final SortedSet<String> monitoredNickList; - // TODO Update to act on ClientError once available. + // TODO Update to act on onClientError once available. /** * Constructor. |