Pipeline::Dispatch - dispatcher for pipeline segments
use Pipeline::Dispatch;
my $dispatcher = Pipeline::Dispatch->new();
$dispatcher->segments();
$dispatcher->add( Pipeline::Segment->new() );
$dispatcher->delete( 0 );
$dispatcher->segment_available && $dispatcher->next()
my $method = $dispatcher->dispatch_method();
"Pipeline::Dispatch" simply accepts pipeline
segments and does very little with them. It can dispatch segments in order,
one by one. It is also capable of altering the way in which it dispatches to
each segment, both on a pipeline basis, and on a segment-by-segment basis.
- new()
- The "new()" constructor simply returns a
new dispatcher object.
- segments( [ARRAYREF] )
- The "segments()" method returns the
dispatchers list of remaining segments as an array reference. Optionally
the ARRAYREF argument can be given to the
"segments()" method, which will set the
list.
- add( LIST )
- The "add()" method adds one or more
segments to the dispatchers segment list.
- delete( INTEGER )
- The "delete()" method removes the
segment at index INTEGER from the list of segments.
- segment_available()
- The "segment_available()" method returns
true or false, depending on whether or not there is a segment available to
dispatch to.
- next( [ Pipeline ] )
- The "next()" method dispatches the next
segment in the segment list. It optionally takes a Pipeline object that is
handed down to the segment.
- dispatch_method( [STRING] )
- The "dispatch_method()" method gets and
sets the method name to call globally on each segment for dispatch.
Individual segments can override this if they set dispatch_method
themselves.
- dispatched_segments( [ARRAYREF] )
- The "dispatched_segments()" method gets
and sets the list of segments that have already been dispatched. Used by
the "reset()" method, and probably
should not be called by the user..
- reset()
- <reset()> puts the dispatcher back into an undispatched state
- all the segments are available for dispatch again.
Pipeline::Segment Pipeline
James A. Duncan <jduncan@fotango.com>
Copyright 2003 Fotango Ltd. All Rights Reserved.
This software is released under the same terms as Perl itself.
http://opensource.fotango.com
Hey! The above document had some coding errors, which are explained
below:
- Around line 223:
- =cut found outside a pod block. Skipping to next block.