public abstract class AsyncConnection
extends java.lang.Object
implements java.nio.channels.AsynchronousByteChannel, java.lang.AutoCloseable
详情见: http://redkale.org
| 限定符和类型 | 字段和说明 |
|---|---|
protected java.util.Map<java.lang.String,java.lang.Object> |
attributes |
protected java.lang.Object |
subobject |
| 构造器和说明 |
|---|
AsyncConnection() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
clearAttribute() |
void |
close() |
static AsyncConnection |
create(java.nio.channels.AsynchronousSocketChannel ch) |
static AsyncConnection |
create(java.nio.channels.AsynchronousSocketChannel ch,
java.net.SocketAddress addr0,
int readTimeoutSecond0,
int writeTimeoutSecond0) |
static AsyncConnection |
create(java.nio.channels.DatagramChannel ch,
java.net.SocketAddress addr,
boolean client0,
int readTimeoutSecond0,
int writeTimeoutSecond0) |
static AsyncConnection |
create(java.net.Socket socket)
通常用于 ssl socket
|
static AsyncConnection |
create(java.net.Socket socket,
java.net.SocketAddress addr0,
int readTimeoutSecond0,
int writeTimeoutSecond0) |
static AsyncConnection |
create(java.lang.String protocol,
java.nio.channels.AsynchronousChannelGroup group,
java.net.SocketAddress address) |
static AsyncConnection |
create(java.lang.String protocol,
java.nio.channels.AsynchronousChannelGroup group,
java.net.SocketAddress address,
int readTimeoutSecond0,
int writeTimeoutSecond0)
创建客户端连接
|
void |
dispose() |
<T> T |
getAttribute(java.lang.String name) |
java.util.Map<java.lang.String,java.lang.Object> |
getAttributes() |
abstract java.net.SocketAddress |
getLocalAddress() |
abstract int |
getReadTimeoutSecond() |
abstract java.net.SocketAddress |
getRemoteAddress() |
<T> T |
getSubobject() |
abstract int |
getWriteTimeoutSecond() |
abstract boolean |
isTCP() |
void |
removeAttribute(java.lang.String name) |
void |
setAttribute(java.lang.String name,
java.lang.Object value) |
abstract void |
setReadTimeoutSecond(int readTimeoutSecond) |
void |
setSubobject(java.lang.Object value) |
abstract void |
setWriteTimeoutSecond(int writeTimeoutSecond) |
<A> void |
write(java.nio.ByteBuffer[] srcs,
A attachment,
java.nio.channels.CompletionHandler<java.lang.Integer,? super A> handler) |
protected abstract <A> void |
write(java.nio.ByteBuffer[] srcs,
int offset,
int length,
A attachment,
java.nio.channels.CompletionHandler<java.lang.Integer,? super A> handler) |
protected java.util.Map<java.lang.String,java.lang.Object> attributes
protected java.lang.Object subobject
public abstract boolean isTCP()
public abstract java.net.SocketAddress getRemoteAddress()
public abstract java.net.SocketAddress getLocalAddress()
public abstract int getReadTimeoutSecond()
public abstract int getWriteTimeoutSecond()
public abstract void setReadTimeoutSecond(int readTimeoutSecond)
public abstract void setWriteTimeoutSecond(int writeTimeoutSecond)
public final <A> void write(java.nio.ByteBuffer[] srcs,
A attachment,
java.nio.channels.CompletionHandler<java.lang.Integer,? super A> handler)
protected abstract <A> void write(java.nio.ByteBuffer[] srcs,
int offset,
int length,
A attachment,
java.nio.channels.CompletionHandler<java.lang.Integer,? super A> handler)
public void dispose()
public void close()
throws java.io.IOException
close 在接口中 java.io.Closeableclose 在接口中 java.lang.AutoCloseableclose 在接口中 java.nio.channels.AsynchronousChannelclose 在接口中 java.nio.channels.Channeljava.io.IOExceptionpublic final <T> T getSubobject()
public void setSubobject(java.lang.Object value)
public void setAttribute(java.lang.String name,
java.lang.Object value)
public final <T> T getAttribute(java.lang.String name)
public final void removeAttribute(java.lang.String name)
public final java.util.Map<java.lang.String,java.lang.Object> getAttributes()
public final void clearAttribute()
public static AsyncConnection create(java.lang.String protocol, java.nio.channels.AsynchronousChannelGroup group, java.net.SocketAddress address) throws java.io.IOException
java.io.IOExceptionpublic static AsyncConnection create(java.lang.String protocol, java.nio.channels.AsynchronousChannelGroup group, java.net.SocketAddress address, int readTimeoutSecond0, int writeTimeoutSecond0) throws java.io.IOException
protocol - 连接类型 只能是TCP或UDPaddress - 连接点子group - 连接AsynchronousChannelGroupreadTimeoutSecond0 - 读取超时秒数writeTimeoutSecond0 - 写入超时秒数java.io.IOException - 异常public static AsyncConnection create(java.nio.channels.DatagramChannel ch, java.net.SocketAddress addr, boolean client0, int readTimeoutSecond0, int writeTimeoutSecond0)
public static AsyncConnection create(java.net.Socket socket)
socket - Socket对象public static AsyncConnection create(java.net.Socket socket, java.net.SocketAddress addr0, int readTimeoutSecond0, int writeTimeoutSecond0)
public static AsyncConnection create(java.nio.channels.AsynchronousSocketChannel ch)
public static AsyncConnection create(java.nio.channels.AsynchronousSocketChannel ch, java.net.SocketAddress addr0, int readTimeoutSecond0, int writeTimeoutSecond0)