You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tw...@apache.org on 2022/11/05 16:17:54 UTC
[mina-sshd] branch master updated: MinaSession: avoid synthetic accesses
This is an automated email from the ASF dual-hosted git repository.
twolf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
The following commit(s) were added to refs/heads/master by this push:
new bba481a9b MinaSession: avoid synthetic accesses
bba481a9b is described below
commit bba481a9bd7e52c4552f586dd10339e792df7f44
Author: Thomas Wolf <tw...@apache.org>
AuthorDate: Sat Nov 5 16:29:11 2022 +0100
MinaSession: avoid synthetic accesses
---
.../java/org/apache/sshd/mina/MinaSession.java | 74 ++++++++++++----------
1 file changed, 40 insertions(+), 34 deletions(-)
diff --git a/sshd-mina/src/main/java/org/apache/sshd/mina/MinaSession.java b/sshd-mina/src/main/java/org/apache/sshd/mina/MinaSession.java
index 93310e1bc..9fda615cf 100644
--- a/sshd-mina/src/main/java/org/apache/sshd/mina/MinaSession.java
+++ b/sshd-mina/src/main/java/org/apache/sshd/mina/MinaSession.java
@@ -126,40 +126,7 @@ public class MinaSession extends AbstractInnerCloseable implements IoSession {
@Override
protected Closeable getInnerCloseable() {
- return new IoBaseCloseable() {
- @SuppressWarnings("synthetic-access")
- private final DefaultCloseFuture future = new DefaultCloseFuture(MinaSession.this.toString(), futureLock);
-
- @SuppressWarnings("synthetic-access")
- @Override
- public boolean isClosing() {
- return session.isClosing();
- }
-
- @SuppressWarnings("synthetic-access")
- @Override
- public boolean isClosed() {
- return !session.isConnected();
- }
-
- @Override
- public void addCloseFutureListener(SshFutureListener<CloseFuture> listener) {
- future.addListener(listener);
- }
-
- @Override
- public void removeCloseFutureListener(SshFutureListener<CloseFuture> listener) {
- future.removeListener(listener);
- }
-
- @SuppressWarnings("synthetic-access")
- @Override
- public org.apache.sshd.common.future.CloseFuture close(boolean immediately) {
- org.apache.mina.core.future.CloseFuture cf = immediately ? session.closeNow() : session.closeOnFlush();
- cf.addListener(f -> future.setValue(Boolean.TRUE));
- return future;
- }
- };
+ return new IoSessionCloser(this.toString(), session, futureLock);
}
// NOTE !!! data buffer may NOT be re-used when method returns - at least until IoWriteFuture is signalled
@@ -219,6 +186,45 @@ public class MinaSession extends AbstractInnerCloseable implements IoSession {
session.closeOnFlush();
}
+ private static class IoSessionCloser extends IoBaseCloseable {
+
+ private final DefaultCloseFuture future;
+
+ private final org.apache.mina.core.session.IoSession session;
+
+ IoSessionCloser(String id, org.apache.mina.core.session.IoSession session, Object futureLock) {
+ this.session = session;
+ future = new DefaultCloseFuture(id, futureLock);
+ }
+
+ @Override
+ public boolean isClosing() {
+ return session.isClosing();
+ }
+
+ @Override
+ public boolean isClosed() {
+ return !session.isConnected();
+ }
+
+ @Override
+ public void addCloseFutureListener(SshFutureListener<CloseFuture> listener) {
+ future.addListener(listener);
+ }
+
+ @Override
+ public void removeCloseFutureListener(SshFutureListener<CloseFuture> listener) {
+ future.removeListener(listener);
+ }
+
+ @Override
+ public CloseFuture close(boolean immediately) {
+ org.apache.mina.core.future.CloseFuture cf = immediately ? session.closeNow() : session.closeOnFlush();
+ cf.addListener(f -> future.setValue(Boolean.TRUE));
+ return future;
+ }
+ }
+
@Override
public String toString() {
return getClass().getSimpleName()