from queues import Queue import random from bmconfigparser import BMConfigParser import knownnodes from queues import portCheckerQueue, peerDiscoveryQueue import state def chooseConnection(stream): if state.trustedPeer: return state.trustedPeer else: try: retval = portCheckerQueue.get(False) portCheckerQueue.task_done() except Queue.Empty: try: retval = peerDiscoveryQueue.get(False) peerDiscoveryQueue.task_done() except Queue.Empty: return random.choice(knownnodes.knownNodes[stream].keys()) return retval