1 /*
2 * Copyright 2012 The Netty Project
3 *
4 * The Netty Project licenses this file to you under the Apache License,
5 * version 2.0 (the "License"); you may not use this file except in compliance
6 * with the License. You may obtain a copy of the License at:
7 *
8 * https://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations
14 * under the License.
15 */
16 package io.netty.channel;
17
18 import java.util.concurrent.Executor;
19 import java.util.concurrent.ThreadFactory;
20
21 /**
22 * {@link MultithreadEventLoopGroup} which must be used for the local transport.
23 */
24 public class DefaultEventLoopGroup extends MultithreadEventLoopGroup {
25
26 /**
27 * Create a new instance with the default number of threads.
28 */
29 public DefaultEventLoopGroup() {
30 this(0);
31 }
32
33 /**
34 * Create a new instance
35 *
36 * @param nThreads the number of threads to use
37 */
38 public DefaultEventLoopGroup(int nThreads) {
39 this(nThreads, (ThreadFactory) null);
40 }
41
42 /**
43 * Create a new instance with the default number of threads and the given {@link ThreadFactory}.
44 *
45 * @param threadFactory the {@link ThreadFactory} or {@code null} to use the default
46 */
47 public DefaultEventLoopGroup(ThreadFactory threadFactory) {
48 this(0, threadFactory);
49 }
50
51 /**
52 * Create a new instance
53 *
54 * @param nThreads the number of threads to use
55 * @param threadFactory the {@link ThreadFactory} or {@code null} to use the default
56 */
57 public DefaultEventLoopGroup(int nThreads, ThreadFactory threadFactory) {
58 super(nThreads, threadFactory);
59 }
60
61 /**
62 * Create a new instance
63 *
64 * @param nThreads the number of threads to use
65 * @param executor the Executor to use, or {@code null} if the default should be used.
66 */
67 public DefaultEventLoopGroup(int nThreads, Executor executor) {
68 super(nThreads, executor);
69 }
70
71 @Override
72 protected EventLoop newChild(Executor executor, Object... args) throws Exception {
73 return new DefaultEventLoop(this, executor);
74 }
75 }