NAME
Crypt::Random::Source::Base::Handle - IO::Handle based random data sources
SYNOPSIS
use Moose;
extends qw(Crypt::Random::Source::Base::Handle);
sub open_handle {
# invoked as needed
}
# this class can also be used directly
Crypt::Random::Source::Base::Handle->new( handle => $file_handle );
# it supports some standard methods:
$p->blocking(0);
$p->read( my $buf, $n ); # no error handling here
DESCRIPTION
This is a concrete base class for all IO::Handle based random data sources.
It implements error handling
ATTRIBUTES
- handle
-
An IO::Handle or file handle to read from.
- blocking
-
This is actually handled by
handle
, and is documented in IO::Handle. - allow_under_read
-
Whether or not under reading is considered an error.
Defaults to false.
- reread_attempts
-
The number of attempts to make at rereading if the handle did not provide enough bytes on the first attempt.
Defaults to 1.
Only used if
allow_under_read
is enabled.
METHODS
- get
-
See "get" in Crypt::Random::Source::Base.
When
blocking
orallow_under_read
are set to a true value this method may return fewer bytes than requested. - read
-
This delegates directly to
handle
.It DOES NOT provide the same validation as
get
would have, so no checking for underreads is done. - close
-
Close the handle and clear it.
- _read
-
$self->handle->read
but with additional error checking and different calling conventions. - _read_too_short
-
Called by
_read
when not enough data was read from the handle. Normally it will either die with an error or attempt to reread. Whenallow_under_read
is true it will just return the partial buffer. - open_handle
-
Abstract method, should return an IO::Handle to use.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 161:
=over without closing =back