code: func sendHandshake(conn *net.TCPConn, infoHash, peerID []byte) error {
  	data := make([]byte, 68)
  	copy(data[:28], handshakePrefix)
  	copy(data[28:48], infoHash)
  	copy(data[48:], peerID)
  
  	conn.SetWriteDeadline(time.Now().Add(time.Second * 10))
  	_, err := conn.Write(data)
  	return err
  }
docs: // sendHandshake sends handshake message to conn.