monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: netsync.refactor branch


From: Timothy Brownawell
Subject: [Monotone-devel] Re: netsync.refactor branch
Date: Thu, 31 May 2007 07:53:59 -0500

On Thu, 2007-05-31 at 10:02 +0200, Markus Schiltknecht wrote:
> Hi Timothy,
> 
> What's the state of the n.v.m.netsync.refactor branch? I've been looking 
> at it yesterday, noting that the changelog says it's broken.
> 
> And what's its exact purpose? Are you going for the DAG based refinement 
> described on the wiki? What's the purpose of the separation into the new 
> network.{cc,hh} files?
> 
> Can I be of help there?

I'm trying to separate the event loop (and eventually authentication,
but this will break compatibility) from the netsync logic, partly
because it should be slightly cleaner and partly because it would be
nice to be able to make, say, 'automate' available from the same
monotone instance as netsync (which makes things like server+viewmtn
slightly cleaner).

Particular services subclass "service" (network.hh), and use those
methods to talk to the event loop. The server uses one of the standalone
serve functions, and the client uses a client_session to connect and
authenticate (once authentication is disentangled from the netsync
logic) and then uses request_service() to actually do anything.


The code in network.cc should send the hello packet when it accepts a
connection (right now this is in netsync::begin_service). Then the
client can authenticate and request some particular service
(client_session::request_service(), which attaches a service to the
session and runs it to completion, starting with
service::request_service()). The server session sees this and looks up
the service to attach to itself in get_service_map(), then calls
begin_service() on what it found.

Everything actually compiles right now, but it's nowhere near complete
enough to work.


-- 
Timothy

Free (experimental) public monotone hosting: http://mtn-host.prjek.net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]