NAME

IOMux::Bundle - logical group of connections

INHERITANCE

IOMux::Bundle
  is an IOMux::Handler::Read
  is an IOMux::Handler

IOMux::Bundle
  is an IOMux::Handler::Write
  is an IOMux::Handler

IOMux::Bundle is extended by
  IOMux::IPC

SYNOPSIS

my $syscall = IOMux::Bundle::Parallel->new(...);
$mux->add($syscall);

DESCRIPTION

A bundle is a set of file handles, so a convenience wrapper around a set of different connections with a single purpose.

Take stdin, stdout and stderr from the viewpoint of a client process which starts an external command. So, stdin will write to the stdin of the remote process, etc.

Extends "DESCRIPTION" in IOMux::Handler::Write.

Extends "DESCRIPTION" in IOMux::Handler::Read.

METHODS

Extends "METHODS" in IOMux::Handler::Write.

Extends "METHODS" in IOMux::Handler::Read.

Constructors

Extends "Constructors" in IOMux::Handler::Write.

Extends "Constructors" in IOMux::Handler::Read.

IOMux::Bundle->new(%options)

The stdin, stdout and stderr objects are from the perspective of the other side.

-Option    --Defined in           --Default
 fh          IOMux::Handler         <required>
 name        IOMux::Handler         <stringified handle>
 read_size   IOMux::Handler::Read   32768
 stderr                             <undef>
 stdin                              <required>
 stdout                             <required>
 write_size  IOMux::Handler::Write  4096
fh => FILEHANDLE
name => STRING
read_size => INTEGER
stderr => IOMux::Handler::Read object
stdin => IOMux::Handler::Write object
stdout => IOMux::Handler::Read object
write_size => INTEGER
IOMux::Bundle->open($mode, $what, %options)

Inherited, see "Constructors" in IOMux::Handler

IOMux::Bundle->open($mode, $what, %options)

Inherited, see "Constructors" in IOMux::Handler

Accessors

Extends "Accessors" in IOMux::Handler::Write.

Extends "Accessors" in IOMux::Handler::Read.

$obj->connections()
$obj->fh()

Inherited, see "Accessors" in IOMux::Handler

$obj->fh()

Inherited, see "Accessors" in IOMux::Handler

$obj->fileno()

Inherited, see "Accessors" in IOMux::Handler

$obj->fileno()

Inherited, see "Accessors" in IOMux::Handler

$obj->mux()

Inherited, see "Accessors" in IOMux::Handler

$obj->mux()

Inherited, see "Accessors" in IOMux::Handler

$obj->name()

Inherited, see "Accessors" in IOMux::Handler

$obj->name()

Inherited, see "Accessors" in IOMux::Handler

$obj->readSize( [$integer] )

Inherited, see "Accessors" in IOMux::Handler::Read

$obj->stderr()
$obj->stdin()
$obj->stdout()
$obj->usesSSL()

Inherited, see "Accessors" in IOMux::Handler

$obj->usesSSL()

Inherited, see "Accessors" in IOMux::Handler

$obj->writeSize( [$integer] )

Inherited, see "Accessors" in IOMux::Handler::Write

User interface

Extends "User interface" in IOMux::Handler::Write.

Extends "User interface" in IOMux::Handler::Read.

Multiplexer

Extends "Multiplexer" in IOMux::Handler::Write.

Extends "Multiplexer" in IOMux::Handler::Read.

Connection

Extends "Connection" in IOMux::Handler::Write.

Extends "Connection" in IOMux::Handler::Read.

$obj->muxInit( $mux, [$handler] )

Inherited, see "Connection" in IOMux::Handler

$obj->muxInit( $mux, [$handler] )

Inherited, see "Connection" in IOMux::Handler

$obj->muxRemove()

Inherited, see "Connection" in IOMux::Handler

$obj->muxRemove()

Inherited, see "Connection" in IOMux::Handler

$obj->muxTimeout()

Inherited, see "Connection" in IOMux::Handler

$obj->muxTimeout()

Inherited, see "Connection" in IOMux::Handler

Reading

Extends "Reading" in IOMux::Handler::Write.

Extends "Reading" in IOMux::Handler::Read.

$obj->muxEOF($input)

Inherited, see "Reading" in IOMux::Handler::Read

$obj->muxExceptFlagged($fileno)

Inherited, see "Reading" in IOMux::Handler

$obj->muxExceptFlagged($fileno)

Inherited, see "Reading" in IOMux::Handler

$obj->muxInput($buffer)

Inherited, see "Reading" in IOMux::Handler::Read

$obj->muxReadFlagged($fileno)

Inherited, see "Reading" in IOMux::Handler

$obj->muxReadFlagged($fileno)

Inherited, see "Reading" in IOMux::Handler

Writing

Extends "Writing" in IOMux::Handler::Write.

Extends "Writing" in IOMux::Handler::Read.

$obj->muxOutbufferEmpty()

Inherited, see "Writing" in IOMux::Handler::Write

$obj->muxOutputWaiting()

Inherited, see "Writing" in IOMux::Handler::Write

$obj->muxWriteFlagged($fileno)

Inherited, see "Writing" in IOMux::Handler

$obj->muxWriteFlagged($fileno)

Inherited, see "Writing" in IOMux::Handler

Service

Extends "Service" in IOMux::Handler::Write.

Extends "Service" in IOMux::Handler::Read.

Errors

$obj->muxError($buffer)

Called when new input has arrived on the error channel. It is passed a reference to the error $buffer. It must remove any input that it you have consumed from the $buffer, and leave any partially received data in there for more text to arrive.

example:

# actually, this is the default behavior
sub muxError
{   my ($self, $errbuf) = @_;
    print STDERR $$errbuf;
    $$errbuf = '';
} 

Helpers

Extends "Helpers" in IOMux::Handler::Write.

Extends "Helpers" in IOMux::Handler::Read.

$obj->extractSocket(HASH)
IOMux::Bundle->extractSocket(HASH)

Inherited, see "Helpers" in IOMux::Handler

$obj->extractSocket(HASH)
IOMux::Bundle->extractSocket(HASH)

Inherited, see "Helpers" in IOMux::Handler

$obj->fdset($state, $read, $write, $error)

Inherited, see "Helpers" in IOMux::Handler

$obj->fdset($state, $read, $write, $error)

Inherited, see "Helpers" in IOMux::Handler

$obj->show()

Inherited, see "Helpers" in IOMux::Handler

$obj->show()

Inherited, see "Helpers" in IOMux::Handler

SEE ALSO

This module is part of IOMux distribution version 1.01, built on January 15, 2020. Website: http://perl.overmeer.net/CPAN

LICENSE

Copyrights 2011-2020 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/