[tahoe-lafs-trac-stream] [tahoe-lafs] #1363: refactor storage_client.py, use IServer objects instead of rrefs

tahoe-lafs trac at tahoe-lafs.org
Sun Feb 20 13:01:01 PST 2011


#1363: refactor storage_client.py, use IServer objects instead of rrefs
--------------------+-------------------------------------------------------
 Reporter:  warner  |           Owner:  warner   
     Type:  task    |          Status:  new      
 Priority:  major   |       Milestone:  undecided
Component:  code    |         Version:  1.8.2    
 Keywords:          |   Launchpad Bug:           
--------------------+-------------------------------------------------------
 There's an internal cleanup I've been meaning to do for a while. I started
 it in source:src/allmydata/storage_client.py a few years ago (some of the
 TODO notes at the top indicate my plans), but didn't follow through. The
 goal is for the client to manage a collection of "{{{IServer}}}" objects,
 each of which represents a storage server. These objects each hold a
 {{{RemoteReference}}} and track metadata about the server (like nickname,
 versions, etc).

 As we start to handle other kinds of servers, these objects will be a
 place to abstract out the common behavior. The change will be to support
 #466, as signed announcements result in a different notion of "server id"
 than unsigned ones. The {{{IServer}}} object will get some methods that
 tell the caller what write-enabler seed or lease-renewal seed or peer-
 selection seed to use.

 The next change will be to move the details of interacting with the share
 into {{{IServer}}}, such as the actual {{{callRemote}}} method names.
 Then, when we add an HTTP-based server (which would use {{{GET}}} with a
 {{{Range:}}} header), the uploader/downloader doesn't need to know quite
 so much about the server type.

 This ticket is to track the refactoring progress and host the patches for
 review.

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1363>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list