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 }