aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/protocol/irc
diff options
context:
space:
mode:
authorDanny van Heumen <danny@dannyvanheumen.nl>2015-02-09 23:55:20 +0100
committerDanny van Heumen <danny@dannyvanheumen.nl>2015-03-13 19:35:54 +0100
commitf9be5938d1e815a69e50fda1b6b544008e29a922 (patch)
tree39b6196968036882f93034642e280eef37359772 /src/net/java/sip/communicator/impl/protocol/irc
parentbf29d045405a83f54804b00616b58cf1522f1ab9 (diff)
downloadjitsi-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.java21
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.