/* * Copyright (C) 2012-2016 Facebook, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.facebook.nifty.core; import com.google.inject.ProvidedBy; import org.jboss.netty.util.Timer; import java.util.Map; import java.util.concurrent.ExecutorService; @ProvidedBy(DefaultNettyServerConfigProvider.class) public class NettyServerConfig { private final Map<String, Object> bootstrapOptions; private final Timer timer; private final ExecutorService bossExecutor; private final int bossThreadCount; private final ExecutorService workerExecutor; private final int workerThreadCount; public NettyServerConfig(Map<String, Object> bootstrapOptions, Timer timer, ExecutorService bossExecutor, int bossThreadCount, ExecutorService workerExecutor, int workerThreadCount) { this.bootstrapOptions = bootstrapOptions; this.timer = timer; this.bossExecutor = bossExecutor; this.bossThreadCount = bossThreadCount; this.workerExecutor = workerExecutor; this.workerThreadCount = workerThreadCount; } public Timer getTimer() { return timer; } public ExecutorService getBossExecutor() { return bossExecutor; } public Map<String, Object> getBootstrapOptions() { return bootstrapOptions; } public int getBossThreadCount() { return bossThreadCount; } public ExecutorService getWorkerExecutor() { return workerExecutor; } public int getWorkerThreadCount() { return workerThreadCount; } public static NettyServerConfigBuilder newBuilder() { return new NettyServerConfigBuilder(); } }