Package twisted :: Package spread :: Module flavors :: Class Copyable
[frames | no frames]

Class Copyable

Jellyable --+    
            |    
 Serializable --+
                |
               Copyable

Known Subclasses:
Cacheable, CopyableFailure, Request, Signature

Subclass me to get copied each time you are returned from or passed to a remote method.

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.

The peer will then look up the type to represent this with; see RemoteCopy for details.
Method Summary
  getStateToCopy(self)
Gather state to send when I am serialized for a peer.
  getStateToCopyFor(self, perspective)
Gather state to send when I am serialized for a particular perspective.
  getTypeToCopy(self)
Determine what type tag to send for me.
  getTypeToCopyFor(self, perspective)
Determine what type tag to send for me.
  jellyFor(self, jellier)
Assemble type tag and state to copy for this broker.
    Inherited from Serializable
  processUniqueID(self)
Return an ID which uniquely represents this object for this process.
    Inherited from Jellyable
  getStateFor(self, jellier)

Class Variable Summary
    Inherited from Jellyable
tuple __implements__ = (<class twisted.spread.interfaces.IJell...

Method Details

getStateToCopy(self)

Gather state to send when I am serialized for a peer.

I will default to returning self.__dict__. Override this to customize this behavior.

getStateToCopyFor(self, perspective)

Gather state to send when I am serialized for a particular perspective.

I will default to calling getStateToCopy. Override this to customize this behavior.

getTypeToCopy(self)

Determine what type tag to send for me.

By default, send the string representation of my class (package.module.Class); normally this is adequate, but you may override this to change it.

getTypeToCopyFor(self, perspective)

Determine what type tag to send for me.

By default, defer to self.getTypeToCopy() normally this is adequate, but you may override this to change it.

jellyFor(self, jellier)

Assemble type tag and state to copy for this broker.

This will call getTypeToCopyFor and getStateToCopy, and return an appropriate s-expression to represent me.
Overrides:
twisted.spread.jelly.Jellyable.jellyFor

Generated by Epydoc 2.0 on Sat May 15 20:07:39 2004 http://epydoc.sf.net