Commit graph

114 commits

Author SHA1 Message Date
Kay Kurokawa
4f87e87d3e Adding connection manager tests, and modifying connection manager to be testeable, fix bug where failed connection was not marked as down 2017-02-13 12:17:27 -05:00
Kay Kurokawa
a5e8c561e4 Revert "adding connection manager tests, and modifying connection manager to be testeable"
This reverts commit 7b6e233d22, as it was an accidental push to master
2017-02-01 11:59:36 -05:00
Kay Kurokawa
7b6e233d22 adding connection manager tests, and modifying connection manager to be testeable 2017-02-01 11:52:16 -05:00
Kay Kurokawa
90438ddf9f removing str() from logging functions 2017-01-26 12:14:33 -05:00
Kay Kurokawa
08e336e476 adding better debug logs for ConnectionManager and ClientProtocol 2017-01-26 12:09:55 -05:00
Alex Grintsvayg
267c6cbaca refactor conf.settings 2017-01-16 22:32:54 -05:00
Job Evers-Meltzer
cb2bb6ee6b bug fix: properly stop ConnectionManager
It is possible (likely) that a manage call is in progress when
`stop` is called. When that happens, _manage will continue to
run, and schedule another call - and the manager won't actually stop,
and will likely cause an error as other components have been torn down.

This fix adds a deferred that gets created when a manage call starts
and is fired when its done.  At this points its safe to start the
stopping process.  Also add a check to not schedule another manage
call if we're stopped

This fixes https://app.asana.com/0/142330900434470/239832897034382
2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
0bb62515a8 reorder functions to match call order 2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
f535d96929 switch stop to inlineCallback 2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
15c5075d38 refactor closing peers 2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
2449604844 fixup: bug fix for stopping downloads 2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
6035a84675 bug fix for stopping downloads
deferredlist returns a tuple of (success, result) and the previous
code was looking at the entire tuple not the success values.
2017-01-13 08:24:05 -06:00
Job Evers-Meltzer
1b2c46e224 make _download_manager private 2017-01-13 08:19:23 -06:00
Job Evers-Meltzer
0b53fde352 refactor connectionmanager to use inlineCallbacks 2016-12-30 13:28:34 -06:00
Job Evers-Meltzer
4eb10b56c1 small changes 2016-12-30 13:27:17 -06:00
Job Evers-Meltzer
1256beea96 remove blob_requester from DownloadManager 2016-12-30 13:27:16 -06:00
Job Evers-Meltzer
39b2e44492 Replace settings with conf.settings
In the next commit I change conf.settings to be initialized
at runtime instead of load time and so any import of
`from lbrynet.conf import settings` will be and stay None if
it happens before the initialization.
2016-12-30 13:05:18 -06:00
Job Evers-Meltzer
f7864e8cb7 Only store the offer explicitly when its sent
Ran into a situation where I was recieving an offer response without
something in protocol_offers. I think this was because
get_and_set_rate doesn't always populate that dictionary.

Worried that there still might be issues if the connection is
unreliable: if a response comes in twice it will error or
if a second offer is made without a response to the first
there will be an error.
2016-12-20 10:37:42 -08:00
Job Evers-Meltzer
c30ea04959 Remove commented code
This is the result of running eradicate (https://github.com/myint/eradicate)
on the code and double-checking the changes.
2016-12-15 18:58:06 -06:00
Job Evers-Meltzer
7bce37a720 pylint: add check for missing-final-newline 2016-12-14 19:21:59 -06:00
Job Evers-Meltzer
b64fa51567 fixup long lines 2016-12-07 09:38:34 -05:00
Job Evers-Meltzer
59c4593bf4 whitespace 2016-11-03 14:42:57 -05:00
Job Evers-Meltzer
5bccfdb244 add logging to shutdown process 2016-11-03 14:42:45 -05:00
Job Evers-Meltzer
862055a6de move settings into conf file 2016-10-27 14:31:27 -05:00
Jack
1951ea09cd updates from master, more refactoring
-lbrynet.lbrynet_daemon.auth.client.LBRYAPIClient.config will detect if
it needs to return the auth/non-auth version
2016-10-26 03:16:33 -04:00
Jack
ea21821558 fix issues with is_generous
-stop requesting blobs if price limit is reached and the offer still
has not been accepted

-drop max rate to old flat rate (0.005lbc/mb)
2016-10-20 12:29:55 -04:00
Jack
3f5efb1fa3 fix problems in blobrequester
-also move is_generous_host into a conf setting
2016-10-20 01:35:18 -04:00
Jack
06a88599df --http-auth flag to use authentication, refactor settings
settings will prefer, in order:
-defaults
-settings in config file
-settings given as environmental variables
-settings given as command line args
2016-10-19 00:12:44 -04:00
Jack
19c2264429 clean up 2016-10-13 13:35:55 -04:00
Jack
4f60a98eb2 fix functional tests, add a few unit tests,
-add ‘generous’ parameter for NegotiatedPaymentRateManager to turn free
hosting on/off, by default set to true.
2016-10-05 22:58:34 -04:00
Jack
5c391f4bb4 remove unnecessary class 2016-09-30 00:12:17 -04:00
Jack
71b989b29b update from master
resolve merge conflicts:
lbrynet/core/client/BlobRequester.py
lbrynet/core/Peer.py
lbrynet/lbryfilemanager/EncryptedFileManager.py
lbrynet/lbrynet_daemon/Daemon.py
lbrynet/lbrynet_daemon/Publisher.py
2016-09-29 23:34:59 -04:00
Jack
4727ee0403 Merge branch 'master' into refactor-blob-requester 2016-09-29 12:48:34 -04:00
Jack
1720cce3b0 negotiated downloads
-uploads are still underway
2016-09-27 13:52:44 -04:00
Job Evers-Meltzer
6057dc0804 whitespace 2016-09-25 17:18:29 -07:00
Job Evers-Meltzer
4334cdace1 Refactor blob requester to better seperate out the three requests
Each blob requests has three parts
- A request to see what blobs are available
- A request to download and pay for one of those blobs
- A request to negotiate data costs

Before the refactoring all of the code to accomplish this was mixed into
one class.  They are now three seperate classes.

There is still a lot of room for improvement, but it is at least better than
it was.
2016-09-25 16:55:55 -07:00
Jack
5dd29da84f blob upload/download history and BlobPriceAndAvailabilityTracker 2016-09-23 03:02:17 -04:00
Job Evers-Meltzer
98d02b3fce [ci skip] add newlines 2016-09-19 12:07:47 -07:00
Jack
b010192f8e improve logging 2016-09-14 22:28:59 -04:00
Jack
e49f0f99a1 LBRYcrdWallet update claim fix
-fix log line that could raise an exception
-json encode value sent to lbrycrd-cli updateclaim
2016-08-22 16:57:22 -04:00
Jack
7a54894015 debugging stuff 2016-08-19 02:41:23 -04:00
Jack
adc2eab6da log request dict 2016-08-18 05:36:01 -04:00
Job Evers-Meltzer
f8dd3d05dc misc bug fixes and code cleanup 2016-07-26 12:24:25 -05:00
Job Evers-Meltzer
284d307c0f fix logging-too-few-args errors 2016-05-31 22:49:00 -05:00
Jimmy Kiselak
25e1427a84 fix error that occurred when one connection's download was stopped due to another download finishing 2016-01-22 15:50:18 -05:00
Jimmy Kiselak
2ddeca2976 fix bug caused by downloading file twice and deleting one 2016-01-16 01:16:37 -05:00
jackrobison
48b013fa85 Delete autodownloader.py
File still exists in autodownloader branch
2015-12-14 15:56:19 -05:00
Jack
e96dee478d Remove autofetcher from lbrynet-console
Disabled autofetcher in the console, moved getstream and fetcherdaemon
to their own file in lbrynet-daemon
2015-12-14 15:54:33 -05:00
Jack
a1861a2f84 Update lbrynet-daemon
Add auto fetcher to fetch new name claims
2015-12-14 12:59:44 -05:00
Jack
203f7e7ea6 Update lbry daemon 2015-12-08 00:37:49 -05:00
Jack
8aee19b0ef Fix error
Fixes an error if you don’t have a conf file set up, previously it
would fail because the AutoFetcher object doesn’t have a console object
until it’s called for the first time
2015-12-07 18:02:29 -05:00
Jack
441d3c1220 LBRYNet daemon
Adds a daemon for lbrynet. Currently commands are limited the following:

download_name(name)
resolve_name(name)
get_downloads
stop

This allows other programs to easily interact with lbrynet, such as
LBRYURIHandler. LBRYURIHandler can be built with py2app, the resulting
plist file must be edited in the same way the committed plist file has
been edited. When built and installed to the /Applications folder
lbry:// domain names will download and open the corresponding file so
long as the daemon is running.
2015-12-06 17:32:17 -05:00
Jack
a9e105f9eb Make autofetcher ignore key payments 2015-11-24 01:17:47 -05:00
Jack
ebf9d11f4d Rename a class 2015-11-20 10:42:19 -05:00
Jack
35d5c585ec Added a max key price set in autofetcher.conf 2015-11-19 16:20:12 -05:00
Jack
45eb4f7201 Improved autofetcher
Added commands:

start-autofetcher
stop-autofetcher
autofetcher-status
2015-11-19 14:43:36 -05:00
Jimmy Kiselak
33b6b85e72 better error messages in console when funds are exhausted 2015-09-17 01:43:41 -04:00
Jimmy Kiselak
8177119671 Fix how some errors are presented to the user
If an invalid stream descriptor hash is entered, abort and
give a useful error.

If a name doesn't resolve, abort and give a useful error.

If a name resolves to something invalid, abort and give a useful error.
2015-09-16 16:27:46 -04:00
Jimmy Kiselak
4b407a9dd2 shut down session last, actually save LBRY file metadata 2015-09-15 00:30:49 -04:00
Jimmy Kiselak
bb5cd49327 Use named loggers, fix some pep8 formatting mistakes 2015-09-08 15:42:56 -04:00
Jimmy Kiselak
0506dfba10 when looking up peers, only return one instance of each peer 2015-08-31 11:14:25 -04:00
Jimmy Kiselak
7e4f36e8b4 Make sure errors resulting from connections failing don't make it to the user interface, as they are expected 2015-08-31 10:46:22 -04:00
Jimmy Kiselak
c8b2b7b279 Downloader options in its own class, show options in gui downloader
Put stream downloader options into its own class, and make stream
downloader options global to the stream type rather than specific
to each factory.

Show downloader options in the lbrynet-downloader-gui.

Make a class for downloader option choices, so that the descriptions
can be displayed.

In the console, if there are multiple choices for the download
option, make it a list selected by its index.

Make sure that the ConnectionManager closes properly when some of
the connections fail to open (e.g. due to a host being down)
2015-08-27 15:41:17 -04:00
Jimmy Kiselak
7240ff6b1c initial commit 2015-08-20 11:27:15 -04:00