refactor(peer.go) use async send if possible