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 * http://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 org.jboss.netty.channel.socket.nio;
17
18 import org.jboss.netty.util.ThreadNameDeterminer;
19
20 import java.util.concurrent.Executor;
21
22
23 /**
24 * Holds {@link NioServerBoss} instances to use
25 */
26 public class NioServerBossPool extends AbstractNioBossPool<NioServerBoss> {
27 private final ThreadNameDeterminer determiner;
28
29 /**
30 * Create a new instance
31 *
32 * @param bossExecutor the {@link Executor} to use for server the {@link NioServerBoss}
33 * @param bossCount the number of {@link NioServerBoss} instances this {@link NioServerBossPool} will hold
34 * @param determiner the {@link ThreadNameDeterminer} to use for name the threads. Use {@code null}
35 * if you not want to set one explicit.
36 */
37 public NioServerBossPool(Executor bossExecutor, int bossCount, ThreadNameDeterminer determiner) {
38 super(bossExecutor, bossCount, false);
39 this.determiner = determiner;
40 init();
41 }
42
43 /**
44 * Create a new instance using no {@link ThreadNameDeterminer}
45 *
46 * @param bossExecutor the {@link Executor} to use for server the {@link NioServerBoss}
47 * @param bossCount the number of {@link NioServerBoss} instances this {@link NioServerBossPool} will hold
48 */
49 public NioServerBossPool(Executor bossExecutor, int bossCount) {
50 this(bossExecutor, bossCount, null);
51 }
52
53 @Override
54 protected NioServerBoss newBoss(Executor executor) {
55 return new NioServerBoss(executor, determiner);
56 }
57 }