You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jo...@apache.org on 2021/08/02 03:40:52 UTC
[mina] 07/15: Fix for ssl2 request backlog
This is an automated email from the ASF dual-hosted git repository.
johnnyv pushed a commit to branch bugfix/DIRMINA1132
in repository https://gitbox.apache.org/repos/asf/mina.git
commit 81272b9aea790447e126036773a94deb71373bae
Author: Jonathan Valliere <jo...@emoten.com>
AuthorDate: Sat Jul 24 12:00:07 2021 -0400
Fix for ssl2 request backlog
---
.../java/org/apache/mina/filter/ssl2/SSL2Filter.java | 2 ++
.../java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java | 17 +++++++++++++++--
.../org/apache/mina/filter/ssl2/SSL2SimpleTest.java | 12 ++++++------
3 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
index 8bd9fa4..052f806 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
@@ -211,6 +211,8 @@ public class SSL2Filter extends IoFilterAdapter {
}
x.open(next);
+
+ super.sessionOpened(next, session);
}
@Override
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java
index 86d8d23..803927f 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java
@@ -119,8 +119,21 @@ public class SSL2HandlerG0 extends SSL2Handler {
LOGGER.debug("{} write() - source {}", toString(), request);
}
- this.mWriteQueue.add(request);
- this.lflush(next);
+ if (this.mWriteQueue.isEmpty()) {
+ if (lwrite(next, request) == false) {
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.debug("{} write() - unable to write right now, saving request for later", toString(), request);
+ }
+
+ this.mWriteQueue.add(request);
+ }
+ } else {
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.debug("{} write() - unable to write right now, saving request for later", toString(), request);
+ }
+
+ this.mWriteQueue.add(request);
+ }
}
/**
diff --git a/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java b/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java
index 88e92b5..beb6577 100644
--- a/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java
+++ b/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java
@@ -71,16 +71,16 @@ public class SSL2SimpleTest {
final IoSession client_socket = connect_future.getSession();
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
-
- }
+// try {
+// Thread.sleep(1000);
+// } catch (InterruptedException e) {
+//
+// }
client_socket.write(createWriteRequest());
try {
- Thread.sleep(100);
+ Thread.sleep(2000);
} catch (InterruptedException e) {
}