Merge v1

There are multiple cases.
 * a timeout happened
 * broker send error message (teardown request)
 * a connect() failed