Subject: Re: [boost] [gsoc] Boost.Process done
From: Boris Schaeling (boris_at_[hidden])
Date: 2010-08-31 18:10:09
On Tue, 31 Aug 2010 15:13:22 +0200, Ilya Sokolov <ilyasokol_at_[hidden]>
> [...]As a user of the library, I'm not interested which pipes are used
> I/O - anonymous or named. IMO it is better to provide exactly one
> stream behavior which supports both sync and async I/O. On windows
> it would be implemented with named pipe and UuidCreateSequential
> (as it "tends to be slightly faster than the UuidCreate" ).
> On POSIX it would be implemented with anonymous pipe.
I could add another type (asnyc_pipe?) which is set to the minimum
required pipe type on a platform? The advantage of pipe and named_pipe is
though that many developers know them and don't need to read first what
eg. an async_pipe is. As this is a problem only for Windows developers I'm
not sure either why developers on other platforms should learn new
concepts. Adding another type like async_pipe could be a compromise though?
> IMO anonymous and named pipes should be in the Boost.Interprocess
That would be OK for me although it wouldn't help much unless those types
are designed similar to the behavior types in Boost.Process (derived from
a parent class and providing methods like get_child_end() and
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk