code: func (h *handshake) resetState() {
  	b := make([]byte, 4)
  	if _, err := rand.Read(b); err != nil {
  		panic(err)
  	}
  
  	h.state = handshakeSynSent
  	h.flags = header.TCPFlagSyn
  	h.ackNum = 0
  	h.mss = 0
  	h.iss = seqnum.Value(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
  }
docs: // resetState resets the state of the handshake object such that it becomes
  // ready for a new 3-way handshake.