def run_local_peer(peer_list): inv_collector = InvCollector() for peer in peer_list: inv_collector.add_peer(peer) r = [] inv_item_q = inv_collector.new_inv_item_queue() while len(r) < 10: inv_item = yield from inv_item_q.get() v = yield from inv_collector.fetch(inv_item) r.append(v) return r
def run_local_peer(peer_list): inv_collector = InvCollector() for peer in peer_list: inv_collector.add_peer(peer) r = [] inv_item_q = inv_collector.new_inv_item_queue() while len(r) < 5: yield from asyncio.sleep(0.1) inv_item = yield from inv_item_q.get() try: v = yield from asyncio.wait_for(inv_collector.fetch(inv_item), timeout=0.5) if v: r.append(v) except asyncio.TimeoutError: pass return r