std::vector<t_byte> build_hand_shake(const Sha1Hash &info_hash, const PeerID &local_peer_id) { std::vector<t_byte> buf(68, 0); buf[0] = PROTOCOL_LENGTH; memcpy(&buf[1], PROTOCOL_STRING, (t_uint32)PROTOCOL_LENGTH); memcpy(&buf[28], info_hash.GetRawData(), 20); memcpy(&buf[48], local_peer_id.GetRawData(), 20); return buf; }