[Tahoe-dev] API for tahoe

Andy Green andy at warmcat.com
Fri Jul 6 13:13:02 UTC 2007


Zooko O'Whielacronx wrote:
> On Jul 6, 2007, at 1:53 AM, Andy Green wrote:
>>
>> I get the feeling this is somewhat peeing against the prevailing wind,
>> but is there any existing interest or plan to implement a client in
>> boring old C directly using libraries that are found even in constrained
>> embedded contexts?
> 
> Hello, Andy Green.  I'm glad to see that your Penumbra project is coming
> along.
> 
> Nobody (that I know of) is planning to implement a Tahoe client in C. 
> The data formats in Tahoe are portable, simple formats (e.g. the way
> files are padded and erasure coded, the way directories are encrypted,
> etc.), but the inter-node protocol is extremely Python-specific, since
> it is built on top of Foolscap.  Also, c.f. Penumbra, Tahoe currently
> assumes a (more or less) fully connected (a.k.a. "full mesh") network
> topology.
> 
> Too bad Python doesn't easily run on embedded systems nowadays...

Hi Zooko -

Penumbra would be coming along a lot quicker if third parties would
accept patches :-/ but thanks for the good thoughts.

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.

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.  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.

-Andy



More information about the tahoe-dev mailing list