logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

globus_net_manager_python - Python Module

Author

       Generated automatically by Doxygen for globus_net_manager from the source code.

globus_net_manager                                 Version 1.7                      globus_net_manager_python(3)

Detailed Description

       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.

Name

       globus_net_manager_python - Python Module

        - Net Manager Python Module.

Synopsis

See Also