On Wed, Apr 04, 2001 at 12:17:35AM -0700, Mr . Bad wrote: > >>>>> "TC" == Tavin Cole <tavin at mailandnews.com> writes: > > Me> Breaking it was undiscussed on this list. What's up with that? > > TC> That's why I posted to the list about it, silly. > > The way you presented it was as a fait accompli. But, cool, glad this > is still open for discussion.
Sorry. Just wanted to get to the point. > Not to be harsh, but the impression I'm getting is that this is a > gee-whiz compsci project architectural change, rather than a valuable > change that improves Fred. SHOW ME THE MONEY, Tav. B-) Is there an > increase in speed? Maintainability? Better interface? What's the deal? The point is that it would have been a PITA to implement alternate client backends to FNP, and to implement the kind of complex metadata handling mandated by the new metadata standard, without improving the architecture of the Freenet.client API. So I am laying groundwork here. You saw the TODO. So yes, better interface, major maintainability improvement. For example, the notion of a "Request" is now separate from the specific client implementation used to make it happen. So setting up your requests and what types of automated metadata handling you want will be independent of the client backend. Right now that kind of thing is hardcoded into Client, InsertClient, RequestClient, and SimplifiedClient. > We're just barely getting the bugs out of the perfectly good Client > architecture we already have -- rewriting it means, realistically, > another month to 2 months before Freenet is as usable as it is > now. How is it broke? Why are you fixing it? I am not sacrificing any existing functionality. The changes appear cosmetic because I made an effort to make the porting pain minimal. After this change we can build the rest of the enhancements as plug-ins without further impacting existing, working code. Let me assure you that after I check this in freenet_request/insert and fproxy will work exactly as before. > Also, as Mark's already shown, we can do FCP through the current > Client library. Is rewriting the client code supposed to speed things > up? Make development easier? I'm not changing the FCP servlet (well, except for the mentioned fixes). The goal is to provide an FCP *client* and a good framework for metadata handling that isn't rigid and difficult to expand like the current way. > Anyways, I'm just a little concerned about checking in a change like > "gut Client" into the 0.3 branch. I'm really barely changing anything at all. I'm just adding an interface (ClientFactory) which FNPClient implements, instead of having only Client, and I'm abstracting the information about the Request into a class that's independent of which ClientFactory implementation you use. Look at the code samples I sent to see how simple the change is. -- # tavin cole # if code is law, then Freenet is a crowded theater _______________________________________________ Devl mailing list Devl at freenetproject.org http://lists.freenetproject.org/mailman/listinfo/devl
