diff --git a/core/java/src/net/i2p/util/ReusableGZIPInputStream.java b/core/java/src/net/i2p/util/ReusableGZIPInputStream.java index 4a0b392bac6f49010362b51b71d108101c3f766a..a7f50542e6aa718d4313b484c65e68fe4689f005 100644 --- a/core/java/src/net/i2p/util/ReusableGZIPInputStream.java +++ b/core/java/src/net/i2p/util/ReusableGZIPInputStream.java @@ -43,6 +43,15 @@ public class ReusableGZIPInputStream extends ResettableGZIPInputStream { private ReusableGZIPInputStream() { super(); } + /** + * Clear the cache. + * @since 0.9.21 + */ + public static void clearCache() { + if (_available != null) + _available.clear(); + } + /******* public static void main(String args[]) { for (int i = 0; i < 2; i++) diff --git a/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java b/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java index 3c239ffc7d5de1dc968ed411c95293c9f1f9f86a..aa670a9ef6f37fb6bbc59f9b0aa6b07e884bbe70 100644 --- a/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java +++ b/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java @@ -75,6 +75,15 @@ public class ReusableGZIPOutputStream extends ResettableGZIPOutputStream { /** pull the contents of the stream written */ public byte[] getData() { return _buffer.toByteArray(); } + /** + * Clear the cache. + * @since 0.9.21 + */ + public static void clearCache() { + if (_available != null) + _available.clear(); + } + /****** public static void main(String args[]) { try { diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index 1fe00dbd453d5917eef7fb612d38d11f729ebfd6..68621597e741205c20279a281873f89e677d088f 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -52,6 +52,8 @@ import net.i2p.util.I2PThread; import net.i2p.util.Log; import net.i2p.util.NativeBigInteger; import net.i2p.util.OrderedProperties; +import net.i2p.util.ReusableGZIPInputStream; +import net.i2p.util.ReusableGZIPOutputStream; import net.i2p.util.SecureFileOutputStream; import net.i2p.util.SimpleByteCache; import net.i2p.util.SystemVersion; @@ -420,6 +422,8 @@ public class Router implements RouterClock.ClockShiftListener { SigningPublicKey.clearCache(); SigUtil.clearCaches(); I2PSessionImpl.clearCache(); + ReusableGZIPInputStream.clearCache(); + ReusableGZIPOutputStream.clearCache(); } /**