twisted.spread.pb.html   [plain text]


<?xml version="1.0" encoding="iso-8859-1"?>
<!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>twisted.spread.pb</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">

<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <font size="-1"><b class="breadcrumbs">
        <a href="twisted.html">Package&nbsp;twisted</a> ::
        <a href="twisted.spread.html">Package&nbsp;spread</a> ::
        Module&nbsp;pb
      </b></font></br>
    </td>
    <td><table cellpadding="0" cellspacing="0">
      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="twisted.spread.pb.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
    </table></td>
</tr></table>

<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module twisted.spread.pb</h2>

<p>Perspective Broker</p>
<p>&quot;This isn't a professional opinion, but it's probably got enough 
internet to kill you.&quot; --glyph</p>
<p>Stability: semi-stable</p>
Future Plans: The connection APIs will be extended with support for 
URLs, that will be able to extend resource location and discovery 
conversations and specify different authentication mechanisms besides 
username/password. This should only add to, and not change, the existing 
protocol.
<h1 class="heading">Important Changes</h1>
  <p>New APIs have been added for serving and connecting. On the client 
  side, use PBClientFactory.getPerspective() instead of connect(), and 
  PBClientFactory.getRootObject() instead of getObjectAt(). Server side 
  should switch to updated cred APIs by using PBServerFactory, at which 
  point clients would switch to PBClientFactory.login().</p>
  <p>The new cred support means a different method is sent for login, 
  although the protocol is compatible on the binary level. When we switch 
  to pluggable credentials this will introduce another change, although 
  the current change will still be supported.</p>
  The Perspective class is now deprecated, and has been replaced with 
  Avatar, which does not rely on the old cred APIs.
<h1 class="heading">Introduction</h1>
  <p>This is a broker for proxies for and copies of objects. It provides 
  a translucent interface layer to those proxies.</p>
  <p>The protocol is not opaque, because it provides objects which 
  represent the remote proxies and require no context (server references, 
  IDs) to operate on.</p>
  It is not transparent because it does <i>not</i> attempt to make 
  remote objects behave identically, or even similiarly, to local 
  objects. Method calls are invoked asynchronously, and specific rules 
  are applied when serializing arguments.
<hr/>
<p><b>Author:</b> <a href="mailto:glyph&#64;twistedmatrix.com">Glyph Lefkowitz</a>
</p>


<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Classes</th></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb._Detacher.html"><code>_Detacher</code></a></b></td>
  <td>DEPRECATED.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb._ObjectRetrieval.html"><code>_ObjectRetrieval</code></a></b></td>
  <td>DEPRECATED.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb._PortalAuthChallenger.html"><code>_PortalAuthChallenger</code></a></b></td>
  <td>Called with response to password challenge.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb._PortalRoot.html"><code>_PortalRoot</code></a></b></td>
  <td>Root object, used to login to portal.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb._PortalWrapper.html"><code>_PortalWrapper</code></a></b></td>
  <td>Root Referenceable object, used to login to portal.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb._RemoteCacheDummy.html"><code>_RemoteCacheDummy</code></a></b></td>
  <td>Ignore.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.AsReferenceable.html"><code>AsReferenceable</code></a></b></td>
  <td>AsReferenceable: a reference directed towards another object.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.AuthChallenger.html"><code>AuthChallenger</code></a></b></td>
  <td>DEPRECATED.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.AuthRoot.html"><code>AuthRoot</code></a></b></td>
  <td>DEPRECATED.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.AuthServ.html"><code>AuthServ</code></a></b></td>
  <td>DEPRECATED.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.Avatar.html"><code>Avatar</code></a></b></td>
  <td>A default IPerspective implementor.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.Broker.html"><code>Broker</code></a></b></td>
  <td>I am a broker for objects.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.BrokerClientFactory.html"><code>BrokerClientFactory</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.BrokerFactory.html"><code>BrokerFactory</code></a></b></td>
  <td>DEPRECATED, use PBServerFactory instead.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.CopiedFailure.html"><code>CopiedFailure</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.CopyableFailure.html"><code>CopyableFailure</code></a></b></td>
  <td>A <a href="twisted.spread.flavors.RemoteCopy.html" 
class="link"><code>flavors.RemoteCopy</code></a> and <a 
href="twisted.spread.flavors.Copyable.html" 
class="link"><code>flavors.Copyable</code></a> version of <a 
href="twisted.python.failure.Failure.html" 
class="link"><code>twisted.python.failure.Failure</code></a> for 
serialization.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.IdentityConnector.html"><code>IdentityConnector</code></a></b></td>
  <td>DEPRECATED.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.IdentityWrapper.html"><code>IdentityWrapper</code></a></b></td>
  <td>DEPRECATED.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.IPerspective.html"><code>IPerspective</code></a></b></td>
  <td>per*spec*tive, n.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.IUsernameMD5Password.html"><code>IUsernameMD5Password</code></a></b></td>
  <td>I encapsulate a username and a hashed password.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.Local.html"><code>Local</code></a></b></td>
  <td>(internal) A reference to a local object.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.PBClientFactory.html"><code>PBClientFactory</code></a></b></td>
  <td>Client factory for PB brokers.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.PBServerFactory.html"><code>PBServerFactory</code></a></b></td>
  <td>Server factory for perspective broker.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.Perspective.html"><code>Perspective</code></a></b></td>
  <td>This class is DEPRECATED, because it relies on old cred APIs.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.RemoteMethod.html"><code>RemoteMethod</code></a></b></td>
  <td>This is a translucent reference to a remote message.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.RemoteReference.html"><code>RemoteReference</code></a></b></td>
  <td>This is a translucent reference to a remote object.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.Service.html"><code>Service</code></a></b></td>
  <td>A service for Perspective Broker.</td></tr>
</table><br />


<!-- =========== START OF EXCEPTIONS =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Exceptions</th></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.DeadReferenceError.html"><code>DeadReferenceError</code></a></b></td>
  <td>This error is raised when a method is called on a dead reference (one 
whose broker has been disconnected).</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.Error.html"><code>Error</code></a></b></td>
  <td>This error can be raised to generate known error conditions.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.PBConnectionLost.html"><code>PBConnectionLost</code></a></b></td>
  <td>&nbsp;</td></tr>
<tr><td width="15%">
  <b><a href="twisted.spread.pb.ProtocolError.html"><code>ProtocolError</code></a></b></td>
  <td>This error is raised when an invalid protocol statement is 
received.</td></tr>
</table><br />


<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Function Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_cbLogInRespond"></a><span class="summary-sig"><span class="summary-sig-name">_cbLogInRespond</span>((<span class=summary-sig-arg>challenge</span>,
           <span class=summary-sig-arg>challenger</span>),
          <span class=summary-sig-arg>d</span>,
          <span class=summary-sig-arg>client</span>,
          <span class=summary-sig-arg>service</span>,
          <span class=summary-sig-arg>password</span>,
          <span class=summary-sig-arg>perspectiveName</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_cbLogInResponded"></a><span class="summary-sig"><span class="summary-sig-name">_cbLogInResponded</span>(<span class=summary-sig-arg>identity</span>,
          <span class=summary-sig-arg>d</span>,
          <span class=summary-sig-arg>client</span>,
          <span class=summary-sig-arg>serviceName</span>,
          <span class=summary-sig-arg>perspectiveName</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_cbRespondToChallenge"></a><span class="summary-sig"><span class="summary-sig-name">_cbRespondToChallenge</span>((<span class=summary-sig-arg>challenge</span>,
           <span class=summary-sig-arg>challenger</span>),
          <span class=summary-sig-arg>password</span>,
          <span class=summary-sig-arg>d</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_connGotRoot"></a><span class="summary-sig"><span class="summary-sig-name">_connGotRoot</span>(<span class=summary-sig-arg>root</span>,
          <span class=summary-sig-arg>d</span>,
          <span class=summary-sig-arg>client</span>,
          <span class=summary-sig-arg>serviceName</span>,
          <span class=summary-sig-arg>username</span>,
          <span class=summary-sig-arg>password</span>,
          <span class=summary-sig-arg>perspectiveName</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#authIdentity" class="summary-sig-name"><code>authIdentity</code></a>(<span class=summary-sig-arg>authServRef</span>,
          <span class=summary-sig-arg>username</span>,
          <span class=summary-sig-arg>password</span>)</span></code>
<br />
DEPRECATED.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#challenge" class="summary-sig-name"><code>challenge</code></a>()</span></code>
<br />
I return some random data.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#connect" class="summary-sig-name"><code>connect</code></a>(<span class=summary-sig-arg>host</span>,
          <span class=summary-sig-arg>port</span>,
          <span class=summary-sig-arg>username</span>,
          <span class=summary-sig-arg>password</span>,
          <span class=summary-sig-arg>serviceName</span>,
          <span class=summary-sig-arg>perspectiveName</span>,
          <span class=summary-sig-arg>client</span>,
          <span class=summary-sig-arg>timeout</span>)</span></code>
<br />
DEPRECATED.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="failure2Copyable"></a><span class="summary-sig"><span class="summary-sig-name">failure2Copyable</span>(<span class=summary-sig-arg>fail</span>,
          <span class=summary-sig-arg>unsafeTracebacks</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#getObjectAt" class="summary-sig-name"><code>getObjectAt</code></a>(<span class=summary-sig-arg>host</span>,
          <span class=summary-sig-arg>port</span>,
          <span class=summary-sig-arg>timeout</span>)</span></code>
<br />
DEPRECATED.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#getObjectAtSSL" class="summary-sig-name"><code>getObjectAtSSL</code></a>(<span class=summary-sig-arg>host</span>,
          <span class=summary-sig-arg>port</span>,
          <span class=summary-sig-arg>timeout</span>,
          <span class=summary-sig-arg>contextFactory</span>)</span></code>
<br />
DEPRECATED.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#getObjectRetriever" class="summary-sig-name"><code>getObjectRetriever</code></a>()</span></code>
<br />
DEPRECATED.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#logIn" class="summary-sig-name"><code>logIn</code></a>(<span class=summary-sig-arg>authServRef</span>,
          <span class=summary-sig-arg>client</span>,
          <span class=summary-sig-arg>service</span>,
          <span class=summary-sig-arg>username</span>,
          <span class=summary-sig-arg>password</span>,
          <span class=summary-sig-arg>perspectiveName</span>)</span></code>
<br />
DEPRECATED.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#noOperation" class="summary-sig-name"><code>noOperation</code></a>(<span class="summary-sig-vararg">*args</span>,
          <span class="summary-sig-kwarg">**kw</span>)</span></code>
<br />
Do nothing.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#printTraceback" class="summary-sig-name"><code>printTraceback</code></a>(<span class=summary-sig-arg>tb</span>)</span></code>
<br />
Print a traceback (string) to the standard log.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.spread.pb.html#respond" class="summary-sig-name"><code>respond</code></a>(<span class=summary-sig-arg>challenge</span>,
          <span class=summary-sig-arg>password</span>)</span></code>
<br />
Respond to a challenge.</td></tr>
</table><br />


<!-- =========== START OF VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.spread.pb.html#__version__"><code>__version__</code></a></b> = <span title="'1.157'"><code><span class="variable-quote">'</span>1.157<span class="variable-quote">'</span>                                    </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.spread.pb.html#MAX_BROKER_REFS"><code>MAX_BROKER_REFS</code></a></b> = <span title="1024">1024&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.spread.pb.html#portno"><code>portno</code></a></b> = <span title="8787">8787&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
</table><br />


<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Function Details</th></tr>
</table>

<a name="authIdentity"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">authIdentity</span>(<span class=sig-arg>authServRef</span>,
          <span class=sig-arg>username</span>,
          <span class=sig-arg>password</span>)</span>
  </h3>
  DEPRECATED. Return a Deferred which will do the challenge-response 
  dance and return a remote Identity reference.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="challenge"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">challenge</span>()</span>
  </h3>
  I return some random data.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="connect"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">connect</span>(<span class=sig-arg>host</span>,
          <span class=sig-arg>port</span>,
          <span class=sig-arg>username</span>,
          <span class=sig-arg>password</span>,
          <span class=sig-arg>serviceName</span>,
          <span class=sig-arg>perspectiveName</span>=<span class=sig-default>None</span>,
          <span class=sig-arg>client</span>=<span class=sig-default>None</span>,
          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
  </h3>
  <p>DEPRECATED. Connects and authenticates, then retrieves a PB 
  service.</p>
  Required arguments:
  <ul>
    <li>
      host -- the host the service is running on
    </li>
    <li>
      port -- the port on the host to connect to
    </li>
    <li>
      username -- the name you will be identified as to the 
      authorizer
    </li>
    <li>
      password -- the password for this username
    </li>
    <li>
      serviceName -- name of the service to request
    </li>
  </ul>
  Optional (keyword) arguments:
  <ul>
    <li>
      perspectiveName -- the name of the perspective to request, if 
      different than the username
    </li>
    <li>
      client -- XXX the &quot;reference&quot; argument to 
      perspective.Perspective.attached
    </li>
    <li>
      timeout -- see twisted.internet.tcp.Client
    </li>
  </ul>
  <dl><dt></dt><dd>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        A Deferred instance that gets a callback when the final 
        Perspective is connected, and an errback when an error occurs at 
        any stage of connecting.
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="getObjectAt"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getObjectAt</span>(<span class=sig-arg>host</span>,
          <span class=sig-arg>port</span>,
          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
  </h3>
  DEPRECATED. Establishes a PB connection and returns with a <a 
  href="twisted.spread.pb.RemoteReference.html" 
  class="link"><code>RemoteReference</code></a>.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>host</b></code> -
         the host to connect to
      <dd><code><b>port</b></code> -
         the port number to connect to
      <dd><code><b>timeout</b></code> -
         a value in milliseconds to wait before failing by default. 
        (OPTIONAL)
      </dd>
    </dl>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        A Deferred which will be passed a remote reference to the root 
        object of a PB server.x
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="getObjectAtSSL"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getObjectAtSSL</span>(<span class=sig-arg>host</span>,
          <span class=sig-arg>port</span>,
          <span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
          <span class=sig-arg>contextFactory</span>=<span class=sig-default>None</span>)</span>
  </h3>
  DEPRECATED. Establishes a PB connection over SSL and returns with a 
  RemoteReference.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>host</b></code> -
         the host to connect to
      <dd><code><b>port</b></code> -
         the port number to connect to
      <dd><code><b>timeout</b></code> -
         a value in milliseconds to wait before failing by default. 
        (OPTIONAL)
      <dd><code><b>contextFactory</b></code> -
         A factory object for producing SSL.Context objects. 
        (OPTIONAL)
      </dd>
    </dl>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        A Deferred which will be passed a remote reference to the root 
        object of a PB server.
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="getObjectRetriever"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getObjectRetriever</span>()</span>
  </h3>
  <p>DEPRECATED.</p>
  Get a factory which retreives a root object from its client
  <dl><dt></dt><dd>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        A pair: A ClientFactory and a Deferred which will be passed a 
        remote reference to the root object of a PB server.x
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="logIn"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">logIn</span>(<span class=sig-arg>authServRef</span>,
          <span class=sig-arg>client</span>,
          <span class=sig-arg>service</span>,
          <span class=sig-arg>username</span>,
          <span class=sig-arg>password</span>,
          <span class=sig-arg>perspectiveName</span>=<span class=sig-default>None</span>)</span>
  </h3>
  DEPRECATED. I return a Deferred which will be called back with a 
  Perspective.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="noOperation"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">noOperation</span>(<span class="sig-vararg">*args</span>,
          <span class="sig-kwarg">**kw</span>)</span>
  </h3>
  <p>Do nothing.</p>
  Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, 
  consectetur, adipisci velit...
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="printTraceback"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">printTraceback</span>(<span class=sig-arg>tb</span>)</span>
  </h3>
  Print a traceback (string) to the standard log.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="respond"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">respond</span>(<span class=sig-arg>challenge</span>,
          <span class=sig-arg>password</span>)</span>
  </h3>
  <p>Respond to a challenge.</p>
  This is useful for challenge/response authentication.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>
<br />


<!-- =========== START OF VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="__version__"></a>
<h3>__version__</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'1.157'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>1.157<span class="variable-quote">'</span>                                                                </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="MAX_BROKER_REFS"></a>
<h3>MAX_BROKER_REFS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="1024">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
1024&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="portno"></a>
<h3>portno</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="8787">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
8787&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<br />


<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="left"><font size="-2">Generated by Epydoc 2.0 on Sat May 15 20:08:16 2004</font></td>
    <td align="right"><a href="http://epydoc.sourceforge.net"
                      ><font size="-2">http://epydoc.sf.net</font></a></td>
  </tr>
</table>
</body>
</html>