def choice(self, subscribers, message):
if not subscribers:<EOL><INDENT>return None<EOL><DEDENT>reliable_subscribers = [<EOL>s for s in subscribers if s.reliable_subscriber]<EOL>if reliable_subscribers:<EOL><INDENT>return random.choice(reliable_subscribers)<EOL><DEDENT>else:<EOL><INDENT>return random.choice(subscribers)<EOL><DEDENT>
Choose a random connection, favoring those that are reliable from
subscriber pool to deliver specified message.

@param subscribers: Collection of subscribed connections to destination. 
@type subscribers: C{list} of L{coilmq.server.StompConnection}

@param message: The message to be delivered. 
@type message: L{stompclient.frame.Frame}

@return: A random subscriber from the list or None if list is empty.
@rtype: L{coilmq.server.StompConnection}