docs: def enqueue(self, destination, frame):
          """
          Store message (frame) for specified destinationination.
  
          @param destination: The destinationination queue name for this message (frame).
          @type destination: C{str}
  
          @param frame: The message (frame) to send to specified destinationination.
          @type frame: C{stompclient.frame.Frame}
          """
          message_id = frame.headers.get('message-id')
          if not message_id:
              raise ValueError("Cannot queue a frame without message-id set.")
  
          if not destination in self.queue_metadata:
              self.log.info(
                  "Destination %s not in metadata; creating new entry and queue database." % destination)
              self.queue_metadata[destination] = {
                  'frames': deque(), 'enqueued': 0, 'dequeued': 0, 'size': 0}
  
          self.queue_metadata[destination]['frames'].appendleft(message_id)
          self.queue_metadata[destination]['enqueued'] += 1
  
          self.frame_store[message_id] = frame
  
          self._opcount += 1
          self._sync()