@Override
      public void onResponse(int processorId) {
        processors.get(processorId).wakeup();
      }
A NIO socket server. The threading model is
  1 Acceptor thread that handles new connections
  N Processor threads that each have their own selector and read requests from sockets
  M Handler threads that handle requests and produce responses back to the processor threads for writing.
ambry-network/src/main/java/com/github/ambry/network/SocketServer.java