On Sat, Aug 22, 2009 at 8:02 PM, Derek Scherger<de...@echologic.com> wrote:
> I have been looking at this a bit, largely staring at netsync.cc to try and
> get a better idea of what it's doing though. Note that the
> net.venge.monotone.asio branch that zack started a while ago does not use
> boost::asio, but the standalone variant that does not require linking
> against the boost libraries as far as I can tell.

It doesn't need Boost.System, but it does still depend on a few pieces
of boost that we're not currently using, notably
boost::date_time::posix_time, bleah.

> It does seem to need -lpthread on linux though as asio
> apparently uses threads internally to simulate certain
> asynchronous operations.

Yeah, there's not much of an alternative there unless you want to
implement your own DNS resolver, which isn't a good idea.  [Linux does
have getaddrinfo_a, but it's not portable, it may still use threads
under the hood, and it reports completion with *signals*.  Gag.]

> Another thought on this that I've had floating around for a while is that
> perhaps rather than starting a second process and running netsync over stdio
> we could have two separate database instances open and sync between them
> from within a single process. I haven't looked at this in any detail at all
> so it might just be a crazy idea, but I think it would avoid all of the
> windows related network issues. Maybe some of the refactoring that zack and
> markus did a while ago relating to app_state, options and database arguments
> in various api's would make the idea of having two open database objects
> less crazy?

That was one of my goals, in fact.  We may not be 100% of the way
there yet though.

zw


_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to