Perhaps, you're wondering why this chapter doesn't delve into Java's standard WebSocket API? In truth, the standard API is a good piece of technology, but due to several limitations, it doesn't suit our needs.
A big limitation of JSR 356 is that it's based on the Servlet 3.1 spec. If we were running Apache Tomcat, we'd have access to that. But being a Reactive Streams application, we are using Netty, putting it off limits.
Even if we did switch to Apache Tomcat, there is no support for Reactor types. This is partly due to its blocking API, despite being hitched to an asynchronous programming model.