{.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");
1.4.7