Once the connection is done, it will remain in idle state so that it can be
reused by future requests. If there's already an idle connection for the
given msg host, the operation finishes successfully without creating a new
connection. If a new request for the given msg host is made while the
preconnect is still ongoing, the request will take the ownership of the
connection and the preconnect operation will finish successfully (if there's
a connection error it will be handled by the request).
The operation finishes when the connection is done or an error occurred.
Start a preconnection to msg.
Once the connection is done, it will remain in idle state so that it can be reused by future requests. If there's already an idle connection for the given msg host, the operation finishes successfully without creating a new connection. If a new request for the given msg host is made while the preconnect is still ongoing, the request will take the ownership of the connection and the preconnect operation will finish successfully (if there's a connection error it will be handled by the request).
The operation finishes when the connection is done or an error occurred.