Scenario: both the client and the server live inside the same process.
The server has a DebugBreak when the task returned by Groups.Add() fails.
This is possible when the client closes the connection.
But the client never attempts to close the connection.
Turned out that the AckHandler had a 5 seconds timeout which was too short under stress.
Going to make this 30 seconds for now.
Ack timeout is too short under stress scenarios.
- Bumped ack timeout to 30 seconds.
- Made ack handler public so it's easy to override the timeout.