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 = "";