From 4445f80d7760c91bd357fa576d5c4f10a6710b90 Mon Sep 17 00:00:00 2001 From: skywalker Date: Mon, 29 Aug 2016 20:09:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85ReadMe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 19 ++++++++++++++++++- images/thread_mode.jpg | Bin 0 -> 13480 bytes src/main/java/selector/QueuedSelector.java | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 images/thread_mode.jpg diff --git a/README.md b/README.md index 1788fc1..56f034f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,20 @@ # MiniNetty -迷你版Netty +## 实现的功能 + +- channelActive/channelInActive/channelRead/channelWrite事件处理 + +- Handler链式处理 + +- StringEncoder/StringDecoder + +- LengthFieldBasedDecoder + +- DelimiterBasedDecoder + +- LineBasedDecoder + +## 线程模型 + +![ThreadMode](images/thread_mode.jpg) + diff --git a/images/thread_mode.jpg b/images/thread_mode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3638b6e45debd55beeb6cf703138861a59ab6de5 GIT binary patch literal 13480 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 BR7U^+ literal 0 HcmV?d00001 diff --git a/src/main/java/selector/QueuedSelector.java b/src/main/java/selector/QueuedSelector.java index bbbe993..d4b32fa 100644 --- a/src/main/java/selector/QueuedSelector.java +++ b/src/main/java/selector/QueuedSelector.java @@ -36,7 +36,7 @@ public final class QueuedSelector implements Runnable, LifeCycle { private final ArrayDeque jobs; private final static int defaultQueueSize = 100; // 默认ByteBuffer分配大小 - private static final int defaultAllocateSize = 128; + private static final int defaultAllocateSize = 1024; private final ExecutorService executor; private boolean closed = false; private static final Logger logger = LoggerFactory