globus_net_manager  0.8
Python Module
Collaboration diagram for Python Module:

The Net Manager Python module is an example module that provides basic Python language bindings to the Network Manager callout functionality. To use this example, define a python module that implements the some subset of the following functions:

1 def pre_listen(task_id, transport, attrs):
2  # return list of (scope, name, value) tuples or None
3 def post_listen(task_id, transport, local_contact, attrs):
4  # return a tuple containing (local_contact_out, [(scope, name, value),...])
5 def pre_accept(task_id, transport, local_contact, attrs):
6  # return list of (scope, name, value) tuples or None
7 def post_accept(task_id, transport, local_contact, remote_contact, attrs):
8  # return list of (scope, name, value) tuples or None
9 def pre_connect(task_id, transport, remote_contact, attrs):
10  # return a tuple containing (remote_contact_out, [(scope, name, value),...])
11 def post_connect(task_id, transport, local_contact, remote_contact, attrs):
12  # return list of (scope, name, value) tuples or None
13 def pre_close(task_id, transport, local_contact, remote_contact, attrs):
14  # return None
15 def post_close(task_id, transport, local_contact, remote_contact, attrs):
16  # return None

The task_id, transport, local_contact, and remote_contact parameters to these functions are all string objects. The attrs parameter to these functions are lists of 3-tuples (scope, name, value).

To configure the network manager to use this module, set the "pymod" attribute in the "python" scope to the name of the python module to import and use. For example to use the "netman.py" module, add this attribute: ("python", "pymod", "netman").

To use this with the XIO module, set the string options module=python;pymod=netman;