AnyEvent-Radius
view release on metacpan or search on metacpan
lib/AnyEvent/Radius/Client.pm view on Meta::CPAN
$udp_handle_args{on_recv} = sub {
my ($data, $handle, $from) = @_;
$obj->read_cv->end;
$obj->reply_cnt($obj->reply_cnt + 1);
if ($h{on_read_raw}) {
# dump raw data
$h{on_read_raw}->($obj, $data, $from);
}
# using authenticator from request to verify reply
my $request_id = $obj->packer()->request_id($data);
# FIXME how to react on unknown request_id ?
my $send_info = delete $obj->send_cache()->{ $request_id };
if (! $send_info ) {
# got unknown reply (with wrong request id?)
if ($h{on_error}) {
$h{on_error}->($obj, 'Unknown reply');
}
else {
warn "Error: unknown reply";
lib/AnyEvent/Radius/Client.pm view on Meta::CPAN
}
$type = $RADIUS_PACKET_TYPES{$type} if exists $RADIUS_PACKET_TYPES{$type};
my ($packet, $req_id, $auth) = $self->packer()->build(
type => $type,
av_list => $av_list,
request_id => $request_id,
);
# required to verify reply
$self->send_cache()->{ $req_id } = {
authenticator => $auth,
type => $type,
callback => $cb,
time_cached => AE::now(),
};
$self->queue_cnt($self->queue_cnt() + 1);
$self->_send_packet($packet);
( run in 0.475 second using v1.01-cache-2.11-cpan-5467b0d2c73 )