2019-09-03 21:15:06 +10:00
|
|
|
|
[m[38;2;255;255;255m[48;2;0;0;0m[1mNet::Z3950::AsyncZ[m[38;2;255;255;255m[48;2;0;0;0m
|
|
|
|
|
|
[m[38;2;255;255;255m[48;2;0;0;0m[1mIntro[m[38;2;255;255;255m[48;2;0;0;0m
|
2016-02-05 01:37:51 +00:00
|
|
|
|
Net::Z3950::AsyncZ adds an additional layer of asynchronous support for
|
2019-09-03 21:15:06 +10:00
|
|
|
|
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.
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
2019-09-03 21:15:06 +10:00
|
|
|
|
I give a more detailed account in in the [m[38;2;255;255;255m[48;2;0;0;0m[1mDESCRIPTION[m[38;2;255;255;255m[48;2;0;0;0m section of
|
2019-07-18 23:58:01 +10:00
|
|
|
|
"AsyncZ.pod".
|
|
|
|
|
|
|
2019-09-03 21:15:06 +10:00
|
|
|
|
[m[38;2;255;255;255m[48;2;0;0;0m[1mDocumentation[m[38;2;255;255;255m[48;2;0;0;0m
|
2019-07-18 23:58:01 +10:00
|
|
|
|
AsyncZ.pod
|
2019-09-03 21:15:06 +10:00
|
|
|
|
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.
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
|
|
|
|
|
Options.pod
|
2016-02-05 01:37:51 +00:00
|
|
|
|
This document details the various options that can be set to modify
|
2019-07-18 23:58:01 +10:00
|
|
|
|
the behavior of AsyncZ Index
|
|
|
|
|
|
|
|
|
|
|
|
Report.pod
|
2019-09-03 21:15:06 +10:00
|
|
|
|
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
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
|
|
|
|
|
Examples.pod
|
|
|
|
|
|
This document goes through the sample scripts that come with the
|
2019-09-03 21:15:06 +10:00
|
|
|
|
"Net::Z3950::AsyncZ" distribution and annotates them in a line-by-line
|
|
|
|
|
|
fashion. It's a basic HOW-TO.
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
2019-09-03 21:15:06 +10:00
|
|
|
|
[m[38;2;255;255;255m[48;2;0;0;0m[1mThe Modules[m[38;2;255;255;255m[48;2;0;0;0m
|
|
|
|
|
|
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
|
2019-07-18 23:58:01 +10:00
|
|
|
|
"Net::Z3950::AsyncZ". The other modules are either internal to
|
|
|
|
|
|
"Net::AsyncZ" or accessed indirectly or in part indirectly.
|
|
|
|
|
|
|
|
|
|
|
|
Here are the modules:
|
|
|
|
|
|
Net::Z3950::AsyncZ
|
2019-09-03 21:15:06 +10:00
|
|
|
|
The main module: direct access --documented in "AsyncZ" and "Options"
|
|
|
|
|
|
documentation
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
|
|
|
|
|
Net::Z3950::AsyncZ::ErrMsg
|
2019-09-03 21:15:06 +10:00
|
|
|
|
User error message handling: indirect access -- documented in "AsyncZ"
|
|
|
|
|
|
documentation
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
|
|
|
|
|
Net::Z3950::AsyncZ::Errors
|
2019-09-03 21:15:06 +10:00
|
|
|
|
Error handling for debugging: limited access -- documented in "AsyncZ"
|
|
|
|
|
|
documentation
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
|
|
|
|
|
Net::Z3950::AsyncZ::Report
|
2019-09-03 21:15:06 +10:00
|
|
|
|
Module reponsible for fetching and formatting records: limited access
|
|
|
|
|
|
-- documented
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
|
|
|
|
|
Net::Z3950::AsyncZ::ZLoop
|
|
|
|
|
|
Event loop for child processes: no access -- not documented
|
|
|
|
|
|
|
|
|
|
|
|
Net::Z3950::AsyncZ::ZSend
|
2016-02-05 01:37:51 +00:00
|
|
|
|
Connection details for child processes: no access -- not documented
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
|
|
|
|
|
Net::Z3950::AsyncZ::Options::_params
|
2019-09-03 21:15:06 +10:00
|
|
|
|
Options for child processes: direct and indirect access -- documented
|
|
|
|
|
|
in "Options" and "AsyncZ" documentation
|
2019-07-18 23:58:01 +10:00
|
|
|
|
|
2019-09-03 21:15:06 +10:00
|
|
|
|
[m[38;2;255;255;255m[48;2;0;0;0m[1mINDEX[m[38;2;255;255;255m[48;2;0;0;0m
|
|
|
|
|
|
[m
|