Alexander Nasonov wrote:
> All of you know what is pipe and what are iostreams. In this library
> they work together.
> Writer-thread put objects into pipes while reader-thread get them
> from the pipe. Ålthough objects are copied to/from pipe, this is
> often a better alternative to object sharing because the pipe manages
> inter-thread communication for you. Thus, you can concentrate on
> domain logic rather then on threading primitives.
> Unlike OS-provided pipes that operate with bytes of data this library
> is iostream based. It means that you work with objects.
> The library doesn't use OS pipes. Pipe support is implemented by hand
> with a help of Boost.Threads. Synchronization occurs only in
> underflow, overflow, sync, open and close functions which means fast
> I/O.
> The library also has two capacity models: limited and unlimited. In
> the former case, if writer goes ahead of a reader it stops and waits;
> in the latter case, the writer always allocates new block of memory
> when overflow occurs.

[...]

There is another pipestream project you can take a look at:
http://pstreams.sourceforge.net/

There was also another former implementation in the Gnu Gcc lib but it was
discarded, I don't know why.



Philippe



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to