add explanation for why we don't use async send
Merge remote-tracking branch 'upstream/master'
refactor: reduce indent
Add check during initial handshake whether we already have an established connection to this peer