J
James
Need help to understand the following syntax.
Net::SSH:
erl package, in Channel.pm, line 142,
142: $r->{code}->( $c, $c->{$buf}, @{ $r->{extra} } );
in sub process_buffers,
sub process_buffers {
my $c = shift;
my($rready, $wready) = @_;
my %fd = (output => $c->{wfd}, extended => $c->{efd});
for my $buf (keys %fd) {
if ($fd{$buf} && grep { $fd{$buf} == $_ } @$wready) {
if (my $r = $c->{handlers}{"_${buf}_buffer"}) {
$r->{code}->( $c, $c->{$buf}, @{ $r->{extra} } );
}
else {
#warn "No handler for '$buf' buffer set up";
}
$c->{local_consumed} += $c->{$buf}->length
if $buf eq "output";
$c->{$buf}->empty;
}
}
if ($c->{rfd} && grep { $c->{rfd} == $_ } @$rready) {
my $buf;
sysread $c->{rfd}, $buf, 8192;
($buf) = $buf =~ /(.*)/s;
$c->send_data($buf);
}
}
TIA
James
Net::SSH:
142: $r->{code}->( $c, $c->{$buf}, @{ $r->{extra} } );
in sub process_buffers,
sub process_buffers {
my $c = shift;
my($rready, $wready) = @_;
my %fd = (output => $c->{wfd}, extended => $c->{efd});
for my $buf (keys %fd) {
if ($fd{$buf} && grep { $fd{$buf} == $_ } @$wready) {
if (my $r = $c->{handlers}{"_${buf}_buffer"}) {
$r->{code}->( $c, $c->{$buf}, @{ $r->{extra} } );
}
else {
#warn "No handler for '$buf' buffer set up";
}
$c->{local_consumed} += $c->{$buf}->length
if $buf eq "output";
$c->{$buf}->empty;
}
}
if ($c->{rfd} && grep { $c->{rfd} == $_ } @$rready) {
my $buf;
sysread $c->{rfd}, $buf, 8192;
($buf) = $buf =~ /(.*)/s;
$c->send_data($buf);
}
}
TIA
James