NAME

AnyEvent::Subprocess::Job::Delegate::Handle - share a filehandle or socket with the child

VERSION

version 1.102912

INITARGS

direction

'r' for a pipe from the child to the parent, 'w' for a pipe from the parent to the child, 'rw' for a socket.

replace

Optional. If specified, can be a Perl filehandle (\*STDERR) or integer fd number (2). This filehandle will be opened to the object created by this delegate in the child. (So if you say direction => 'r', replace => \*STDERR, the parent will be able to read the child's STDERR via this delegate. If you say direction => 'w', replace => 3, then the child can open fd #3 and read from the parent.)

pass_to_child

If you don't want to replace a filehandle or file descriptor number, you can just pass the filehandle object to the child instead. If you set this to true, the child will get its end of the socket or pipe in the argument hash passed to the child coderef. The key will be the same as the name the delegate.

METHODS

handle

This is the AnyEvent::Subprocess::Handle object that you use to communicate with the child. You typically want to push_read and push_write, but all of AnyEvent::Handle's operations are available. See that manpage for further details; there is a lot you can do, and this module makes it all very easy.

AUTHOR

Jonathan Rockway <jrockway@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Jonathan Rockway.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.