Panda3D
Public Member Functions | Public Attributes | Static Public Attributes

ClockDelta Class Reference

List of all members.

Public Member Functions

def __init__
def clear
def getDelta
def getFrameNetworkTime
def getLastResync
def getRealNetworkTime
 Convenience functions ###.
def getUncertainty
def localElapsedTime
def localToNetworkTime
def networkToLocalTime
 Primary interface functions ###.
def newDelta
def peerToPeerResync
def resynchronize

Public Attributes

 delta
 globalClock
 lastResync
 uncertainty

Static Public Attributes

tuple notify = DirectNotifyGlobal.directNotify.newCategory('ClockDelta')

Detailed Description

The ClockDelta object converts between universal ("network") time,
which is used for all network traffic, and local time (e.g. as
returned by getFrameTime() or getRealTime()), which is used for
everything else.

Constructor & Destructor Documentation

def __init__ (   self)

Member Function Documentation

def clear (   self)
Throws away any previous synchronization information.
def getDelta (   self)
def getFrameNetworkTime (   self,
  bits = 16,
  ticksPerSec = NetworkTimePrecision 
)
Returns the current getFrameTime() expressed as a network time.
def getLastResync (   self)
def getRealNetworkTime (   self,
  bits = 16,
  ticksPerSec = NetworkTimePrecision 
)

Convenience functions ###.

Returns the current getRealTime() expressed as a network time.
def getUncertainty (   self)
def localElapsedTime (   self,
  networkTime,
  bits = 16,
  ticksPerSec = NetworkTimePrecision 
)
localElapsedTime(self, int networkTime)

Returns the amount of time elapsed (in seconds) on the client
since the server message was sent.  Negative values are
clamped to zero.
def localToNetworkTime (   self,
  localTime,
  bits = 16,
  ticksPerSec = NetworkTimePrecision 
)
localToNetworkTime(self, float localTime)

Converts the indicated localTime to the corresponding
networkTime value.
def networkToLocalTime (   self,
  networkTime,
  now = None,
  bits = 16,
  ticksPerSec = NetworkTimePrecision 
)

Primary interface functions ###.

networkToLocalTime(self, int networkTime)

Converts the indicated networkTime to the corresponding
localTime value.  The time is assumed to be within +/- 5
minutes of the current local time given in now, or
getRealTime() if now is not specified.
def newDelta (   self,
  localTime,
  newDelta,
  newUncertainty,
  trustNew = 1 
)
Accepts a new delta and uncertainty pair, understood to
represent time as of localTime.  Improves our current notion
of the time delta accordingly.  The return value is true if
the new measurement was used, false if it was discarded.
def peerToPeerResync (   self,
  avId,
  timestamp,
  serverTime,
  uncertainty 
)
Accepts an AI time and uncertainty value from another client,
along with a local timestamp value of the message from this
client which prompted the other client to send us its delta
information.

The return value is true if the other client's measurement was
reasonably close to our own, or false if the other client's
time estimate was wildly divergent from our own; the return
value is negative if the test was not even considered (because
it happened too soon after another recent request).
def resynchronize (   self,
  localTime,
  networkTime,
  newUncertainty,
  trustNew = 1 
)
resynchronize(self, float localTime, int32 networkTime,
         float newUncertainty)

Accepts a new networkTime value, which is understood to
represent the same moment as localTime, plus or minus
uncertainty seconds.  Improves our current notion of the time
delta accordingly.

Member Data Documentation

tuple notify = DirectNotifyGlobal.directNotify.newCategory('ClockDelta') [static]
 All Classes Namespaces Functions Variables Properties