From 39be97a4d62c4ac0a6bd3212a35f874c71fb5b70 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Wed, 7 Sep 2011 15:55:03 +0100
Subject: [PATCH] Order sendable messages by timestamp. Also fixed some
 comments.

---
 api/net/sf/briar/api/protocol/writers/AckWriter.java |  2 +-
 .../sf/briar/api/protocol/writers/BatchWriter.java   |  2 +-
 .../sf/briar/api/protocol/writers/OfferWriter.java   |  2 +-
 components/net/sf/briar/db/JdbcDatabase.java         | 12 +++++-------
 .../net/sf/briar/protocol/writers/ConstantsTest.java |  4 ++--
 5 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/api/net/sf/briar/api/protocol/writers/AckWriter.java b/api/net/sf/briar/api/protocol/writers/AckWriter.java
index c362a60577..237a487ab9 100644
--- a/api/net/sf/briar/api/protocol/writers/AckWriter.java
+++ b/api/net/sf/briar/api/protocol/writers/AckWriter.java
@@ -4,7 +4,7 @@ import java.io.IOException;
 
 import net.sf.briar.api.protocol.BatchId;
 
-/** An interface for creating an ack. */
+/** An interface for creating an ack packet. */
 public interface AckWriter {
 
 	/**
diff --git a/api/net/sf/briar/api/protocol/writers/BatchWriter.java b/api/net/sf/briar/api/protocol/writers/BatchWriter.java
index 62e150dedc..b105b249aa 100644
--- a/api/net/sf/briar/api/protocol/writers/BatchWriter.java
+++ b/api/net/sf/briar/api/protocol/writers/BatchWriter.java
@@ -4,7 +4,7 @@ import java.io.IOException;
 
 import net.sf.briar.api.protocol.BatchId;
 
-/** An interface for creating a batch of messages. */
+/** An interface for creating a batch packet. */
 public interface BatchWriter {
 
 	/** Returns the capacity of the batch in bytes. */
diff --git a/api/net/sf/briar/api/protocol/writers/OfferWriter.java b/api/net/sf/briar/api/protocol/writers/OfferWriter.java
index 6f89b3b87f..9a5b945ae6 100644
--- a/api/net/sf/briar/api/protocol/writers/OfferWriter.java
+++ b/api/net/sf/briar/api/protocol/writers/OfferWriter.java
@@ -5,7 +5,7 @@ import java.io.IOException;
 import net.sf.briar.api.protocol.MessageId;
 import net.sf.briar.api.protocol.OfferId;
 
-/** An interface for creating a have notification. */
+/** An interface for creating an offer packet. */
 public interface OfferWriter {
 
 	/**
diff --git a/components/net/sf/briar/db/JdbcDatabase.java b/components/net/sf/briar/db/JdbcDatabase.java
index 4f1d3bfd60..c242372f6e 100644
--- a/components/net/sf/briar/db/JdbcDatabase.java
+++ b/components/net/sf/briar/db/JdbcDatabase.java
@@ -1144,8 +1144,8 @@ abstract class JdbcDatabase implements Database<Connection> {
 				+ " AND visibilities.contactId = ?"
 				+ " AND statuses.contactId = ?"
 				+ " AND timestamp >= start"
-				+ " AND status = ? AND sendability > ZERO()";
-			// FIXME: Investigate the performance impact of "ORDER BY timestamp"
+				+ " AND status = ? AND sendability > ZERO()"
+				+ " ORDER BY timestamp";
 			ps = txn.prepareStatement(sql);
 			ps.setInt(1, c.getInt());
 			ps.setInt(2, c.getInt());
@@ -1162,11 +1162,9 @@ abstract class JdbcDatabase implements Database<Connection> {
 			}
 			rs.close();
 			ps.close();
-			if(!ids.isEmpty()) {
-				if(LOG.isLoggable(Level.FINE))
-					LOG.fine(ids.size() + " sendable messages, " + total
-							+ " bytes");
-			}
+			if(LOG.isLoggable(Level.FINE))
+				LOG.fine(ids.size() + " sendable messages, " + total + "/" +
+						capacity + " bytes");
 			return ids;
 		} catch(SQLException e) {
 			tryToClose(rs);
diff --git a/test/net/sf/briar/protocol/writers/ConstantsTest.java b/test/net/sf/briar/protocol/writers/ConstantsTest.java
index 195b8f6149..1a57de9113 100644
--- a/test/net/sf/briar/protocol/writers/ConstantsTest.java
+++ b/test/net/sf/briar/protocol/writers/ConstantsTest.java
@@ -68,7 +68,7 @@ public class ConstantsTest extends TestCase {
 		// Check that no more batch IDs can be written
 		assertFalse(a.writeBatchId(new BatchId(TestUtils.getRandomId())));
 		a.finish();
-		// Check the size of the ack
+		// Check the size of the serialised ack
 		assertTrue(out.size() > UniqueId.LENGTH * Ack.MAX_IDS_PER_ACK);
 		assertTrue(out.size() <= ProtocolConstants.MAX_PACKET_LENGTH);
 	}
@@ -117,7 +117,7 @@ public class ConstantsTest extends TestCase {
 		// Check that no more message IDs can be written
 		assertFalse(o.writeMessageId(new MessageId(TestUtils.getRandomId())));
 		o.finish();
-		// Check the size of the offer
+		// Check the size of the serialised offer
 		assertTrue(out.size() > UniqueId.LENGTH * Offer.MAX_IDS_PER_OFFER);
 		assertTrue(out.size() <= ProtocolConstants.MAX_PACKET_LENGTH);
 	}
-- 
GitLab