Netty源码解读Promise
来源:互联网 发布:科比安东尼西决数据 编辑:程序博客网 时间:2024/06/01 10:35
Promise是future下面一个独特的类,可以对future进行标记
package netty.test;/** * @Author:chaoqiang.zhou * @Description: * @Date:Create in 15:10 2017/10/19 */import io.netty.util.concurrent.GenericFutureListener;/** * Future中的一个特别的可写入的获取结果 */public interface Promise<V> extends io.netty.util.concurrent.Future<V> { /** * Marks this future as a success and notifies all * listeners. * <p> * If it is success or failed already it will throw an {@link IllegalStateException}. */ /** * 标记future为成功,并且通知所有的listener * 如果已经是成功或者异常的话,会抛出IllegalStateException * @param result * @return */ Promise<V> setSuccess(V result); /** * Marks this future as a success and notifies all * listeners. * * @return {@code true} if and only if successfully marked this future as * a success. Otherwise {@code false} because this future is * already marked as either a success or a failure. */ /** * 标记future为成功,并且通知所有的listener * 如果已经是成功或者异常的话,会抛出IllegalStateException * 仅仅当成功的标记为true时,才返回true,否则的话,就返回false * @param result * @return */ boolean trySuccess(V result); /** * 与标记成功类似 * @param cause * @return */ Promise<V> setFailure(Throwable cause); boolean tryFailure(Throwable cause); /** * Make this future impossible to cancel. * * @return {@code true} if and only if successfully marked this future as uncancellable or it is already done * without being cancelled. {@code false} if this future has been cancelled already. */ /** * 标记该future为不可以被cancle * 只有当标记成功,或者之前已经被标记过后才返回true * @return */ boolean setUncancellable(); @Override Promise<V> addListener(GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener); @Override Promise<V> addListeners(GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... listeners); @Override Promise<V> removeListener(GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>> listener); @Override Promise<V> removeListeners(GenericFutureListener<? extends io.netty.util.concurrent.Future<? super V>>... listeners); @Override Promise<V> await() throws InterruptedException; @Override Promise<V> awaitUninterruptibly(); @Override Promise<V> sync() throws InterruptedException; @Override Promise<V> syncUninterruptibly();
阅读全文
0 0
- Netty源码解读Promise
- Netty源码解读
- Netty源码解读EventExecutorGroup
- Netty源码解读DefaultPromise
- netty源码分析之Future/Promise
- Netty源码解读 Netty中的buffer
- Netty源码解读之线程
- Netty源码解读之线程
- Netty中的Future源码解读
- netty(九)源码分析之Future和Promise
- Netty源码解读(一)概述
- Netty源码解读(一)概述
- Netty源码解读 Channel与Pipeline
- Netty源码解读(一)概述
- Netty源码解读(一)概述
- Netty源码解读------------ServerBootstrap的启动(一)
- Netty源码解读(一)概述
- Netty源码解读------------客户端接入绑定(二)
- SQLSERVER中文乱码问题
- asp简单样例(1)
- 使用AndroidStudio将工具库打成jar包和aar包
- The method process(ItemDetailInfo, Task) of type ItemRuKuUtils must override a superclass method的解决方
- CMD循环
- Netty源码解读Promise
- HDU-1863-畅通工程(最小生成树,prim)
- Objective-c 自定对象 转 JSON
- 《编程珠玑》——第一章习题
- crt连接不上Linux虚拟机
- java设计模式01
- Docker网络之一:Docker 默认网络
- myrocks 的 pk 的生成原理(k/v)
- 打开r40平台Anroid6.0下的AP6212A1版本的WIFI(兼容配置)(分色排版)