|
NAMECrypt::Random::Source::Base::Handle - IO::Handle based random data sourcesVERSIONversion 0.12SYNOPSISuse Moo; 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 DESCRIPTIONThis is a concrete base class for all IO::Handle based random data sources.It implements error handling ATTRIBUTEShandleAn IO::Handle or file handle to read from.blockingThis is actually handled by "handle", and is documented in IO::Handle.allow_under_readWhether or not under reading is considered an error.Defaults to false. reread_attemptsThe 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. METHODSgetSee "get" in Crypt::Random::Source::Base.When "blocking" or "allow_under_read" are set to a true value this method may return fewer bytes than requested. readThis delegates directly to "handle".It DOES NOT provide the same validation as "get" would have, so no checking for underreads is done. closeClose the handle and clear it._read"$self->handle->read" but with additional error checking and different calling conventions._read_too_shortCalled by "_read" when not enough data was read from the handle. Normally it will either die with an error or attempt to reread. When "allow_under_read" is true it will just return the partial buffer.open_handleAbstract method, should return an IO::Handle to use.SUPPORTBugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=Crypt-Random-Source> (or bug-Crypt-Random-Source@rt.cpan.org <mailto:bug-Crypt-Random-Source@rt.cpan.org>).AUTHORיובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>COPYRIGHT AND LICENCEThis software is copyright (c) 2008 by Yuval Kogman.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Visit the GSP FreeBSD Man Page Interface. |