* @throws IOException
*/
public void start() throws IOException {
acceptor = new SocketAcceptor(16, Executors.newCachedThreadPool() );
SocketAcceptorConfig defaultConfig = acceptor.getDefaultConfig();
SocketSessionConfig sessionConfig = defaultConfig.getSessionConfig();
sessionConfig.setSendBufferSize(sendBufferSize);
sessionConfig.setReceiveBufferSize(receiveBufferSize);
sessionConfig.setTcpNoDelay(true);
defaultConfig.setThreadModel(ExecutorThreadModel.getInstance("jmemcached"));
acceptor.bind(this.addr, new ServerSessionHandler(cache, memcachedVersion, verbose, idleTime));
ProtocolCodecFactory codec = new MemcachedProtocolCodecFactory();
acceptor.getFilterChain().addFirst("protocolFilter", new ProtocolCodecFilter(codec));
logger.info("Listening on " + String.valueOf(addr.getHostName()) + ":" + this.port);