Add _get_next_allocation method; remove duplicated logic from _loop.
authorKevan <kevan@isnotajoke.com>
Sat, 14 Jan 2012 21:58:08 +0000 (13:58 -0800)
committerDaira Hopwood <david-sarah@jacaranda.org>
Thu, 25 Apr 2013 16:49:29 +0000 (17:49 +0100)
commit4b7d966494c5f2fee962a9a237809bc3c10b68c7
treebda6cc1c80c4313e6a58d8dd16fdfe7cbf2d22a7
parentc8145d580d0effe581075afc38671cb2b12e8d8b
Add _get_next_allocation method; remove duplicated logic from _loop.

This is essentially a copy-and-paste of tracker and share selection
logic from within _loop to _get_next_allocation. Now,
_get_next_allocation is responsible for telling _loop what to do (i.e.,
which server to use, and which shares to store on that server), and
_loop is responsible for doing what _get_next_allocation says to do.
This isn't a big change right now, but allows us to move to an external
peer selector object more easily (and obviously) in the future.

This also unifies the log messages for success and failure, and the
exception messages printed on a failure. Before, users would see two
slightly different messages depending on where in _loop the allocation
was noted as successful (or unsuccessful). This commit chooses the more
verbose form of these messages to be used on all successes and failures.
src/allmydata/immutable/upload.py