added config option to be a bit more verbose about stanza counts

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/Config.java              |  1 
src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java | 18 +++-
2 files changed, 15 insertions(+), 4 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/Config.java 🔗

@@ -28,6 +28,7 @@ public final class Config {
 
 	public static final boolean NO_PROXY_LOOKUP = false; //useful to debug ibb
 	public static final boolean DISABLE_STRING_PREP = false; // setting to true might increase startup performance
+	public static final boolean EXTENDED_SM_LOGGING = false; // log stanza counts
 
 	public static final long MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;
 	public static final long MAM_MAX_CATCHUP =  MILLISECONDS_IN_DAY / 2;

src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java 🔗

@@ -339,12 +339,18 @@ public class XmppConnection implements Runnable {
 								sendInitialPing();
 							} else if (nextTag.isStart("r")) {
 								tagReader.readElement(nextTag);
+								if (Config.EXTENDED_SM_LOGGING) {
+									Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": acknowledging stanza #" + this.stanzasReceived);
+								}
 								final AckPacket ack = new AckPacket(this.stanzasReceived, smVersion);
 								tagWriter.writeStanzaAsync(ack);
 							} else if (nextTag.isStart("a")) {
 								final Element ack = tagReader.readElement(nextTag);
 								lastPacketReceived = SystemClock.elapsedRealtime();
 								final int serverSequence = Integer.parseInt(ack.getAttribute("h"));
+								if (Config.EXTENDED_SM_LOGGING) {
+									Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": server acknowledged stanza #" + serverSequence);
+								}
 								final String msgId = this.messageReceipts.get(serverSequence);
 								if (msgId != null) {
 									if (this.acknowledgedListener != null) {
@@ -598,8 +604,10 @@ public class XmppConnection implements Runnable {
 		} else if (this.streamFeatures.hasChild("sm", "urn:xmpp:sm:"
 					+ smVersion)
 				&& streamId != null) {
-			final ResumePacket resume = new ResumePacket(this.streamId,
-					stanzasReceived, smVersion);
+			if (Config.EXTENDED_SM_LOGGING) {
+				Log.d(Config.LOGTAG,account.getJid().toBareJid()+": resuming after stanza #"+stanzasReceived);
+			}
+			final ResumePacket resume = new ResumePacket(this.streamId, stanzasReceived, smVersion);
 			this.tagWriter.writeStanzaAsync(resume);
 		} else if (this.streamFeatures.hasChild("bind") && shouldBind) {
 			sendBindRequest();
@@ -787,7 +795,7 @@ public class XmppConnection implements Runnable {
 			sendEnableCarbons();
 		}
 		if (getFeatures().blocking() && !features.blockListRequested) {
-			Log.d(Config.LOGTAG, "Requesting block list");
+			Log.d(Config.LOGTAG,account.getJid().toBareJid()+": Requesting block list");
 			this.sendIqPacket(getIqGenerator().generateGetBlockList(), mXmppConnectionService.getIqParser());
 		}
 	}
@@ -894,7 +902,9 @@ public class XmppConnection implements Runnable {
 		}
 		tagWriter.writeStanzaAsync(packet);
 		if (packet instanceof MessagePacket && packet.getId() != null && this.streamId != null) {
-			Log.d(Config.LOGTAG, "request delivery report for stanza " + stanzasSent);
+			if (Config.EXTENDED_SM_LOGGING) {
+				Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": requesting ack for message stanza #" + stanzasSent);
+			}
 			this.messageReceipts.put(stanzasSent, packet.getId());
 			tagWriter.writeStanzaAsync(new RequestPacket(this.smVersion));
 		}