Boost logo

Boost :

From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2006-01-24 07:22:30


Hi Chris,

Apologies for the tardy reply...

--- Chris Cleeland <cleeland_at_[hidden]> wrote:
> When you say "tweak the implementation", are you talking about
> modifying the distributed code? Or, are you talking about
> using language features to substitute alternative
> implementations for stuff normally provided by the lib?

The latter.

> This is quite different from what I'm talking about. What
> this sounds like to me is that you'll provide a way for the
> user of the lib to select from whatever choices you, as lib
> implementer, decide to provide.

Yep, this is what I'm planning for now.

> I'm talking about opening things up such that if somebody
> wants to provide an alternate implementation they can code
> behind an interface you dictate and hook it into your lib.

If it's a widely useful implementation, then I'd rather see it
added to the library.

In the longer term I may provide some support for substituting
implementations (possibly at runtime) but it's not high on my
list of priorities.

<snip>
[ ... TSS demuxer call stack stuff ... ]
> How does the stack get destroyed?

There's nothing to be destroyed, since the stack is just
a linked list through objects on the thread's stack. As the
objects' destructors are called they pop themselves and update
the TSS pointer to point to the new top of the stack. The last
object to be destroyed sets the TSS pointer to 0.

> Who allocates and deallocates the tss slot?

It's a static class member.

> > See asio/detail/demuxer_run_call_stack.hpp for the
> > implementation of this.
>
> I will; should I fetch the version from CVS, or is the review
> code for that area still valid?

The review version is fine. The class names have since changed
in CVS, but the implementation is the same.

Cheers,
Chris


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk