From 7715e6484cbcd11d417d14022e837226170b4194 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 30 May 2015 11:18:04 +0000
Subject: [PATCH] Router: Add gzip caches to clearCaches()

---
 core/java/src/net/i2p/util/ReusableGZIPInputStream.java  | 9 +++++++++
 core/java/src/net/i2p/util/ReusableGZIPOutputStream.java | 9 +++++++++
 router/java/src/net/i2p/router/Router.java               | 4 ++++
 3 files changed, 22 insertions(+)

diff --git a/core/java/src/net/i2p/util/ReusableGZIPInputStream.java b/core/java/src/net/i2p/util/ReusableGZIPInputStream.java
index 4a0b392bac..a7f50542e6 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 3c239ffc7d..aa670a9ef6 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 1fe00dbd45..68621597e7 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();
     }
 
     /**
-- 
GitLab