channel,pipeline
只要是channel就会有这个channel上对应的流水线pipeline,这个流水线pipeline上有各种各样的handler处理器,用来给这个channel上流过的东西进行加工。
所以,不仅服务器与客户端之间连接的SocketChannel上有流水线,而且Server服务器与客户端建立accept事件的serverSocketChanel上也有流水线。每个流水线上必有head tail两个处理器,在netty中serverSocketChanel上还有一个accetor处理器
当selector阻塞被io事件或者普通任务解除之后,就会执行下面的代码,processSelectedKeys是执行io事件,runAlltasks是执行普通的任务
cancelledKeys = 0;
needsToSelectAgain = false;
final int ioRatio = this.ioRatio;
if (ioRatio == 100) {
try {
processSelectedKeys();
} finally {
// Ensure we always run tasks.
runAllTasks();
}
} else {
final long ioStartTime = System.nanoTime();
try {
processSelectedKeys