[Tahoe-dev] API for tahoe
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
> 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
> 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.
More information about the tahoe-dev