Package flumotion :: Package common :: Module medium :: Class PingingMedium
[hide private]

Class PingingMedium

source code

 twisted.spread.jelly.Jellyable --+                
                                  |                
twisted.spread.flavors.Serializable --+            
                                      |            
   twisted.spread.flavors.Referenceable --+        
                                          |        
                extern.log.log.Loggable --+        
                                          |        
                   twisted.pb.Referenceable --+    
                                              |    
                                     BaseMedium --+
                                                  |
                                                 PingingMedium
Known Subclasses:

Instance Methods [hide private]
 
startPinging(self, disconnect) source code
 
_ping(self) source code
 
remoteMessageReceived(self, broker, message, args, kw)
A remote message has been received.
source code
 
callRemoteLogging(self, level, stackDepth, name, *args, **kwargs)
Call the given method with the given arguments remotely on the server-side avatar.
source code
 
_pingCheck(self) source code
 
stopPinging(self) source code
 
_disconnect(self) source code
 
setRemoteReference(self, remote, clock=reactor)
Set the given remoteReference as the reference to the server-side avatar.
source code
 
remote_writeFluDebugMarker(self, level, marker)
Sets a marker that will be prefixed to the log strings.
source code
 
__provides__(...)
Special descriptor for class __provides__

Inherited from BaseMedium: callRemote, getBundledFunction, hasRemoteReference, runBundledFunction

Inherited from twisted.spread.flavors.Referenceable: jellyFor

Inherited from twisted.spread.flavors.Serializable: processUniqueID

Inherited from twisted.spread.jelly.Jellyable: __providedBy__, getStateFor

Inherited from extern.log.log.Loggable: debug, doLog, error, info, log, logFunction, logObjectName, warning, warningFailure, writeMarker

Class Variables [hide private]
  _pingInterval = 5
  _pingCheckInterval = 30.0
  _pingDC = None
hash(x)
  _clock = reactor
  __implemented__ = <implementedBy flumotion.common.medium.Pingi...

Inherited from BaseMedium: bundleLoader, logCategory, remoteLogName

Inherited from twisted.spread.flavors.Referenceable: perspective

Instance Variables [hide private]

Inherited from BaseMedium: remote

Method Details [hide private]

startPinging(self, disconnect)

source code 
Parameters:
  • disconnect (callable) - a method to call when we do not get ping replies

remoteMessageReceived(self, broker, message, args, kw)

source code 

A remote message has been received. Dispatch it appropriately.

The default implementation is to dispatch to a method called 'remote_messagename' and call it with the same arguments.

Overrides: twisted.spread.flavors.Referenceable.remoteMessageReceived
(inherited documentation)

callRemoteLogging(self, level, stackDepth, name, *args, **kwargs)

source code 

Call the given method with the given arguments remotely on the server-side avatar.

Gets serialized to server-side perspective_ methods.

Parameters:
  • level - the level we should log at (log.DEBUG, log.INFO, etc)
  • stackDepth - the number of stack frames to go back to get file and line information, negative or zero.
  • name - name of the remote method
Overrides: BaseMedium.callRemoteLogging
(inherited documentation)

setRemoteReference(self, remote, clock=reactor)

source code 

Set the given remoteReference as the reference to the server-side avatar.

Parameters:
  • remoteReference - twisted.spread.pb.RemoteReference
Overrides: BaseMedium.setRemoteReference
(inherited documentation)

remote_writeFluDebugMarker(self, level, marker)

source code 

Sets a marker that will be prefixed to the log strings. Setting this marker to multiple elements at a time helps debugging.

Parameters:
  • marker (str) - A string to prefix all the log strings.

__provides__(...)

 
Special descriptor for class __provides__

The descriptor caches the implementedBy info, so that
we can get declarations for objects without instance-specific
interfaces a bit quicker.

Overrides: extern.log.log.Loggable.__provides__

Class Variable Details [hide private]

__implemented__

Value:
<implementedBy flumotion.common.medium.PingingMedium>