TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
gathers input from multiple TAP::Parsers.
Internally it calls select on the input file handles for those parsers
to wait for one or more of them to have input available.
See TAP::Harness for an example of its use.
- my $mux = TAP::Parser::Multiplexer->new;
Returns a new
- $mux->add( $parser, $stash );
Add a TAP::Parser to the multiplexer.
is an optional opaque
reference that will be returned from
next along with the parser and
the next result.
- my $count = $mux->parsers;
Returns the number of parsers. Parsers are removed from the multiplexer when their input is exhausted.
Return a result from the next available parser. Returns a list containing the parser from which the result came, the stash that corresponds with that parser and the result.
- my ( $parser, $stash, $result ) = $mux->next;
is undefined the corresponding parser has reached the end
of its input (and will automatically be removed from the multiplexer).
When all parsers are exhausted an empty list will be returned.