Permalink
Browse files

Finished refactor

  • Loading branch information...
exodist committed Jul 24, 2010
1 parent 2b3c499 commit 2440745a368f071ffddeb24077427556c0781fe9
View
12 README
@@ -105,6 +105,18 @@ OBJECT METHODS
$proc = $child->start()
Start the child process.
+SEE ALSO
+ Child::Link::Proc
+ The proc object that is returned by $child->start()
+
+ Child::Link::Parent
+ The parent object that is provided as the argumunt to the function
+ used to define the child.
+
+ Child::Link::IPC
+ The base class for IPC plugin link objects. This provides the IPC
+ methods.
+
HISTORY
Most of this was part of Parrallel::Runner intended for use in the
Fennec project. Fennec is being broken into multiple parts, this is one
View
@@ -217,6 +217,25 @@ Start the child process.
=back
+=head1 SEE ALSO
+
+=over 4
+
+=item L<Child::Link::Proc>
+
+The proc object that is returned by $child->start()
+
+=item L<Child::Link::Parent>
+
+The parent object that is provided as the argumunt to the function used to
+define the child.
+
+=item L<Child::Link::IPC>
+
+The base class for IPC plugin link objects. This provides the IPC methods.
+
+=back
+
=head1 HISTORY
Most of this was part of L<Parrallel::Runner> intended for use in the L<Fennec>
View
@@ -25,3 +25,49 @@ sub new {
}
1;
+
+=head1 NAME
+
+Child::IPC::Pipe - Pipe based IPC plugin for L<Child>
+
+=head1 DESCRIPTION
+
+Creates 2 pipes just before forking.
+
+=head1 HISTORY
+
+Most of this was part of L<Parrallel::Runner> intended for use in the L<Fennec>
+project. Fennec is being broken into multiple parts, this is one such part.
+
+=head1 FENNEC PROJECT
+
+This module is part of the Fennec project. See L<Fennec> for more details.
+Fennec is a project to develop an extendable and powerful testing framework.
+Together the tools that make up the Fennec framework provide a potent testing
+environment.
+
+The tools provided by Fennec are also useful on their own. Sometimes a tool
+created for Fennec is useful outside the greator framework. Such tools are
+turned into their own projects. This is one such project.
+
+=over 2
+
+=item L<Fennec> - The core framework
+
+The primary Fennec project that ties them all together.
+
+=back
+
+=head1 AUTHORS
+
+Chad Granum L<exodist7@gmail.com>
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010 Chad Granum
+
+Child is free software; Standard perl licence.
+
+Child is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the license for more details.
View
@@ -24,3 +24,45 @@ sub new {
}
1;
+
+=head1 NAME
+
+Child::Link - Base class for objects that link child and parent processes.
+
+=head1 HISTORY
+
+Most of this was part of L<Parrallel::Runner> intended for use in the L<Fennec>
+project. Fennec is being broken into multiple parts, this is one such part.
+
+=head1 FENNEC PROJECT
+
+This module is part of the Fennec project. See L<Fennec> for more details.
+Fennec is a project to develop an extendable and powerful testing framework.
+Together the tools that make up the Fennec framework provide a potent testing
+environment.
+
+The tools provided by Fennec are also useful on their own. Sometimes a tool
+created for Fennec is useful outside the greator framework. Such tools are
+turned into their own projects. This is one such project.
+
+=over 2
+
+=item L<Fennec> - The core framework
+
+The primary Fennec project that ties them all together.
+
+=back
+
+=head1 AUTHORS
+
+Chad Granum L<exodist7@gmail.com>
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010 Chad Granum
+
+Child is free software; Standard perl licence.
+
+Child is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the license for more details.
View
@@ -10,9 +10,10 @@ add_accessors qw/ipc/;
add_abstract qw/
read_handle
write_handle
- init
/;
+sub init {}
+
sub new {
my $class = shift;
my ( $pid, @shared ) = @_;
@@ -61,3 +62,111 @@ sub write {
}
1;
+
+=head1 NAME
+
+Child::Link::IPC - Base class for process links that provide IPC.
+
+=head1 SEE ALSO
+
+This class inherits from:
+
+=over 4
+
+=item L<Child::Link>
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item $proc->new( $pid. @shared )
+
+Constructor
+
+=item $proc->read()
+
+Read a message from the child.
+
+=item $proc->write( @MESSAGES )
+
+Send the messages to the child. works like print, you must add "\n".
+
+=item $proc->say( @MESSAGES )
+
+Send the messages to the child. works like say, adds the seperator for you
+(usually "\n").
+
+=item $proc->autoflush( $BOOL )
+
+Turn autoflush on/off for the current processes write handle. This is on by
+default.
+
+=item $proc->flush()
+
+Flush the current processes write handle.
+
+=item $proc->ipc()
+
+=item $proc->_ipc( $new )
+
+Accessors for you to use or ignore.
+
+=back
+
+=head1 ABSTRACT METHODS
+
+=over 4
+
+=item $proc->read_handle()
+
+Should return a read handle for reading from the child.
+
+=item $proc->write_handle()
+
+Should return a write handle for writing to the child.
+
+=item $proc->init( @shared )
+
+Called by new during construction
+
+=back
+
+=head1 HISTORY
+
+Most of this was part of L<Parrallel::Runner> intended for use in the L<Fennec>
+project. Fennec is being broken into multiple parts, this is one such part.
+
+=head1 FENNEC PROJECT
+
+This module is part of the Fennec project. See L<Fennec> for more details.
+Fennec is a project to develop an extendable and powerful testing framework.
+Together the tools that make up the Fennec framework provide a potent testing
+environment.
+
+The tools provided by Fennec are also useful on their own. Sometimes a tool
+created for Fennec is useful outside the greator framework. Such tools are
+turned into their own projects. This is one such project.
+
+=over 2
+
+=item L<Fennec> - The core framework
+
+The primary Fennec project that ties them all together.
+
+=back
+
+=head1 AUTHORS
+
+Chad Granum L<exodist7@gmail.com>
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010 Chad Granum
+
+Child is free software; Standard perl licence.
+
+Child is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the license for more details.
View
@@ -28,3 +28,56 @@ sub init {
}
1;
+
+=head1 NAME
+
+Child::Link::IPC::Pipe - Base class for link objects used by the
+L<Child::IPC::Pipe> plugin.
+
+=head1 SEE ALSO
+
+This class inherits from:
+
+=over 4
+
+=item L<Child::Link::IPC>
+
+=back
+
+=head1 HISTORY
+
+Most of this was part of L<Parrallel::Runner> intended for use in the L<Fennec>
+project. Fennec is being broken into multiple parts, this is one such part.
+
+=head1 FENNEC PROJECT
+
+This module is part of the Fennec project. See L<Fennec> for more details.
+Fennec is a project to develop an extendable and powerful testing framework.
+Together the tools that make up the Fennec framework provide a potent testing
+environment.
+
+The tools provided by Fennec are also useful on their own. Sometimes a tool
+created for Fennec is useful outside the greator framework. Such tools are
+turned into their own projects. This is one such project.
+
+=over 2
+
+=item L<Fennec> - The core framework
+
+The primary Fennec project that ties them all together.
+
+=back
+
+=head1 AUTHORS
+
+Chad Granum L<exodist7@gmail.com>
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010 Chad Granum
+
+Child is free software; Standard perl licence.
+
+Child is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the license for more details.
@@ -12,3 +12,59 @@ use base qw/
sub cross_pipes { 1 };
1;
+
+=head1 NAME
+
+Child::Link::IPC::Pipe::Parent - Parent object used by the pipe plugin.
+
+=head1 SEE ALSO
+
+This class inherits from:
+
+=over 4
+
+=item L<Child::Link::Parent>
+
+=item L<Child::Link::IPC>
+
+=item L<Child::Link::IPC::Pipe>
+
+=back
+
+=head1 HISTORY
+
+Most of this was part of L<Parrallel::Runner> intended for use in the L<Fennec>
+project. Fennec is being broken into multiple parts, this is one such part.
+
+=head1 FENNEC PROJECT
+
+This module is part of the Fennec project. See L<Fennec> for more details.
+Fennec is a project to develop an extendable and powerful testing framework.
+Together the tools that make up the Fennec framework provide a potent testing
+environment.
+
+The tools provided by Fennec are also useful on their own. Sometimes a tool
+created for Fennec is useful outside the greator framework. Such tools are
+turned into their own projects. This is one such project.
+
+=over 2
+
+=item L<Fennec> - The core framework
+
+The primary Fennec project that ties them all together.
+
+=back
+
+=head1 AUTHORS
+
+Chad Granum L<exodist7@gmail.com>
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010 Chad Granum
+
+Child is free software; Standard perl licence.
+
+Child is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the license for more details.
Oops, something went wrong.

0 comments on commit 2440745

Please sign in to comment.