code: def subscribe(self, destination, id=None, ack='auto', headers=None, **keyword_headers):
          
          assert destination is not None, "'destination' is required"
          headers = utils.merge_headers([headers, keyword_headers])
          headers[HDR_DESTINATION] = destination
          if id:
              headers[HDR_ID] = id
          headers[HDR_ACK] = ack
          self.send_frame(CMD_SUBSCRIBE, headers)
docs: Subscribe to a destination.
  
          :param str destination: the topic or queue to subscribe to
          :param str id: a unique id to represent the subscription
          :param str ack: acknowledgement mode, either auto, client, or client-individual
              (see http://stomp.github.io/stomp-specification-1.2.html#SUBSCRIBE_ack_Header)
              for more information
          :param dict headers: a map of any additional headers the broker requires
          :param keyword_headers: any additional headers the broker requires