Package org.aoju.bus.socket
Class AioQuickServer
java.lang.Object
org.aoju.bus.socket.AioQuickServer
AIO服务端
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
ConstructorsConstructorDescriptionAioQuickServer(int port, Protocol<T> protocol, MessageProcessor<T> messageProcessor) 设置服务端启动必要参数配置AioQuickServer(String host, int port, Protocol<T> protocol, MessageProcessor<T> messageProcessor) -
Method Summary
Modifier and TypeMethodDescriptionsetAioEnhance(boolean enabled) 是否启用 AIO 增强模式默认:truesetBacklog(int backlog) 设置 backlog 大小setBufferFactory(BufferFactory bufferFactory) 设置内存池的构造工厂 通过工厂形式生成的内存池会强绑定到当前AioQuickServer对象, 在AioQuickServer执行shutdown时会释放内存池 在启用内存池的情况下会有更好的性能表现setBufferPagePool(BufferPool bufferPool) 设置内存池 通过该方法设置的内存池,在AioQuickServer执行shutdown时不会触发内存池的释放 该方法适用于多个AioQuickServer、AioQuickClient共享内存池的场景 在启用内存池的情况下会有更好的性能表现setLowMemory(boolean lowMemory) <V> AioQuickServersetOption(SocketOption<V> socketOption, V value) 设置Socket的TCP参数配置setReadBufferFactory(VirtualFactory readBufferFactory) setReadBufferSize(int size) 设置读缓存区大小setThreadNum(int threadNum) 设置服务工作线程数,设置数值必须大于等于2setWriteBuffer(int bufferSize, int bufferCapacity) 设置输出缓冲区容量voidshutdown()停止服务端voidstart()启动Server端的AIO服务
-
Constructor Details
-
AioQuickServer
设置服务端启动必要参数配置- Parameters:
port- 绑定服务端口号protocol- 协议编解码messageProcessor- 消息处理器
-
AioQuickServer
public AioQuickServer(String host, int port, Protocol<T> protocol, MessageProcessor<T> messageProcessor) - Parameters:
host- 绑定服务端Host地址port- 绑定服务端口号protocol- 协议编解码messageProcessor- 消息处理器
-
-
Method Details
-
start
启动Server端的AIO服务- Throws:
IOException- IO异常
-
shutdown
public void shutdown()停止服务端 -
setReadBufferSize
设置读缓存区大小- Parameters:
size- 单位:byte- Returns:
- 当前AioQuickServer对象
-
setAioEnhance
是否启用 AIO 增强模式默认:true- Parameters:
enabled- true:启用;false:禁用
-
setOption
设置Socket的TCP参数配置AIO客户端的有效可选范围为:
2. StandardSocketOptions.SO_RCVBUF
4. StandardSocketOptions.SO_REUSEADDR
- Type Parameters:
V- 配置项类型- Parameters:
socketOption- 配置项value- 配置值- Returns:
- 当前AioQuickServer对象
-
setThreadNum
设置服务工作线程数,设置数值必须大于等于2- Parameters:
threadNum- 线程数- Returns:
- 当前AioQuickServer对象
-
setWriteBuffer
设置输出缓冲区容量- Parameters:
bufferSize- 单个内存块大小bufferCapacity- 内存块数量上限- Returns:
- 当前AioQuickServer对象
-
setBacklog
设置 backlog 大小- Parameters:
backlog- backlog大小- Returns:
- 当前AioQuickServer对象
-
setBufferPagePool
设置内存池 通过该方法设置的内存池,在AioQuickServer执行shutdown时不会触发内存池的释放 该方法适用于多个AioQuickServer、AioQuickClient共享内存池的场景 在启用内存池的情况下会有更好的性能表现- Parameters:
bufferPool- 内存池对象- Returns:
- 当前AioQuickServer对象
-
setBufferFactory
设置内存池的构造工厂 通过工厂形式生成的内存池会强绑定到当前AioQuickServer对象, 在AioQuickServer执行shutdown时会释放内存池 在启用内存池的情况下会有更好的性能表现- Parameters:
bufferFactory- 内存池工厂- Returns:
- 当前AioQuickServer对象
-
setReadBufferFactory
-
setLowMemory
-