globus_net_manager_python(3) | globus_net_manager | globus_net_manager_python(3) |
globus_net_manager_python - Python Module
- Net Manager Python Module.
Net Manager 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:
def pre_listen(task_id, transport, attrs):
# return list of (scope, name, value) tuples or None def post_listen(task_id, transport, local_contact, attrs):
# return a tuple containing (local_contact_out, [(scope, name, value),...]) def end_listen(task_id, transport, local_contact, attrs):
# return a list of (scope, name, value) tuples or None def pre_accept(task_id, transport, local_contact, attrs):
# return list of (scope, name, value) tuples or None def post_accept(task_id, transport, local_contact, remote_contact, attrs):
# return list of (scope, name, value) tuples or None def pre_connect(task_id, transport, remote_contact, attrs):
# return a tuple containing (remote_contact_out, [(scope, name, value),...]) def post_connect(task_id, transport, local_contact, remote_contact, attrs):
# return list of (scope, name, value) tuples or None def pre_close(task_id, transport, local_contact, remote_contact, attrs):
# return None def post_close(task_id, transport, local_contact, remote_contact, attrs):
# 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 use this with the GridFTP server, add a file containing the following to the GridFTP configuration directory /etc/gridftp.d:
$PYTHONPATH PATH xnetmgr "manager=python;pymod=MODULE_NAME;"
Where 'PATH' is the directory containing your module and 'MODULE_NAME' is the
name of the python module that you would use to import it (i.e. without the
'.py' extension). So a module '/usr/local/globus/routeman.py' would
require
$PYTHONPATH /usr/local/globus xnetmgr "manager=python;pymod=routeman;"
To use this with the XIO module directly, set the string options manager=python;pymod=routeman;. You'll need to set the PYTHONPATH environment variable elsewhere.
To configure the network manager to use this module directly without XIO, set the 'pymod' attribute in the 'python' scope to the name of the python module to import and use. For example:
globus_net_manager_attr_init(
&attr,
"python",
"pymod",
"routeman");
and pass this to the context functions.
Generated automatically by Doxygen for globus_net_manager from the source code.
Tue Jul 5 2022 | Version 1.7 |