The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Net::Z3950::AsyncZ

Intro

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.

I give a more detailed account in the DESCRIPTION section of AsyncZ.html.

I give a more detailed account in in the DESCRIPTION section of AsyncZ.pod.

Documentation

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.

Options.pod

This document details the various options that can be set to modify the behavior of AsyncZ Index

Report.pod

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

Examples.pod

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.

  • AsyncZ.html
    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 for detailed explanations of the sample scripts which come with the Net::Z3950::AsyncZ distribution.
  • Options.html
    This document details the various options that can be set to modify the behavior of AsyncZ
  • Report.html
    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
  • Examples.html 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.

The Modules

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.

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.

Here are the modules:

Net::Z3950::AsyncZ

The main module: direct access --documented in AsyncZ and Options documentation

Net::Z3950::AsyncZ::ErrMsg

User error message handling: indirect access -- documented in AsyncZ documentation

Net::Z3950::AsyncZ::Errors

Error handling for debugging: limited access -- documented in AsyncZ documentation

Net::Z3950::AsyncZ::Report

Module reponsible for fetching and formatting records: limited access -- documented

Net::Z3950::AsyncZ::ZLoop

Event loop for child processes: no access -- not documented

Net::Z3950::AsyncZ::ZSend

Connection details for child processes: no access -- not documented

Net::Z3950::AsyncZ::Options::_params

Options for child processes: direct and indirect access -- documented in Options and AsyncZ documentation

INDEX

%MARC_FIELDS_STD
%MARC_FIELDS_XTRA
@EXPORT
@EXPORT_OK
abort
ABSTRACT
Apologia
AUTHOR
Basic Mechanisms of Net::Z3950::AsyncZ
Basic Script
basic.pl
basic_pretty error-handling function
basic_pretty output function
basic_pretty.pl
callback
Callback Functions
cb
Changing %MARC_FIELDS
Class Methods
Constructor
Constructor and Methods
Constructor, Methods, and Exports
COPYRIGHT AND LICENSE
Dealing with Headers in the Callback Function
DEFAULT
DESCRIPTION
doAbort
doRetry
errno
error-handling function
Errors
Example 1
Example 2
Example 3
Examples of Net::Z3950::AsyncZ::ErrMsg Error Handling
Exported Names
Exports from Net::Z3950::AsyncZ
Exports from Net::Z3950::AsyncZ::ErrMsg
Exports from Net::Z3950::AsyncZ::Errors
For example:
format
Format Callback
Format Callback (not required)
format function:
Format Methods
get/set methods
get_DEFAULT_pat
get_GRS1_pat
get_MARC_pat
get_pats
get_RAW_pat
getErrors
getMaxErrors
getZ_RecNum
GRS-1
header
Headers
HTML
interval
Introduction
isNetwork
isSuccess
isSystem
isTryAgain
isUnspecified
isZ3950
isZ_Error
isZ_Info
isZ_nonRetryable
isZ_ServerName
log
Main Routine
MARC
MARC Bibliographic Format
MARC Example
MARC fields priority sequence:
marc_fields
marc_subst
marc_userdef
marc_xcl
maxpipes
Methods
Methods for Setting _params Options
Methods to deal with errors and error messages
Methods to handle several types of headers which AsyncZ attaches to records
Methods to set options for Net::Z3950::AsyncZ::Options::_params objects
monitor
more_pretty format function
more_pretty Main Routine
more_pretty.pl
msg
NAME
Net::Z3950::AsyncZ By Example
Net::Z3950::AsyncZ methods for ErrMsg handling
Net::Z3950::AsyncZ::_printError
Net::Z3950::AsyncZ::asyncZOptions
Net::Z3950::AsyncZ::ErrMsg
Net::Z3950::AsyncZ::ErrMsg methods for ErrMsg Handling
Net::Z3950::AsyncZ::ErrMsg Object
Net::Z3950::AsyncZ::Errors
Net::Z3950::AsyncZ::getErrors
Net::Z3950::AsyncZ::getMaxErrors
Net::Z3950::AsyncZ::getZ_RecNum
Net::Z3950::AsyncZ::isZ_DEFAULT
Net::Z3950::AsyncZ::isZ_Error
Net::Z3950::AsyncZ::isZ_GRS
Net::Z3950::AsyncZ::isZ_Header
Net::Z3950::AsyncZ::isZ_Info
Net::Z3950::AsyncZ::isZ_MARC
Net::Z3950::AsyncZ::isZ_nonRetryable
Net::Z3950::AsyncZ::isZ_PID
Net::Z3950::AsyncZ::isZ_RAW
Net::Z3950::AsyncZ::isZ_ServerName
Net::Z3950::AsyncZ::new
Net::Z3950::AsyncZ::noZ_Response
Net::Z3950::AsyncZ::Option::_params::invalidOption
Net::Z3950::AsyncZ::Option::_params::option
Net::Z3950::AsyncZ::Option::_params::test
Net::Z3950::AsyncZ::Option::_params::validOption
Net::Z3950::AsyncZ::Options::_params
Net::Z3950::AsyncZ::Report::new
Net::Z3950::AsyncZ::reportResult
Net::Z3950::AsyncZ::Z_ServerName
Note:
noZ_Response
num_to_fetch
Object Method
Object Methods
Optional Parameters for Constructor
options
options.pl
or:
Output Callback
Output Callback (required)
output function
outputs an error string of the following format:
Overview
parameters:
params:
pipetimeout
Plain Text
preferredRecordSyntax
query
querytype
RAW
record
Record Data
Record Format Types
Required Parameters for Constructor
retry
return value:
return:
returns
returns:
Row Formatting Priorities
servers
Setting Options
Some Useful MARC web links:
startrec
Subroutines
SYNOPSIS
timeout
timeout_min
type
type of record:
Types of Headers
Types of Options
Types:
User Defined Formatting
Using the
Word about Parameters and Options
Z3950_options
Z_ServerName