diff options
Diffstat (limited to 'docs/paramiko.SubsystemHandler-class.html')
-rw-r--r-- | docs/paramiko.SubsystemHandler-class.html | 384 |
1 files changed, 384 insertions, 0 deletions
diff --git a/docs/paramiko.SubsystemHandler-class.html b/docs/paramiko.SubsystemHandler-class.html new file mode 100644 index 0000000..407b7f4 --- /dev/null +++ b/docs/paramiko.SubsystemHandler-class.html @@ -0,0 +1,384 @@ +<?xml version="1.0" encoding="ascii"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>paramiko.SubsystemHandler</title> + <link rel="stylesheet" href="epydoc.css" type="text/css" /> + <script type="text/javascript" src="epydoc.js"></script> +</head> + +<body bgcolor="white" text="black" link="blue" vlink="#204080" + alink="#204080"> +<!-- ==================== NAVIGATION BAR ==================== --> +<table class="navbar" border="0" width="100%" cellpadding="0" + bgcolor="#a0c0ff" cellspacing="0"> + <tr valign="middle"> + <!-- Home link --> + <th> <a + href="paramiko-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </th> + + <th class="navbar" width="100%"></th> + </tr> +</table> +<table width="100%" cellpadding="0" cellspacing="0"> + <tr valign="top"> + <td width="100%"> + <span class="breadcrumbs"> + <a href="paramiko-module.html">Package paramiko</a> :: + Class SubsystemHandler + </span> + </td> + <td> + <table cellpadding="0" cellspacing="0"> + <!-- hide/show private --> + <tr><td align="right"><span class="options" + >[<a href="frames.html" target="_top">frames</a + >] | <a href="paramiko.SubsystemHandler-class.html" + target="_top">no frames</a>]</span></td></tr> + </table> + </td> + </tr> +</table> +<!-- ==================== CLASS DESCRIPTION ==================== --> +<h1 class="epydoc">Class SubsystemHandler</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SubsystemHandler">source code</a></span></p> +<pre class="base-tree"> + object --+ + | +threading._Verbose --+ + | + threading.Thread --+ + | + <strong class="uidshort">SubsystemHandler</strong> +</pre> + +<dl><dt>Known Subclasses:</dt> +<dd> + <ul class="subclass-list"> +<li><a href="paramiko.SFTPServer-class.html">SFTPServer</a></li> </ul> +</dd></dl> + +<hr /> +<p>Handler for a subsytem in server mode. If you create a subclass of + this class and pass it to <a + href="paramiko.Transport-class.html#set_subsystem_handler" + class="link">Transport.set_subsystem_handler</a>, an object of this class + will be created for each request for this subsystem. Each new object + will be executed within its own new thread by calling <a + href="paramiko.SubsystemHandler-class.html#start_subsystem" + class="link">start_subsystem</a>. When that method completes, the channel + is closed.</p> + <p>For example, if you made a subclass <code>MP3Handler</code> and + registered it as the handler for subsystem <code>"mp3"</code>, + then whenever a client has successfully authenticated and requests + subsytem <code>"mp3"</code>, an object of class + <code>MP3Handler</code> will be created, and <a + href="paramiko.SubsystemHandler-class.html#start_subsystem" + class="link">start_subsystem</a> will be called on it from a new + thread.</p> + +<!-- ==================== INSTANCE METHODS ==================== --> +<a name="section-InstanceMethods"></a> +<table class="summary" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Instance Methods</span></td> +</tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SubsystemHandler-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">channel</span>, + <span class="summary-sig-arg">name</span>, + <span class="summary-sig-arg">server</span>)</span><br /> + Create a new handler for a channel.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.server-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SubsystemHandler-class.html#finish_subsystem" class="summary-sig-name">finish_subsystem</a>(<span class="summary-sig-arg">self</span>)</span><br /> + Perform any cleanup at the end of a subsystem.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.server-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"><a href="paramiko.ServerInterface-class.html" + class="link">ServerInterface</a></span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a name="get_server"></a><span class="summary-sig-name">get_server</span>(<span class="summary-sig-arg">self</span>)</span><br /> + Return the <a href="paramiko.ServerInterface-class.html" + class="link">ServerInterface</a> object associated with this channel + and subsystem.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.server-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="paramiko.SubsystemHandler-class.html#start_subsystem" class="summary-sig-name">start_subsystem</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">name</span>, + <span class="summary-sig-arg">transport</span>, + <span class="summary-sig-arg">channel</span>)</span><br /> + Process an ssh subsystem in server mode.</td> + <td align="right" valign="top"> + <span class="codelink"><a href="paramiko.server-pysrc.html">source code</a></span> + + </td> + </tr> + </table> + + </td> + </tr> + <tr> + <td colspan="2" class="summary"> + <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>: + <code>__repr__</code>, + <code>getName</code>, + <code>isAlive</code>, + <code>isDaemon</code>, + <code>join</code>, + <code>run</code>, + <code>setDaemon</code>, + <code>setName</code>, + <code>start</code> + </p> + <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: + <code>__delattr__</code>, + <code>__getattribute__</code>, + <code>__hash__</code>, + <code>__new__</code>, + <code>__reduce__</code>, + <code>__reduce_ex__</code>, + <code>__setattr__</code>, + <code>__str__</code> + </p> + </td> + </tr> +</table> +<!-- ==================== PROPERTIES ==================== --> +<a name="section-Properties"></a> +<table class="summary" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Properties</span></td> +</tr> + <tr> + <td colspan="2" class="summary"> + <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: + <code>__class__</code> + </p> + </td> + </tr> +</table> +<!-- ==================== METHOD DETAILS ==================== --> +<a name="section-MethodDetails"></a> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Method Details</span></td> +</tr> +</table> +<a name="__init__"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">channel</span>, + <span class="sig-arg">name</span>, + <span class="sig-arg">server</span>)</span> + <br /><em class="fname">(Constructor)</em> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.server-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Create a new handler for a channel. This is used by <a + href="paramiko.ServerInterface-class.html" + class="link">ServerInterface</a> to start up a new handler when a channel + requests this subsystem. You don't need to override this method, but if + you do, be sure to pass the <code>channel</code> and <code>name</code> + parameters through to the original <code>__init__</code> method here.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the channel associated with this subsystem request.</li> + <li><strong class="pname"><code>name</code></strong> (str) - name of the requested subsystem.</li> + <li><strong class="pname"><code>server</code></strong> (<a href="paramiko.ServerInterface-class.html" + class="link">ServerInterface</a>) - the server object for the session that started this subsystem</li> + </ul></dd> + <dt>Overrides: + object.__init__ + </dt> + </dl> +</td></tr></table> +</div> +<a name="finish_subsystem"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">finish_subsystem</span>(<span class="sig-arg">self</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.server-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Perform any cleanup at the end of a subsystem. The default + implementation just closes the channel.</p> + <dl class="fields"> + </dl> +<div class="fields"> <p><strong>Since:</strong> + 1.1 + </p> +</div></td></tr></table> +</div> +<a name="start_subsystem"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">start_subsystem</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">name</span>, + <span class="sig-arg">transport</span>, + <span class="sig-arg">channel</span>)</span> + </h3> + </td><td align="right" valign="top" + ><span class="codelink"><a href="paramiko.server-pysrc.html">source code</a></span> + </td> + </tr></table> + + <p>Process an ssh subsystem in server mode. This method is called on a + new object (and in a new thread) for each subsystem request. It is + assumed that all subsystem logic will take place here, and when the + subsystem is finished, this method will return. After this method + returns, the channel is closed.</p> + <p>The combination of <code>transport</code> and <code>channel</code> are + unique; this handler corresponds to exactly one <a + href="paramiko.Channel-class.html" class="link">Channel</a> on one <a + href="paramiko.Transport-class.html" class="link">Transport</a>.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>name</code></strong> (str) - name of the requested subsystem.</li> + <li><strong class="pname"><code>transport</code></strong> (<a href="paramiko.Transport-class.html" + class="link">Transport</a>) - the server-mode <a href="paramiko.Transport-class.html" + class="link">Transport</a>.</li> + <li><strong class="pname"><code>channel</code></strong> (<a href="paramiko.Channel-class.html" class="link">Channel</a>) - the channel associated with this subsystem request.</li> + </ul></dd> + </dl> +<div class="fields"> <p><strong>Note:</strong> + It is the responsibility of this method to exit if the underlying + <a href="paramiko.Transport-class.html" class="link">Transport</a> + is closed. This can be done by checking <a + href="paramiko.Transport-class.html#is_active" + class="link">Transport.is_active</a> or noticing an EOF on the <a + href="paramiko.Channel-class.html" class="link">Channel</a>. If + this method loops forever without checking for this case, your + python interpreter may refuse to exit because this thread will + still be running. + </p> +</div></td></tr></table> +</div> +<br /> +<!-- ==================== NAVIGATION BAR ==================== --> +<table class="navbar" border="0" width="100%" cellpadding="0" + bgcolor="#a0c0ff" cellspacing="0"> + <tr valign="middle"> + <!-- Home link --> + <th> <a + href="paramiko-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </th> + + <th class="navbar" width="100%"></th> + </tr> +</table> +<table border="0" cellpadding="0" cellspacing="0" width="100%%"> + <tr> + <td align="left" class="footer"> + Generated by Epydoc 3.0.1 on Sun Jul 6 18:30:30 2008 + </td> + <td align="right" class="footer"> + <a target="mainFrame" href="http://epydoc.sourceforge.net" + >http://epydoc.sourceforge.net</a> + </td> + </tr> +</table> + +<script type="text/javascript"> + <!-- + // Private objects are initially displayed (because if + // javascript is turned off then we want them to be + // visible); but by default, we want to hide them. So hide + // them unless we have a cookie that says to show them. + checkCookie(); + // --> +</script> +</body> +</html> |