* add daemon Component and ComponentManager classes
* convert directory and SQLiteStorage setup to be a Component
* support callbacks to component setups
* Fixed typo in ComponentManager
* convert wallet to be Component
* Use storage from session.
* Remove create_session internal function and PEP8
* Starting to convert session to its own component. Removed ref to `self.storage` from Daemon.py
* Making DHT component(broken)
* Refactored classes to reduce redundancy in getting config setting
* DHT is now it's own component
* Fixed `test_streamify` test
* Fixed regression caused by removing `peer_manager` from session
* refactor ComponentManager and Component to use instance instead of class methods
* Hash announcer, file manager, stream identifier components
* Query Handler and server components
* Reflector Component
* Fixed test_streamify(well Jack did, but ¯\_(ツ)_/¯)
* All tests now passing
* Pylint fixes
* Oops(That's all you're gonna get :-P)
* Making decorators(WIP, commit so that I don't lose work)
* Decorator made and decorating of functions done(some other changes)
* import fixes and removed temporary test function
* Fixed new broken tests from daemon refactor
* Sanitization of modules
* Reworded errors
* wallet unlock condition checks, fixed breaking changes
* Rebased on amster and other crazy stuff
* Started writing tests
* Tests for component manager
* Fix Daemon Tests
* Fixed passing mutable args in init
* Using constants instead of strings. Added CHANGELOG.md
* Now components can be skipped by setting relevant config in file.
* P-Y-L-I-N-T #angry_emoji
this fixes an incorrectly raised mapping conflict error which the router raises when there is a redirect for the same internal port and a different lan address.
-remove hash_announcer from Node and DiskBlobManager
-remove announcement related functions from DiskBlobManager
-update SQLiteStorage to store announcement times and provide blob hashes needing to be announced
-use dataExpireTimeout from lbrynet.dht.constants for re-announce timing
-use DeferredSemaphore for concurrent blob announcement
In order to attempt to join the DHT several times
(i.e. when the first attempt has failed) we need to
split the components initialization from the real
joining operation.
Create node.startNetwork() to initialize the node
and keep the rest in node.joinNetwork()
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>