code: func (c *Connection) checkSubscribeHeaders(h Headers) error {
  	if _, ok := h.Contains(HK_DESTINATION); !ok {
  		return EREQDSTSUB
  	}
  	//
  	am, ok := h.Contains(HK_ACK)
  	//
  	switch c.Protocol() {
  	case SPL_10:
  		if ok { // Client supplied ack header
  			if !validAckModes10[am] {
  				return ESBADAM
  			}
  		}
  	case SPL_11:
  		fallthrough
  	case SPL_12:
  		if ok { // Client supplied ack header
  			if !(validAckModes10[am] || validAckModes1x[am]) {
  				return ESBADAM
  			}
  		}
  	default:
  		log.Fatalf("Internal protocol level error:<%s>\n", c.Protocol())
  	}
  	return nil
  }
docs: /*
  	Check SUBSCRIBE specific requirements.
  */