20 _pipes.push_back (pipe_);
30 if (
index == _current && _more)
35 if (
index < _active) {
37 _pipes.swap (
index, _active);
38 if (_current == _active)
47 _pipes.swap (_pipes.index (pipe_), _active);
53 return sendpipe (msg_,
NULL);
64 int rc = msg_->
close ();
72 if (_pipes[_current]->write (msg_)) {
74 *pipe_ = _pipes[_current];
82 _pipes[_current]->rollback ();
104 if (_current < _active)
105 _pipes.swap (_current, _active);
120 _pipes[_current]->flush ();
122 if (++_current >= _active)
127 const int rc = msg_->
init ();
140 while (_active > 0) {
142 if (_pipes[_current]->check_write ())
147 _pipes.swap (_current, _active);
148 if (_current == _active)