/usr/share/doc/libglobus-net-manager-dev/html/group__globus__net__manager__python.html is in libglobus-net-manager-doc 0.16-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>globus_net_manager: Python Module</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">globus_net_manager
 <span id="projectnumber">0.16</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Python Module<div class="ingroups"><a class="el" href="group__globus__net__manager.html">Net Manager</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Net Manager Python Module.
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for Python Module:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__globus__net__manager__python.png" border="0" alt="" usemap="#group____globus____net____manager____python"/>
<map name="group____globus____net____manager____python" id="group____globus____net____manager____python">
<area shape="rect" id="node1" href="group__globus__net__manager.html" title="Net Manager API. " alt="" coords="5,5,111,32"/>
</map>
</td></tr></table></center>
</div>
<p>Net Manager Python Module. </p>
<p>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: </p><div class="fragment"><div class="line">def pre_listen(task_id, transport, attrs):</div><div class="line"> <span class="comment"># return list of (scope, name, value) tuples or None</span></div><div class="line"><span class="keyword">def </span>post_listen(task_id, transport, local_contact, attrs):</div><div class="line"> <span class="comment"># return a tuple containing (local_contact_out, [(scope, name, value),...])</span></div><div class="line"><span class="keyword">def </span>end_listen(task_id, transport, local_contact, attrs):</div><div class="line"> <span class="comment"># return a list of (scope, name, value) tuples or None</span></div><div class="line"><span class="keyword">def </span>pre_accept(task_id, transport, local_contact, attrs):</div><div class="line"> <span class="comment"># return list of (scope, name, value) tuples or None</span></div><div class="line"><span class="keyword">def </span>post_accept(task_id, transport, local_contact, remote_contact, attrs):</div><div class="line"> <span class="comment"># return list of (scope, name, value) tuples or None</span></div><div class="line"><span class="keyword">def </span>pre_connect(task_id, transport, remote_contact, attrs):</div><div class="line"> <span class="comment"># return a tuple containing (remote_contact_out, [(scope, name, value),...])</span></div><div class="line"><span class="keyword">def </span>post_connect(task_id, transport, local_contact, remote_contact, attrs):</div><div class="line"> <span class="comment"># return list of (scope, name, value) tuples or None</span></div><div class="line"><span class="keyword">def </span>pre_close(task_id, transport, local_contact, remote_contact, attrs):</div><div class="line"> <span class="comment"># return None</span></div><div class="line"><span class="keyword">def </span>post_close(task_id, transport, local_contact, remote_contact, attrs):</div><div class="line"> <span class="comment"># return None</span></div></div><!-- fragment --><p> The <em>task_id</em>, <em>transport</em>, <em>local_contact</em>, and <em>remote_contact</em> parameters to these functions are all string objects. The <em>attrs</em> parameter to these functions are lists of 3-tuples (scope, name, value).</p>
<p>To use this with the GridFTP server, add a file containing the following to the GridFTP configuration directory <code>/etc/gridftp.d</code>: </p><pre class="fragment">$PYTHONPATH PATH
xnetmgr "manager=python;pymod=MODULE_NAME;"
</pre><p> 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 </p><pre class="fragment">$PYTHONPATH /usr/local/globus
xnetmgr "manager=python;pymod=routeman;"
</pre><p>To use this with the XIO module directly, set the string options <code>manager=python;pymod=routeman;</code>. You'll need to set the <code>PYTHONPATH</code> environment variable elsewhere.</p>
<p>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: </p><div class="fragment"><div class="line"><a class="code" href="group__globus__net__manager__attr.html#gac47b569190979d43fa26a237f395b7f5">globus_net_manager_attr_init</a>(</div><div class="line"> &attr,</div><div class="line"> <span class="stringliteral">"python"</span>,</div><div class="line"> <span class="stringliteral">"pymod"</span>,</div><div class="line"> <span class="stringliteral">"routeman"</span>);</div></div><!-- fragment --><p> and pass this to the context functions. </p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>
|