code: func (s *Session) goAway(reason uint32) header {
  	atomic.SwapInt32(&s.localGoAway, 1)
  	hdr := header(make([]byte, headerSize))
  	hdr.encode(typeGoAway, 0, 0, reason)
  	return hdr
  }
docs: // goAway is used to send a goAway message