Esempio n. 1
0
 def __init__(self,
              account_db: BaseDB,
              root_hash: bytes,
              peer_pool: PeerPool,
              token: CancelToken = None) -> None:
     super().__init__(token)
     self.peer_pool = peer_pool
     self.root_hash = root_hash
     self.scheduler = StateSync(root_hash, account_db)
     self._peers_with_pending_requests: Dict[ETHPeer, float] = {}
     self._executor = get_process_pool_executor()
Esempio n. 2
0
 def __init__(self,
              chain: AsyncChain,
              db: 'AsyncHeaderDB',
              peer_pool: PeerPool,
              token: CancelToken = None) -> None:
     super().__init__(token)
     self.chain = chain
     self.db = db
     self.peer_pool = peer_pool
     self._syncing = False
     self._sync_complete = asyncio.Event()
     self._sync_requests: asyncio.Queue[HeaderRequestingPeer] = asyncio.Queue()
     self._new_headers: asyncio.Queue[Tuple[BlockHeader, ...]] = asyncio.Queue()
     self._executor = get_process_pool_executor()
Esempio n. 3
0
 def __init__(self,
              chaindb: 'AsyncChainDB',
              account_db: BaseDB,
              root_hash: bytes,
              peer_pool: PeerPool,
              token: CancelToken = None) -> None:
     super().__init__(token)
     self.chaindb = chaindb
     self.peer_pool = peer_pool
     self.root_hash = root_hash
     self.scheduler = StateSync(root_hash, account_db)
     self._handler = PeerRequestHandler(self.chaindb, self.logger,
                                        self.cancel_token)
     self._peers_with_pending_requests: Dict[ETHPeer, float] = {}
     self._executor = get_process_pool_executor()
Esempio n. 4
0
 def __init__(self,
              chaindb: AsyncChainDB,
              peer_pool: PeerPool,
              token: CancelToken = None) -> None:
     super().__init__(token)
     self.chaindb = chaindb
     self.peer_pool = peer_pool
     self._syncing = False
     self._sync_complete = asyncio.Event()
     self._sync_requests: asyncio.Queue[ETHPeer] = asyncio.Queue()
     self._new_headers: asyncio.Queue[List[BlockHeader]] = asyncio.Queue()
     # Those are used by our msg handlers and _download_block_parts() in order to track missing
     # bodies/receipts for a given chain segment.
     self._downloaded_receipts: asyncio.Queue[Tuple[ETHPeer, List[DownloadedBlockPart]]] = asyncio.Queue()  # noqa: E501
     self._downloaded_bodies: asyncio.Queue[Tuple[ETHPeer, List[DownloadedBlockPart]]] = asyncio.Queue()  # noqa: E501
     self._executor = get_process_pool_executor()