Heartbeat timeout in Windows does not lead to timely reconnect
Review Request #4383 - Created March 16, 2012 and updated
The cause of the hang was an outstanding read side completion when the AsynchIO object in charge of the socket was in the queuedClose state. The completion handler drains outstanding async requests before closing the socket. Since the cable had been pulled, the async read would never complete until Windows gave up on the socket altogether (some time much later). This patch remembers the last aio read and will cancel it if in the queuedClose state before blocking again. Aside from the basic description from the Jira, I also removed an unused test for restartRead, which doesn't change the logic of the section, but may indicate an intention that wasn't fully coded or something left over from a previous change.
qpid-perftest, qpid-send, qpid-receive, cable pulls, broker pause/resumes