@synchronized(lock)<EOL><INDENT>def enqueue(self, destination, frame):<DEDENT>
message_id = frame.headers.get('<STR_LIT>')<EOL>if not message_id:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>if not destination in self.queue_metadata:<EOL><INDENT>self.log.info(<EOL>"<STR_LIT>" % destination)<EOL>self.queue_metadata[destination] = {<EOL>'<STR_LIT>': deque(), '<STR_LIT>': <NUM_LIT:0>, '<STR_LIT>': <NUM_LIT:0>, '<STR_LIT:size>': <NUM_LIT:0>}<EOL><DEDENT>self.queue_metadata[destination]['<STR_LIT>'].appendleft(message_id)<EOL>self.queue_metadata[destination]['<STR_LIT>'] += <NUM_LIT:1><EOL>self.frame_store[message_id] = frame<EOL>self._opcount += <NUM_LIT:1><EOL>self._sync()<EOL>
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}