Aaron Brown > perfSONAR_PS-Services-MA-CircuitStatus-0.09 > perfSONAR_PS::Services::MA::CircuitStatus

Download:
perfSONAR_PS-Services-MA-CircuitStatus-0.09.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.09   Source  

NAME ^

perfSONAR_PS::Services::MA::CircuitStatus - A module that provides methods for an E2EMon Compatible MP.

DESCRIPTION ^

This module aims to offer simple methods for dealing with requests for information, and the related tasks of interacting with backend storage.

SYNOPSIS ^

use perfSONAR_PS::Services::MA::CircuitStatus;

my %conf = readConfiguration();

my %ns = ( nmwg => "http://ggf.org/ns/nmwg/base/2.0/", ifevt => "http://ggf.org/ns/nmwg/event/status/base/2.0/", nmtm => "http://ggf.org/ns/nmwg/time/2.0/", nmwgtopo3 => "http://ggf.org/ns/nmwg/topology/base/3.0/", nmtl2 => "http://ggf.org/ns/nmwg/topology/l2/3.0/", nmtl3 => "http://ggf.org/ns/nmwg/topology/l3/3.0/", );

my $ma = perfSONAR_PS::Services::MA::CircuitStatus->new(\%conf, \%ns);

# or # $ma = perfSONAR_PS::Services::MA::CircuitStatus->new; # $ma->setConf(\%conf); # $ma->setNamespaces(\%ns);

if ($ma->init != 0) { print "Error: couldn't initialize measurement archive\n"; exit(-1); }

while(1) { my $request = $ma->receive; $ma->handleRequest($request); }

API ^

The offered API is simple, but offers the key functions we need in a measurement archive.

init

       Initializes the MP and validates or fills in entries in the
    configuration file. Returns 0 on success and -1 on failure.

receive($self)

    Grabs an incoming message from transport object to begin processing. It
    completes the processing if the message was handled by a lower layer.
    If not, it returns the Request structure.

handleRequest($self, $request)

    Handles the specified request returned from receive()

__handleRequest($self)

    Validates that the message is one that we can handle, calls the
    appropriate function for the message type and builds the response
    message. 

parseRequest($self, $request)

    Goes through each metadata/data pair, extracting the eventType and
    calling the function associated with that eventType.

handlePathStatusRequest($self, $time)

    Performs the required steps to handle a path status message: contacts
    the topology service to resolve node information, contacts the LS if
    needed to find the link status service, contacts the link status
    service and munges the results.

outputNodes($nodes)

    Takes the set of nodes and outputs them in an E2EMon compatiable
    format.

outputCircuits($circuits)

    Takes the set of links and outputs them in an E2EMon compatiable
    format.

parseCircuitsFile($file)

    Parses the links configuration file. It returns an array containg up to
    five values. The first value is the status and can be one of 0 or -1.
    If it is -1, parsing the configuration file failed and the error
    message is in the next value. If the status is 0, the next 4 values are
    the domain name, a pointer to the set of links, a pointer to a hash
    containg the set of nodes to lookup in the topology service and a
    pointer to a hash containing the set of links to lookup in the status
    service.

parseTopology($topology, $nodes, $domain_name)

    Parses the output from the topology service and fills in the details
    for the nodes. The domain name is passed so that when a node has no
    name specified in the configuration file, it can be constructd based on
    the domain name and the node's name in the topology service.

SEE ALSO ^

perfSONAR_PS::Services::Base, perfSONAR_PS::Services::MA::General, perfSONAR_PS::Common, perfSONAR_PS::Messages, perfSONAR_PS::Transport, perfSONAR_PS::Client::Status::MA, perfSONAR_PS::Client::Topology::MA

To join the 'perfSONAR-PS' mailing list, please visit:

https://mail.internet2.edu/wws/info/i2-perfsonar

The perfSONAR-PS subversion repository is located at:

https://svn.internet2.edu/svn/perfSONAR-PS

Questions and comments can be directed to the author, or the mailing list.

VERSION ^

$Id:$

AUTHOR ^

Aaron Brown, aaron@internet2.edu

LICENSE ^

You should have received a copy of the Internet2 Intellectual Property Framework along with this software. If not, see <http://www.internet2.edu/membership/ip.html>

COPYRIGHT ^

Copyright (c) 2004-2007, Internet2 and the University of Delaware

All rights reserved.

syntax highlighting: