twisted.spread.flavors.Copyable.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.flavors.Copyable</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"> <a class="navbar" href="twisted.html">Home</a> </th>
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </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 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 twisted</a> ::
<a href="twisted.spread.html">Package spread</a> ::
<a href="twisted.spread.flavors.html">Module flavors</a> ::
Class Copyable
</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> | <a href="twisted.spread.flavors.Copyable.html" target="_top">no frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Copyable</h2>
<pre class="base-tree">
<a href="twisted.spread.jelly.Jellyable.html"><code>Jellyable</code></a> --+
|
<a href="twisted.spread.flavors.Serializable.html"><code>Serializable</code></a> --+
|
<b>Copyable</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="twisted.spread.flavors.Cacheable.html"><code>Cacheable</code></a>,
<a href="twisted.spread.pb.CopyableFailure.html"><code>CopyableFailure</code></a>,
<a href="twisted.web.server.Request.html"><code>Request</code></a>,
<a href="twisted.manhole.explorer.Signature.html"><code>Signature</code></a></dd></dl>
<hr/>
<p>Subclass me to get copied each time you are returned from or passed to
a remote method.</p>
<p>When I am returned from or passed to a remote method call, I will be
converted into data via a set of callbacks (see my methods for more
info). That data will then be serialized using Jelly, and sent to the
peer.</p>
The peer will then look up the type to represent this with; see <a
href="twisted.spread.flavors.RemoteCopy.html"
class="link"><code>RemoteCopy</code></a> for details.
<hr/>
<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.spread.flavors.Copyable.html#getStateToCopy" class="summary-sig-name"><code>getStateToCopy</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Gather state to send when I am serialized for a peer.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.spread.flavors.Copyable.html#getStateToCopyFor" class="summary-sig-name"><code>getStateToCopyFor</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>perspective</span>)</span></code>
<br />
Gather state to send when I am serialized for a particular
perspective.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.spread.flavors.Copyable.html#getTypeToCopy" class="summary-sig-name"><code>getTypeToCopy</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Determine what type tag to send for me.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.spread.flavors.Copyable.html#getTypeToCopyFor" class="summary-sig-name"><code>getTypeToCopyFor</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>perspective</span>)</span></code>
<br />
Determine what type tag to send for me.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.spread.flavors.Copyable.html#jellyFor" class="summary-sig-name"><code>jellyFor</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>jellier</span>)</span></code>
<br />
Assemble type tag and state to copy for this broker.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from Serializable</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.spread.flavors.Serializable.html#processUniqueID" class="summary-sig-name"><code>processUniqueID</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return an ID which uniquely represents this object for this
process.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from Jellyable</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.spread.jelly.Jellyable.html#getStateFor" class="summary-sig-name"><code>getStateFor</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>jellier</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from Jellyable</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>tuple</code></font></td>
<td><b><a href="twisted.spread.jelly.Jellyable.html#__implements__"><code>__implements__</code></a></b> = <span title="(<class twisted.spread.interfaces.IJellyable at 0x840e324>,)"><code>(<class twisted.spread.interfaces.IJell<span class="variable-ellipsis">...</span></code>
</span></td></tr>
</table><br />
<!-- =========== START OF METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Method Details</th></tr>
</table>
<a name="getStateToCopy"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getStateToCopy</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Gather state to send when I am serialized for a peer.</p>
I will default to returning self.__dict__. Override this to
customize this behavior.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getStateToCopyFor"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getStateToCopyFor</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>perspective</span>)</span>
</h3>
<p>Gather state to send when I am serialized for a particular
perspective.</p>
I will default to calling <a
href="twisted.spread.flavors.Copyable.html#getStateToCopy"
class="link"><code>getStateToCopy</code></a>. Override this to
customize this behavior.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getTypeToCopy"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getTypeToCopy</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Determine what type tag to send for me.</p>
By default, send the string representation of my class
(package.module.Class); normally this is adequate, but you may override
this to change it.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getTypeToCopyFor"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getTypeToCopyFor</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>perspective</span>)</span>
</h3>
<p>Determine what type tag to send for me.</p>
By default, defer to self.<a
href="twisted.spread.flavors.Copyable.html#getTypeToCopy"
class="link"><code>getTypeToCopy</code></a>() normally this is
adequate, but you may override this to change it.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="jellyFor"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">jellyFor</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>jellier</span>)</span>
</h3>
<p>Assemble type tag and state to copy for this broker.</p>
This will call <a
href="twisted.spread.flavors.Copyable.html#getTypeToCopyFor"
class="link"><code>getTypeToCopyFor</code></a> and <a
href="twisted.spread.flavors.Copyable.html#getStateToCopy"
class="link"><code>getStateToCopy</code></a>, and return an appropriate
s-expression to represent me.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="twisted.spread.jelly.Jellyable.html#jellyFor"><code>twisted.spread.jelly.Jellyable.jellyFor</code></a></dd>
</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"> <a class="navbar" href="twisted.html">Home</a> </th>
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </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 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:07:39 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>