From 86c7d95c80227f8ed1e314f8fbbe6725f9475d24 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Wed, 24 Jun 2020 10:05:02 +0800 Subject: [PATCH] --- .../redkale/net/TcpAioAsyncConnection.java | 2 +- .../redkale/net/UdpBioAsyncConnection.java | 2 +- ...rRunner.java => NioCompletionHandler.java} | 4 +- .../net/nio/TcpNioAsyncConnection.java | 121 ++++++++++++++++++ .../redkale/net/nio/TcpNioProtocolServer.java | 59 +++++++++ 5 files changed, 184 insertions(+), 4 deletions(-) rename src/org/redkale/net/nio/{CompletionHandlerRunner.java => NioCompletionHandler.java} (80%) create mode 100644 src/org/redkale/net/nio/TcpNioAsyncConnection.java create mode 100644 src/org/redkale/net/nio/TcpNioProtocolServer.java diff --git a/src/org/redkale/net/TcpAioAsyncConnection.java b/src/org/redkale/net/TcpAioAsyncConnection.java index c3305c62b..d39597423 100644 --- a/src/org/redkale/net/TcpAioAsyncConnection.java +++ b/src/org/redkale/net/TcpAioAsyncConnection.java @@ -22,7 +22,7 @@ import javax.net.ssl.SSLContext; * * @author zhangjx */ -public class TcpAioAsyncConnection extends AsyncConnection { +class TcpAioAsyncConnection extends AsyncConnection { //private final Semaphore semaphore = new Semaphore(1); private int readTimeoutSeconds; diff --git a/src/org/redkale/net/UdpBioAsyncConnection.java b/src/org/redkale/net/UdpBioAsyncConnection.java index 40b6d8fa0..b8b7736bd 100644 --- a/src/org/redkale/net/UdpBioAsyncConnection.java +++ b/src/org/redkale/net/UdpBioAsyncConnection.java @@ -21,7 +21,7 @@ import javax.net.ssl.SSLContext; * * @author zhangjx */ -public class UdpBioAsyncConnection extends AsyncConnection { +class UdpBioAsyncConnection extends AsyncConnection { private int readTimeoutSeconds; diff --git a/src/org/redkale/net/nio/CompletionHandlerRunner.java b/src/org/redkale/net/nio/NioCompletionHandler.java similarity index 80% rename from src/org/redkale/net/nio/CompletionHandlerRunner.java rename to src/org/redkale/net/nio/NioCompletionHandler.java index 8cbc0e649..cb3808d92 100644 --- a/src/org/redkale/net/nio/CompletionHandlerRunner.java +++ b/src/org/redkale/net/nio/NioCompletionHandler.java @@ -17,7 +17,7 @@ import java.util.concurrent.*; * * @since 2.1.0 */ -class CompletionHandlerRunner implements CompletionHandler, Runnable { +class NioCompletionHandler implements CompletionHandler, Runnable { private final CompletionHandler handler; @@ -25,7 +25,7 @@ class CompletionHandlerRunner implements CompletionHandler, Runna ScheduledFuture timeoutFuture; - public CompletionHandlerRunner(CompletionHandler handler, A attachment) { + public NioCompletionHandler(CompletionHandler handler, A attachment) { this.handler = handler; this.attachment = attachment; } diff --git a/src/org/redkale/net/nio/TcpNioAsyncConnection.java b/src/org/redkale/net/nio/TcpNioAsyncConnection.java new file mode 100644 index 000000000..1101ca3d5 --- /dev/null +++ b/src/org/redkale/net/nio/TcpNioAsyncConnection.java @@ -0,0 +1,121 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.redkale.net.nio; + +import java.net.*; +import java.nio.ByteBuffer; +import java.nio.channels.*; +import java.util.Set; +import java.util.function.*; +import javax.net.ssl.SSLContext; +import org.redkale.net.AsyncConnection; +import org.redkale.util.ObjectPool; + +/** + * + *

+ * 详情见: https://redkale.org + * + * @author zhangjx + * + * @since 2.1.0 + */ +class TcpNioAsyncConnection extends AsyncConnection { + + public TcpNioAsyncConnection(ObjectPool bufferPool, SSLContext sslContext) { + super(bufferPool, sslContext); + } + + public TcpNioAsyncConnection(Supplier bufferSupplier, Consumer bufferConsumer, SSLContext sslContext) { + super(bufferSupplier, bufferConsumer, sslContext); + } + + @Override + public boolean isOpen() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean isTCP() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean shutdownInput() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean shutdownOutput() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean setOption(SocketOption name, T value) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public Set> supportedOptions() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketAddress getRemoteAddress() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketAddress getLocalAddress() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public int getReadTimeoutSeconds() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public int getWriteTimeoutSeconds() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void setReadTimeoutSeconds(int readTimeoutSeconds) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void setWriteTimeoutSeconds(int writeTimeoutSeconds) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public ReadableByteChannel readableByteChannel() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void read(CompletionHandler handler) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public WritableByteChannel rritableByteChannel() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void write(ByteBuffer src, A attachment, CompletionHandler handler) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void write(ByteBuffer[] srcs, int offset, int length, A attachment, CompletionHandler handler) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + +} diff --git a/src/org/redkale/net/nio/TcpNioProtocolServer.java b/src/org/redkale/net/nio/TcpNioProtocolServer.java new file mode 100644 index 000000000..5daf3a68c --- /dev/null +++ b/src/org/redkale/net/nio/TcpNioProtocolServer.java @@ -0,0 +1,59 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.redkale.net.nio; + +import java.io.IOException; +import java.net.*; +import java.util.Set; +import org.redkale.net.*; +import org.redkale.util.AnyValue; + +/** + * + *

+ * 详情见: https://redkale.org + * + * @author zhangjx + * + * @since 2.1.0 + */ +public class TcpNioProtocolServer extends ProtocolServer { + + public TcpNioProtocolServer(Context context) { + super(context); + } + + @Override + public void open(AnyValue config) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void bind(SocketAddress local, int backlog) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public Set> supportedOptions() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void setOption(SocketOption name, T value) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void accept(Server server) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void close() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + +}