{.py} 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
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;"
$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");