Given the details that you have provided (and in fact you have no "problem") I would recommend this article which should explain everything:


I am trying to get a level understanding of the whole stack here. At some point there has to be blocking going on.

No, this is not the case, if you are using asynchronous I/O libraries (like NIO or Netty). Understanding how they avoid blocking will lead you to low-level kernel functions like select, poll or epoll, and interrupts.

Wiki might be a good starting point:

Related Query