
Net::Z3950::AsyncZ adds an additional layer of asynchronous support for the Z3950 module through the use of multiple forked processes.
I hope that users will also find that it provides a convenient front end to Net::Z3950.
My initial idea was to write something that would provide a convenient means of processing and formatting Z39.50 records--which I did,
using the Z3950 synchronous code.
But I also wanted something that could handle queries to large numbers of servers at one session.
Working on this part of my project,
I found that I had trouble with the Z3950 asynchronous features and so ended up with what I have here.
AsyncZ.html.
I give a more detailed account in in the DESCRIPTION section of AsyncZ.pod.
This is the starting point--it gives an overview of the AsyncZ module,
describes the basic mechanics of its asynchronous workings,
and details the particulars of the objects and methods.
But see ""Examples.pod" for detailed explanations of the sample scripts which come with the Net::Z3950::AsyncZ distribution.
This document details the various options that can be set to modify the behavior of AsyncZ Index
Report.pod deals with how records are treated line by line and how you can affect the apearance of a record's line by line output
This document goes through the sample scripts that come with the Net::Z3950::AsyncZ distribution and annotates them in a line-by-line fashion.
It's a basic HOW-TO.
Net::Z3950::AsyncZ distribution.
AsyncZ
Report.html deals with how records are treated line by line
and how you can affect the apearance of a record's line by line output
Net::Z3950::AsyncZ distribution and annotates them
in a line-by-line fashion. It's a basic HOW-TO.
There are more modules than there is documentation.
The reason for this is that the only module you have full and complete access to is Net::Z3950::AsyncZ.
The other modules are either internal to Net::AsyncZ or accessed indirectly or in part indirectly.
Net::Z3950::AsyncZ. The other modules are either internal to Net::AsyncZ
or accessed indirectly or in part indirectly.
The main module: direct access --documented in AsyncZ and Options documentation
User error message handling: indirect access -- documented in AsyncZ documentation
Error handling for debugging: limited access -- documented in AsyncZ documentation
Module reponsible for fetching and formatting records: limited access -- documented
Event loop for child processes: no access -- not documented
Connection details for child processes: no access -- not documented
Options for child processes: direct and indirect access -- documented in Options and AsyncZ documentation

%MARC_FIELDS_STD%MARC_FIELDS_XTRA@EXPORT@EXPORT_OKabortABSTRACTApologiaAUTHORBasic Mechanisms of Net::Z3950::AsyncZBasic Scriptbasic.plbasic_pretty error-handling functionbasic_pretty output functionbasic_pretty.plcallbackCallback FunctionscbChanging %MARC_FIELDSClass MethodsConstructorConstructor and MethodsConstructor, Methods, and ExportsCOPYRIGHT AND LICENSEDealing with Headers in the Callback FunctionDEFAULTDESCRIPTIONdoAbortdoRetryerrnoerror-handling functionErrorsExample 1Example 2Example 3Examples of Net::Z3950::AsyncZ::ErrMsg Error HandlingExported NamesExports from Net::Z3950::AsyncZExports from Net::Z3950::AsyncZ::ErrMsgExports from Net::Z3950::AsyncZ::ErrorsFor example:formatFormat CallbackFormat Callback (not required)format function:Format Methodsget/set methodsget_DEFAULT_patget_GRS1_patget_MARC_patget_patsget_RAW_patgetErrorsgetMaxErrorsgetZ_RecNumGRS-1headerHeadersHTMLintervalIntroductionisNetworkisSuccessisSystemisTryAgainisUnspecifiedisZ3950isZ_ErrorisZ_InfoisZ_nonRetryableisZ_ServerNamelogMain RoutineMARCMARC Bibliographic FormatMARC ExampleMARC fields priority sequence:marc_fieldsmarc_substmarc_userdefmarc_xclmaxpipesMethodsMethods for Setting _params OptionsMethods to deal with errors and error messagesMethods to handle several types of headers which AsyncZ attaches to recordsMethods to set options for Net::Z3950::AsyncZ::Options::_params objectsmonitormore_pretty format functionmore_pretty Main Routinemore_pretty.plmsgNAMENet::Z3950::AsyncZ By ExampleNet::Z3950::AsyncZ methods for ErrMsg handlingNet::Z3950::AsyncZ::_printErrorNet::Z3950::AsyncZ::asyncZOptionsNet::Z3950::AsyncZ::ErrMsgNet::Z3950::AsyncZ::ErrMsg methods for ErrMsg HandlingNet::Z3950::AsyncZ::ErrMsg ObjectNet::Z3950::AsyncZ::ErrorsNet::Z3950::AsyncZ::getErrorsNet::Z3950::AsyncZ::getMaxErrorsNet::Z3950::AsyncZ::getZ_RecNumNet::Z3950::AsyncZ::isZ_DEFAULTNet::Z3950::AsyncZ::isZ_ErrorNet::Z3950::AsyncZ::isZ_GRSNet::Z3950::AsyncZ::isZ_HeaderNet::Z3950::AsyncZ::isZ_InfoNet::Z3950::AsyncZ::isZ_MARCNet::Z3950::AsyncZ::isZ_nonRetryableNet::Z3950::AsyncZ::isZ_PIDNet::Z3950::AsyncZ::isZ_RAWNet::Z3950::AsyncZ::isZ_ServerNameNet::Z3950::AsyncZ::newNet::Z3950::AsyncZ::noZ_ResponseNet::Z3950::AsyncZ::Option::_params::invalidOptionNet::Z3950::AsyncZ::Option::_params::optionNet::Z3950::AsyncZ::Option::_params::testNet::Z3950::AsyncZ::Option::_params::validOptionNet::Z3950::AsyncZ::Options::_paramsNet::Z3950::AsyncZ::Report::newNet::Z3950::AsyncZ::reportResultNet::Z3950::AsyncZ::Z_ServerNameNote:noZ_Responsenum_to_fetchObject MethodObject MethodsOptional Parameters for Constructoroptionsoptions.plor:Output CallbackOutput Callback (required)output functionoutputs an error string of the following format:Overviewparameters:params:pipetimeoutPlain TextpreferredRecordSyntaxqueryquerytypeRAWrecordRecord DataRecord Format TypesRequired Parameters for Constructorretryreturn value:return:returnsreturns:Row Formatting PrioritiesserversSetting OptionsSome Useful MARC web links:startrecSubroutinesSYNOPSIStimeouttimeout_mintypetype of record:Types of HeadersTypes of OptionsTypes:User Defined FormattingUsing theWord about Parameters and OptionsZ3950_optionsZ_ServerName