﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	launchpad_bug
3761	Sketch of proposed GBS Python interface	itamarst	itamarst	"In order to refactor the Tahoe-LAFS client code to support two protocols in parallel, we need some implementation of a new low-level client storage Python interface (let's call it `IStorageClient`). The production `IStorageClient` implementation will talk the GBS HTTP protocol to the storage server.

However, since the wire protocol is going to have to be audited, a useful first step would be a `IStorageClient` sketch that just demonstrates what a Python API might look like, and how it would integrate.

The deliverables for this will be:

1. A new interface, `IStorageClientV2`, corresponding the the proposed HTTP protocol.
2. Implement adapter from `IStorageServer` to `IStorageClientV2`. Might not be code that is tested or runs, but should at least suffice to demonstrate that this approach is viable.

Potential follow-ups:

* Update all existing users of `IStorageServer` to not presume Foolscap, so e.g. don't assume commands are executed in order sent.
* A compliance test suite for `IStorageClientV2` providers.
* Maybe? A (verified) fake `IStorageClientV2`. Since it won't talk over the network, there is no need for a separate server."	task	closed	normal	HTTP Storage Protocol	unknown	n/a	fixed			
