add ~needPeerSend logic