Panda3D
Public Member Functions | Public Attributes | Static Public Attributes

ConnectionRepository Class Reference

Inherits direct::distributed::DoInterestManager::DoInterestManager, and direct::distributed::DoCollectionManager::DoCollectionManager.

List of all members.

Public Member Functions

def __init__
def checkHttp
def connect
def disconnect
def generateGlobalObject
def getServerAddress
def handleDatagram
def handleReaderOverflow
def httpConnectCallback
def importModule
def lostConnection
def readDCFile
def readerPollOnce
def readerPollUntilEmpty
def send
def shutdown
def startReaderPollTask
def stopReaderPollTask

Public Attributes

 bootedIndex
 if self.recorder and self.recorder.isPlaying():
 bootedText
 config
 connectHttp
 connectMethod
 dclassesByName
 dclassesByNumber
 dcSuffix
 hashVal
 http
 private__di
 readerPollTaskObj
 recorder
 uniqueId

Static Public Attributes

int CM_HTTP = 0
int CM_NATIVE = 2
int CM_NET = 1
string GarbageCollectTaskName = "allowGarbageCollect"
string GarbageThresholdTaskName = "adjustGarbageCollectThreshold"
tuple gcNotify = directNotify.newCategory("GarbageCollect")
tuple notify = DirectNotifyGlobal.directNotify.newCategory("ConnectionRepository")
 taskChain = None
int taskPriority = 30

Detailed Description

This is a base class for things that know how to establish a
connection (and exchange datagrams) with a gameserver.  This
includes ClientRepository and AIRepository.

Constructor & Destructor Documentation

def __init__ (   self,
  connectMethod,
  config,
  hasOwnerView = False,
  threadedNet = None 
)

Member Function Documentation

def checkHttp (   self)
def connect (   self,
  serverList,
  successCallback = None,
  successArgs = [],
  failureCallback = None,
  failureArgs = [] 
)
Attempts to establish a connection to the server.  May return
before the connection is established.  The two callbacks
represent the two functions to call (and their arguments) on
success or failure, respectively.  The failure callback also
gets one additional parameter, which will be passed in first:
the return status code giving reason for failure, if it is
known.
def disconnect (   self)
Closes the previously-established connection.
def generateGlobalObject (   self,
  doId,
  dcname,
  values = None 
)
def getServerAddress (   self)
def handleDatagram (   self,
  di 
)
def handleReaderOverflow (   self)
def httpConnectCallback (   self,
  ch,
  serverList,
  serverIndex,
  successCallback,
  successArgs,
  failureCallback,
  failureArgs 
)
def importModule (   self,
  dcImports,
  moduleName,
  importSymbols 
)
Imports the indicated moduleName and all of its symbols
into the current namespace.  This more-or-less reimplements
the Python import command.
def lostConnection (   self)
def readDCFile (   self,
  dcFileNames = None 
)
Reads in the dc files listed in dcFileNames, or if
dcFileNames is None, reads in all of the dc files listed in
the Config.prc file.
def readerPollOnce (   self)
def readerPollUntilEmpty (   self,
  task 
)
def send (   self,
  datagram 
)
def shutdown (   self)
def startReaderPollTask (   self)
def stopReaderPollTask (   self)

Member Data Documentation

if self.recorder and self.recorder.isPlaying():

# If we have a recorder and it's already in playback mode, # don't actually attempt to connect to a gameserver since # we don't need to. Just let it play back the data. self.notify.info("Not connecting to gameserver; using playback data instead.") self.connectHttp = 1 self.tcpConn = SocketStreamRecorder() self.recorder.addRecorder('gameserver', self.tcpConn) self.startReaderPollTask() if successCallback: successCallback(*successArgs) return

int CM_HTTP = 0 [static]
int CM_NATIVE = 2 [static]
int CM_NET = 1 [static]
string GarbageCollectTaskName = "allowGarbageCollect" [static]
string GarbageThresholdTaskName = "adjustGarbageCollectThreshold" [static]
tuple gcNotify = directNotify.newCategory("GarbageCollect") [static]
tuple notify = DirectNotifyGlobal.directNotify.newCategory("ConnectionRepository") [static]
taskChain = None [static]
int taskPriority = 30 [static]
 All Classes Namespaces Functions Variables Properties