NAME
DynGig::Multiplex::TCP - Multiplexed TCP Client
SYNOPSIS
## imagine these servers are echo servers ..
my
@server
=
qw( host:port /unix/domain/socket ... )
;
my
%config
= (
timeout
=> 30,
buffer
=>
'bob loblaw'
);
my
$client
= DynGig::Multiplex::TCP->new(
map
{
$_
=> \
%config
}
@server
);
my
%option
=
(
timeout
=> 300,
## global timeout in seconds
max_buf
=> 1024,
## max number of bytes in each read buffer
multiplex
=> 100,
## max number of threads
index
=>
'forward'
## index results/errors by server
verbose
=>
*STDERR
## report progress to STDERR
);
if
(
$client
->run(
%option
) )
{
my
$result
=
$client
->result() || {};
my
$error
=
$client
->error() || {};
}
else
{
$client
->error();
}
DESCRIPTION
run
Launches client with the following parameter. Returns 1 if successful. Returns 0 otherwise.
index
:
index
results/errors by server
if
set to
'forward'
timeout : global timeout in seconds
max_buf : max number of bytes in
each
read
buffer
multiplex : max number of threads
verbose : report progress to a file handle opened
for
write
.
result()
Returns undef if no result. Returns a HASH reference indexed either by server or by result (see the index parameter of run().)
error()
Returns undef if no error. Returns a string if a global error occurred, else if errors occurred with individual client/server connections, returns a HASH reference indexed either by server or by result. (see the index parameter of run().)
SEE ALSO
Socket and IO::Poll
NOTE
See DynGig::Multiplex