The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

ROADS::CIPv3 - A class to generate and process CIP centroids

SYNOPSIS

  use ROADS::CIPv3;
  # public methods
  CIPv3PollHandler (FD, $IafaSource, $TargetIndex);
  OutputSchema ($outline, $firstbit);
  SendCIPv3Request (FD);
  ReadCIPv3Response (FD);
  ProcessTaggedIndexObject ($ThisTemplate);

DESCRIPTION

This class implements support for generating Common Indexing Protocol (version 3) style centroids from ROADS databases. It uses some of the code in the ROADS WHOIS++ centroid library module - see ROADS::Centroid.

METHODS

CIPv3PollHandler ( FD, IafaSource, TargetIndex );

Handle the CIPv3 polling in the ROADS WHOIS++ server. The arguments are the reference to the file handle on which to read in the poll request (usually a socket) and the location of the ROADS index file that the CIP payload should be generated from.

OutputSchema ( outline, firstbit );

Used by CIPv3PollHandler to dump out the CIP tagged index object IO-Schema definition for a given object type. The first parameter is the ROADS object type we're interested in, and the second is any prefix which should be applied at the start of the IO-Scheme block in the resulting tagged index object.

SendCIPv3Request ( FD );

Sends a CIP poll request for the tagged index object type to the CPI aware server connected via the file descriptor FD.

ReadCIPv3Response ( FD );

Reads a CIP tagged index object response from the CIP aware server connected via the file descriptor FD.

ProcessTaggedIndexObject ( ThisTemplate );

Used by ReadCIPv3Response to munges tagged index object into the format used internally by the bin/wig.pl. This is passed separately via a temporary file. The parameter is the ROADS object type to use when adding the terms from the tagged index object to server's centroid.

SEE ALSO

Net::Centroid, "wppd.pl" in bin, RFC 1913, "wig.pl" in bin

COPYRIGHT

Copyright (c) 1988, Martin Hamilton <martinh@gnu.org> and Jon Knight <jon@net.lut.ac.uk>. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

It was developed by the Department of Computer Studies at Loughborough University of Technology, as part of the ROADS project. ROADS is funded under the UK Electronic Libraries Programme (eLib), the European Commission Telematics for Research Programme, and the TERENA development programme.

AUTHOR

Jon Knight <jon@net.lut.ac.uk>