The specification requires the following: "After wire message construction, drivers MUST check for timeout before writing the message to the server. If the timeout has expired or the amount of time remaining is less than the selected server's minimum RTT, drivers MUST return the connection to the pool and raise a timeout exception.". Currently, InternalStreamConnection.sendCommandMessageAsync (only the async method) closes the connection in such a situation, which violates the specification:
- links to