API.PYTHON 1.86 KB
Newer Older
1 2
#
# Copyright (c) 2004 University of Utah and the Flux Group.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
# 
# {{{EMULAB-LICENSE
# 
# This file is part of the Emulab network testbed software.
# 
# This file is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at
# your option) any later version.
# 
# This file is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
# License for more details.
# 
# You should have received a copy of the GNU Affero General Public License
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
# 
# }}}
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
#

This is the documentation for the Python API to the event system...

The Python version of the API is related to the Perl version in that
they both use the same SWIG infrastructure.  The difference is in the
presentations, where the Perl API is basically the same as the C
version, the Python API provides a couple of wrapper classes to make
things easier.

CLASS OVERVIEW

The classes are contained in the "tbevent" module, currently, there
are two that are of any consequence.  A brief overview of the classes
follows, consult the tbevent.py.tail source for more information.

  EventClient - The base class for event system clients.  Subscribers
    should create a subclass and override the "handle_event" method to
    process incoming events.  Publishers do not need to create a
    subclass, the base class already provides the necessary
    functionality.

  NotificationWrapper - A wrapper for event_notification structures,
    contains common setter and getter methods for accessing the
    structure.


EXAMPLES

See the tbsend.py and tbrecv.py files in the examples directory.