squeaknode/squeaknode/node/squeak_node.py
Jonathan Zernik ffe326fa32
Refactor squeak node into controller and node (#461)
* Rename squeak node to squeak controller

* Rename SqueakNode class to SqueakController

* Got itest working with refactored squeaknode and squeakcontroller classes
2020-11-14 19:28:39 -05:00

51 lines
1.7 KiB
Python

import logging
from hashlib import sha256
from squeak.core.encryption import (
CEncryptedDecryptionKey,
generate_initialization_vector,
)
from squeak.core.signing import CSigningKey, CSqueakAddress
from squeak.core import CheckSqueak
from squeaknode.node.squeak_controller import SqueakController
from squeaknode.node.squeak_block_periodic_worker import SqueakBlockPeriodicWorker
from squeaknode.node.squeak_block_queue_worker import SqueakBlockQueueWorker
from squeaknode.node.squeak_peer_sync_worker import SqueakPeerSyncWorker
from squeaknode.node.squeak_offer_expiry_worker import SqueakOfferExpiryWorker
from squeaknode.node.sent_offers_worker import SentOffersWorker
logger = logging.getLogger(__name__)
class SqueakNode:
def __init__(
self,
squeak_controller,
sync_interval_s,
):
self.squeak_controller = squeak_controller
self.squeak_block_periodic_worker = SqueakBlockPeriodicWorker(
self.squeak_controller,
)
self.squeak_block_queue_worker = SqueakBlockQueueWorker(
self.squeak_controller,
)
self.squeak_peer_sync_worker = SqueakPeerSyncWorker(
self.squeak_controller,
sync_interval_s,
)
self.squeak_offer_expiry_worker = SqueakOfferExpiryWorker(
self.squeak_controller,
)
self.sent_offers_worker = SentOffersWorker(
self.squeak_controller,
)
def start_running(self):
self.squeak_block_periodic_worker.start_running()
self.squeak_block_queue_worker.start_running()
self.squeak_peer_sync_worker.start_running()
self.squeak_offer_expiry_worker.start_running()
self.sent_offers_worker.start_running()