// Path: westty-api/src/main/java/org/deephacks/westty/config/ExecutorConfig.java
// @ConfigScope
// @Config(name = "executor",
//         desc = "Thread pool executor. Changes requires server restart.")
// public class ExecutorConfig {
// 
//     @Config(desc = "The maximum number of active threads.")
//     @NotNull
//     @Size(min = 1, max = 65535)
//     private Integer corePoolSize = 20;
// 
//     @Config(desc = "The maximum total size of the queued events in bytes. 0 to disable.")
//     @NotNull
//     private Long maxChannelMemorySize = 1048560L;
// 
//     @Config(desc = "The maximum total size of the queued events. 0 to disable.")
//     @NotNull
//     private Long maxTotalMemorySize = 16776960L;
// 
//     @Config(desc = "The amount of time for an inactive thread to shut itself down in seconds.")
//     @NotNull
//     private Integer keepAliveTime = 60;
// 
//     public Integer getCorePoolSize() {
//         return corePoolSize;
//     }
// 
//     public Long getMaxChannelMemorySize() {
//         return maxChannelMemorySize;
//     }
// 
//     public Long getMaxTotalMemorySize() {
//         return maxTotalMemorySize;
//     }
// 
//     public Integer getKeepAliveTime() {
//         return keepAliveTime;
//     }
// 
// }


import org.deephacks.westty.config.ExecutorConfig;
import org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
package org.deephacks.westty.internal.core.executor;



@Singleton
public class ThreadPoolExecutor extends OrderedMemoryAwareThreadPoolExecutor {

    @Inject
// Path: westty-api/src/main/java/org/deephacks/westty/config/ExecutorConfig.java
// @ConfigScope
// @Config(name = "executor",
//         desc = "Thread pool executor. Changes requires server restart.")
// public class ExecutorConfig {
// 
//     @Config(desc = "The maximum number of active threads.")
//     @NotNull
//     @Size(min = 1, max = 65535)
//     private Integer corePoolSize = 20;
// 
//     @Config(desc = "The maximum total size of the queued events in bytes. 0 to disable.")
//     @NotNull
//     private Long maxChannelMemorySize = 1048560L;
// 
//     @Config(desc = "The maximum total size of the queued events. 0 to disable.")
//     @NotNull
//     private Long maxTotalMemorySize = 16776960L;
// 
//     @Config(desc = "The amount of time for an inactive thread to shut itself down in seconds.")
//     @NotNull
//     private Integer keepAliveTime = 60;
// 
//     public Integer getCorePoolSize() {
//         return corePoolSize;
//     }
// 
//     public Long getMaxChannelMemorySize() {
//         return maxChannelMemorySize;
//     }
// 
//     public Long getMaxTotalMemorySize() {
//         return maxTotalMemorySize;
//     }
// 
//     public Integer getKeepAliveTime() {
//         return keepAliveTime;
//     }
// 
// }


// Path: westty-core/src/main/java/org/deephacks/westty/internal/core/executor/ThreadPoolExecutor.java
import org.deephacks.westty.config.ExecutorConfig;
import org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;

package org.deephacks.westty.internal.core.executor;



@Singleton
public class ThreadPoolExecutor extends OrderedMemoryAwareThreadPoolExecutor {

    @Inject
    public ThreadPoolExecutor(ExecutorConfig config) {