From 601abdce6dba68276f24fdd1661f3d419ae41335 Mon Sep 17 00:00:00 2001
From: zzz
Date: Mon, 29 Nov 2010 15:39:55 +0000
Subject: [PATCH] Lock down streaming classes not in the API. Holler if this
breaks any external apps.
---
.../src/net/i2p/client/streaming/I2PSocketOptionsImpl.java | 2 +-
.../java/src/net/i2p/client/streaming/Connection.java | 4 ++--
.../java/src/net/i2p/client/streaming/ConnectionHandler.java | 2 +-
.../java/src/net/i2p/client/streaming/ConnectionManager.java | 2 +-
.../java/src/net/i2p/client/streaming/ConnectionOptions.java | 2 +-
.../net/i2p/client/streaming/ConnectionPacketHandler.java | 2 +-
.../src/net/i2p/client/streaming/I2PServerSocketFull.java | 2 +-
.../java/src/net/i2p/client/streaming/I2PSocketFull.java | 2 +-
.../src/net/i2p/client/streaming/I2PSocketManagerFull.java | 2 +-
.../java/src/net/i2p/client/streaming/MessageHandler.java | 2 +-
.../src/net/i2p/client/streaming/MessageInputStream.java | 2 +-
.../src/net/i2p/client/streaming/MessageOutputStream.java | 2 +-
apps/streaming/java/src/net/i2p/client/streaming/Packet.java | 2 +-
.../java/src/net/i2p/client/streaming/PacketHandler.java | 2 +-
.../java/src/net/i2p/client/streaming/PacketLocal.java | 2 +-
.../java/src/net/i2p/client/streaming/PacketQueue.java | 2 +-
.../src/net/i2p/client/streaming/RetransmissionTimer.java | 5 ++++-
.../java/src/net/i2p/client/streaming/SchedulerChooser.java | 2 +-
.../java/src/net/i2p/client/streaming/TCBShare.java | 2 +-
history.txt | 1 +
router/java/src/net/i2p/router/RouterVersion.java | 2 +-
21 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketOptionsImpl.java b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketOptionsImpl.java
index 4ecf34d6a..b1fedcea7 100644
--- a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketOptionsImpl.java
+++ b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketOptionsImpl.java
@@ -6,7 +6,7 @@ import java.util.Properties;
* Define the configuration for streaming and verifying data on the socket.
*
*/
-public class I2PSocketOptionsImpl implements I2PSocketOptions {
+class I2PSocketOptionsImpl implements I2PSocketOptions {
private long _connectTimeout;
private long _readTimeout;
private long _writeTimeout;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java
index 20b1a0f01..239c77d1b 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java
@@ -22,7 +22,7 @@ import net.i2p.util.SimpleTimer2;
* destinations.
*
*/
-public class Connection {
+class Connection {
private I2PAppContext _context;
private Log _log;
private ConnectionManager _connectionManager;
@@ -1067,7 +1067,7 @@ public class Connection {
/**
* Coordinate the resends of a given packet
*/
- public class ResendPacketEvent extends SimpleTimer2.TimedEvent {
+ class ResendPacketEvent extends SimpleTimer2.TimedEvent {
private PacketLocal _packet;
private long _nextSendTime;
public ResendPacketEvent(PacketLocal packet, long delay) {
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java
index ba801ae95..6ba876dd9 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java
@@ -17,7 +17,7 @@ import net.i2p.util.SimpleTimer;
*
* @author zzz modded to use concurrent and bound queue size
*/
-public class ConnectionHandler {
+class ConnectionHandler {
private I2PAppContext _context;
private Log _log;
private ConnectionManager _manager;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionManager.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionManager.java
index 630d84422..69ace81a2 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionManager.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionManager.java
@@ -20,7 +20,7 @@ import net.i2p.util.SimpleTimer;
*
*
*/
-public class ConnectionManager {
+class ConnectionManager {
private I2PAppContext _context;
private Log _log;
private I2PSession _session;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java
index 72eb38e60..ae14daa15 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java
@@ -15,7 +15,7 @@ import net.i2p.util.Log;
* Define the current options for the con (and allow custom tweaking midstream)
*
*/
-public class ConnectionOptions extends I2PSocketOptionsImpl {
+class ConnectionOptions extends I2PSocketOptionsImpl {
private int _connectDelay;
private boolean _fullySigned;
private boolean _answerPings;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionPacketHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionPacketHandler.java
index e4a8efbc0..aafc7fbcd 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionPacketHandler.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionPacketHandler.java
@@ -14,7 +14,7 @@ import net.i2p.util.SimpleTimer;
* queue, marking packets as acked, updating various fields, etc.
*
*/
-public class ConnectionPacketHandler {
+class ConnectionPacketHandler {
private I2PAppContext _context;
private Log _log;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/I2PServerSocketFull.java b/apps/streaming/java/src/net/i2p/client/streaming/I2PServerSocketFull.java
index 83f7c8376..262b49624 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/I2PServerSocketFull.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/I2PServerSocketFull.java
@@ -7,7 +7,7 @@ import net.i2p.I2PException;
* Bridge to allow accepting new connections
*
*/
-public class I2PServerSocketFull implements I2PServerSocket {
+class I2PServerSocketFull implements I2PServerSocket {
private I2PSocketManagerFull _socketManager;
public I2PServerSocketFull(I2PSocketManagerFull mgr) {
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketFull.java b/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketFull.java
index 19867ed06..dfcfacfa1 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketFull.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketFull.java
@@ -10,7 +10,7 @@ import net.i2p.data.Destination;
* Bridge between the full streaming lib and the I2PSocket API
*
*/
-public class I2PSocketFull implements I2PSocket {
+class I2PSocketFull implements I2PSocket {
private Connection _connection;
private I2PSocket.SocketErrorListener _listener;
private Destination _remotePeer;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java b/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java
index c26a27fe2..f71067698 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java
@@ -23,7 +23,7 @@ import net.i2p.util.Log;
* or receive any messages with its .receiveMessage
*
*/
-public class I2PSocketManagerFull implements I2PSocketManager {
+class I2PSocketManagerFull implements I2PSocketManager {
private I2PAppContext _context;
private Log _log;
private I2PSession _session;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java
index cfd208c01..4097c568f 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java
@@ -15,7 +15,7 @@ import net.i2p.util.ConcurrentHashSet;
* Packets, if we can.
*
*/
-public class MessageHandler implements I2PSessionListener {
+class MessageHandler implements I2PSessionListener {
private ConnectionManager _manager;
private I2PAppContext _context;
private Log _log;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java b/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java
index 216a2cdf4..883fc332c 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java
@@ -19,7 +19,7 @@ import net.i2p.util.Log;
* yet present them in order.
*
*/
-public class MessageInputStream extends InputStream {
+class MessageInputStream extends InputStream {
private final I2PAppContext _context;
private final Log _log;
/**
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java b/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java
index ed45972be..e61435680 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java
@@ -15,7 +15,7 @@ import net.i2p.util.SimpleTimer2;
* on flush or when the buffer is full. It also blocks according
* to the data receiver's needs.
*/
-public class MessageOutputStream extends OutputStream {
+class MessageOutputStream extends OutputStream {
private final I2PAppContext _context;
private final Log _log;
private byte _buf[];
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/Packet.java b/apps/streaming/java/src/net/i2p/client/streaming/Packet.java
index 14ebb61d5..faff2ff72 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/Packet.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/Packet.java
@@ -53,7 +53,7 @@ import net.i2p.util.Log;
* packet that should not be ACKed
*
*/
-public class Packet {
+class Packet {
private long _sendStreamId;
private long _receiveStreamId;
private long _sequenceNum;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java
index 95674b433..bcf5610ef 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java
@@ -15,7 +15,7 @@ import net.i2p.util.Log;
* the server socket, or queue a reply RST packet.
*
*/
-public class PacketHandler {
+class PacketHandler {
private ConnectionManager _manager;
private I2PAppContext _context;
private Log _log;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java b/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java
index cbe913e05..dd5fe1ceb 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java
@@ -12,7 +12,7 @@ import net.i2p.util.SimpleTimer2;
* coordinate local attributes about a packet - send time, ack time, number of
* retries, etc.
*/
-public class PacketLocal extends Packet implements MessageOutputStream.WriteStatus {
+class PacketLocal extends Packet implements MessageOutputStream.WriteStatus {
private I2PAppContext _context;
private Log _log;
private Connection _connection;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/PacketQueue.java b/apps/streaming/java/src/net/i2p/client/streaming/PacketQueue.java
index 8a4692ada..fa0aa87ce 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/PacketQueue.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/PacketQueue.java
@@ -18,7 +18,7 @@ import net.i2p.util.Log;
* mode=bestEffort doesnt block in the SDK.
*
*/
-public class PacketQueue {
+class PacketQueue {
private I2PAppContext _context;
private Log _log;
private I2PSession _session;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/RetransmissionTimer.java b/apps/streaming/java/src/net/i2p/client/streaming/RetransmissionTimer.java
index 92c4cf1c2..6f3bc3054 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/RetransmissionTimer.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/RetransmissionTimer.java
@@ -3,7 +3,10 @@ package net.i2p.client.streaming;
import net.i2p.util.SimpleTimer2;
/**
- *
+ * Not clear that we really need to create our own timer group, but we do,
+ * to prevent us clogging the router's timer group.
+ * Use from outside this package is deprecated.
+ * (BOB instantiates this for thread group reasons)
*/
public class RetransmissionTimer extends SimpleTimer2 {
private static final RetransmissionTimer _instance = new RetransmissionTimer();
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/SchedulerChooser.java b/apps/streaming/java/src/net/i2p/client/streaming/SchedulerChooser.java
index 2c8f5df01..c9c9e0d38 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/SchedulerChooser.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/SchedulerChooser.java
@@ -10,7 +10,7 @@ import net.i2p.util.Log;
* Examine a connection's state and pick the right scheduler for it.
*
*/
-public class SchedulerChooser {
+class SchedulerChooser {
private I2PAppContext _context;
private Log _log;
private TaskScheduler _nullScheduler;
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/TCBShare.java b/apps/streaming/java/src/net/i2p/client/streaming/TCBShare.java
index 7c8df3e3e..d2d02021a 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/TCBShare.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/TCBShare.java
@@ -20,7 +20,7 @@ import net.i2p.util.SimpleTimer2;
* same router.
*
*/
-public class TCBShare {
+class TCBShare {
private I2PAppContext _context;
private Log _log;
private Map _cache;
diff --git a/history.txt b/history.txt
index a2df68cb1..d0fc2aba1 100644
--- a/history.txt
+++ b/history.txt
@@ -8,6 +8,7 @@
in logger.config to get system default format)
- Force RuntimeExceptions to CRIT level
- Don't have log() count buffer size
+ * Streaming: Make all classes outside the API package private
* UDP:
- Fix bug causing PacketPusher to loop quickly instead of sleeping
- Fix udp.sendCycleTime stat
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 31c35f8c3..ea17ad55f 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
- public final static long BUILD = 14;
+ public final static long BUILD = 15;
/** for example "-test" */
public final static String EXTRA = "";