#NEWLINE# def subscribe( self , destination , id , ack = 'auto' , headers = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } , **keyword_headers ) : #NEWLINE# #INDENT# '\n        Subscribe to a destination\n\n        :param destination: the topic or queue to subscribe to\n        :param id: the identifier to uniquely identify the subscription\n        :param ack: either auto, client or client-individual (see https://stomp.github.io/stomp-specification-1.2.html#SUBSCRIBE for more info)\n        :param headers: a map of any additional headers to send with the subscription\n        :param keyword_headers: any additional headers to send with the subscription\n        ' #NEWLINE# assert ( destination is not None ) , "'destination' is required" #NEWLINE# assert ( id is not None ) , "'id' is required" #NEWLINE# headers = utils . merge_headers ( [ headers , keyword_headers ] ) #NEWLINE# headers [ HDR_DESTINATION ] = destination #NEWLINE# headers [ HDR_ID ] = id #NEWLINE# headers [ HDR_ACK ] = ack #NEWLINE# self . send_frame ( CMD_SUBSCRIBE , headers )