split uploader/downloader into "txlafs" library #2786
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#2786
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
At today's devchat, I asked folks for opinions about the shape of the tahoe application, based on questions in https://tahoe-lafs.org/pipermail/tahoe-dev/2016-May/009745.html . Afterwards, Meejah and I had an idea.
NodeMaker
, thesrc/allmydata/immutable/
and/mutable/
directories, and the IntroducerClienttxlafs
(the library)Meejah took some notes on what the interface to txlafs would look like. Basically you create a "grid" or "lafs" object around an Introducer FURL (or eventually a URL, if we can move to an HTTP-based introducer). Then you call upload and download methods on that object, or maybe a
get_node(filecap)
like the nodemaker does now.The goal would be to allow new applications to be written that use Tahoe-LAFS storage technology, but which don't need to coordinate with a pre-configured pre-running Tahoe client node, and which don't need the additional dependencies that the Tahoe application currently uses to support the HTTP-based webapi, SFTP, magic-folders, the storage server, etc.
These application developers might prefer a one-off
filecap=upload(data)
API, to something that involves more objects (like Filenodes and mutable Versions).Connections are only made in response to upload/download requests. The library might be allowed to retain those connections in-between requests (for performance), but the caller shouldn't need to think too much about that. This is the opposite of tahoe's current Client object, which is the central hub through which everything gets started, and which must be fully running before you can do anything with it.