[Tahoe-dev] API for tahoe

Andy Green andy at warmcat.com
Sat Jul 7 06:44:25 UTC 2007


Zooko O'Whielacronx wrote:
> On Jul 6, 2007, at 7:13 AM, Andy Green wrote:
> 
>> Yes I looked at the sources and had an idea of the general structure.
>> Foolscap though can equally become a C or C++ library if push came to
>> shove, it's not inherently bound to Python AIUI.
> 
> That's an interesting possibility.  I'd like to know what Brian Warner
> thinks about it.
> 
>> The reason I ask is that if the planets come into alignment I might end
>> up with the possibility for an embedded, Internet-connected mass
>> deployment of Tahoe.
> 
> Could you tell me more (understanding that there is an astrological
> disclaimer)?  Is this a deployment of Penumbra that you're thinking about?

A potential customer is talking at the moment about getting a customized
advanced wireless router created with an Open software stack including
some really new features like Tahoe (and Penumbra, but that is a
separate issue, the Tahoe thing will be directly on the Internet).  I am
thinking that by default the devices will allocate some proportion of
the storage to holding remote Tahoe data, bringing into being a large --
potentially hundreds of thousands of members -- very distributed
always-on Tahoe net for general use.

The device would be a typical embedded router-type environment and
Python isn't a natural choice (there is no room for Python itself on the
base filesystem for example suggesting Tahoe can't be in by default).
OpenSSL and the usual libs are already sitting there however.

>>   The platform would be reasonably fast for embedded
>> but RAM-constrained, perhaps only 32MB.  And as you suggest Python does
>> its best to disallow cross compilation, but it could be forced to do so.
>>  Since nobody else is working on a C implementation in the case of
>> planetary alignment I guess the first move would be to port python and
>> see what happens using stock Tahoe.
> 
> I would love to see the results of such an experiment.  Coincidentally,
> Brian mentioned yesterday that he wants to get the memory-usage
> measurements fixed (ticket #79, see also #54, #29).

Well, they say great art is created from constraints ;-) therefore I
hope nothing is currently using a great deal of memory...

> By the way, what Reed-Solomon implementation do you use in Penumbra?  I
> updated Prof. Luigi Rizzo's old "fec" library for our zfec module [1].

I found this C implementation which works well

http://www.ka9q.net/code/fec/

I packaged it as a "libfec" RPM and provided a tarball and my patches here

http://penumbra.warmcat.com/_twk/tiki-index.php?page=Downloads

Penumbrad is also up on git now FWIW

http://git.warmcat.com/

...assets in there include a lightweight https server for example.

-Andy



More information about the tahoe-dev mailing list