Today, messages are only receiver from the server when the caller of the client is invoking an asynchronous method. This was done as the client couldn't otherwise be disposed without synchronously waiting on a background task to complete (the background task being a task that is constantly polling messages from the server). We can do this now! Back pressure on the server can be done by channel windows.