Java - ReadObject con nio

En un servidor tradicional de subprocesos de bloqueo, haría algo como esto

class ServerSideThread {

    ObjectInputStream in;
    ObjectOutputStream out;
    Engine engine;

    public ServerSideThread(Socket socket, Engine engine) {
        in = new ObjectInputStream(socket.getInputStream());
        out = new ObjectOutputStream(socket.getOutputStream());
        this.engine = engine;
    }

    publ,ic void sendMessage(Message m) {
        out.writeObject(m);
    }

    public void run() {
        while(true) {
            Message m = (Message)in.readObject();
            engine.queueMessage(m,this); // give the engine a message with this as a callback
        }
    }
}

Ahora, se puede esperar que el objeto sea bastante grande. En mi nio loop, no puedo simplemente esperar a que el objeto pase, todas mis otras conexiones (con cargas de trabajo mucho más pequeñas) me estarán esperando.

¿Cómo puedo recibir una notificación de que una conexión tiene todo el objeto antes de que le diga a mi canal nio que está listo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta