forked from LBRYCommunity/lbry-sdk
remove dht requirement from stream manager component
This commit is contained in:
parent
09afec1961
commit
a3e64f9cef
2 changed files with 10 additions and 5 deletions
|
@ -434,7 +434,7 @@ class HashAnnouncerComponent(Component):
|
||||||
|
|
||||||
class StreamManagerComponent(Component):
|
class StreamManagerComponent(Component):
|
||||||
component_name = STREAM_MANAGER_COMPONENT
|
component_name = STREAM_MANAGER_COMPONENT
|
||||||
depends_on = [BLOB_COMPONENT, DATABASE_COMPONENT, WALLET_COMPONENT, DHT_COMPONENT]
|
depends_on = [BLOB_COMPONENT, DATABASE_COMPONENT, WALLET_COMPONENT]
|
||||||
|
|
||||||
def __init__(self, component_manager):
|
def __init__(self, component_manager):
|
||||||
super().__init__(component_manager)
|
super().__init__(component_manager)
|
||||||
|
@ -455,8 +455,10 @@ class StreamManagerComponent(Component):
|
||||||
blob_manager = self.component_manager.get_component(BLOB_COMPONENT)
|
blob_manager = self.component_manager.get_component(BLOB_COMPONENT)
|
||||||
storage = self.component_manager.get_component(DATABASE_COMPONENT)
|
storage = self.component_manager.get_component(DATABASE_COMPONENT)
|
||||||
wallet = self.component_manager.get_component(WALLET_COMPONENT)
|
wallet = self.component_manager.get_component(WALLET_COMPONENT)
|
||||||
node = self.component_manager.get_component(DHT_COMPONENT)
|
try:
|
||||||
|
node = self.component_manager.get_component(DHT_COMPONENT)
|
||||||
|
except NameError:
|
||||||
|
node = None
|
||||||
log.info('Starting the file manager')
|
log.info('Starting the file manager')
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
self.stream_manager = StreamManager(
|
self.stream_manager = StreamManager(
|
||||||
|
|
|
@ -44,8 +44,8 @@ comparison_operators = {
|
||||||
|
|
||||||
class StreamManager:
|
class StreamManager:
|
||||||
def __init__(self, loop: asyncio.BaseEventLoop, blob_manager: 'BlobFileManager', wallet: 'LbryWalletManager',
|
def __init__(self, loop: asyncio.BaseEventLoop, blob_manager: 'BlobFileManager', wallet: 'LbryWalletManager',
|
||||||
storage: 'SQLiteStorage', node: 'Node', peer_timeout: float, peer_connect_timeout: float,
|
storage: 'SQLiteStorage', node: typing.Optional['Node'], peer_timeout: float,
|
||||||
fixed_peers: typing.Optional[typing.List['KademliaPeer']] = None):
|
peer_connect_timeout: float, fixed_peers: typing.Optional[typing.List['KademliaPeer']] = None):
|
||||||
self.loop = loop
|
self.loop = loop
|
||||||
self.blob_manager = blob_manager
|
self.blob_manager = blob_manager
|
||||||
self.wallet = wallet
|
self.wallet = wallet
|
||||||
|
@ -79,6 +79,9 @@ class StreamManager:
|
||||||
self.streams.add(stream)
|
self.streams.add(stream)
|
||||||
|
|
||||||
async def resume(self):
|
async def resume(self):
|
||||||
|
if not self.node:
|
||||||
|
log.warning("no DHT node given, cannot resume downloads")
|
||||||
|
return
|
||||||
await self.node.joined.wait()
|
await self.node.joined.wait()
|
||||||
resumed = 0
|
resumed = 0
|
||||||
for stream in self.streams:
|
for stream in self.streams:
|
||||||
|
|
Loading…
Add table
Reference in a new issue