direct.distributed.TimeManager

from direct.distributed.TimeManager import TimeManager

Inheritance diagram

digraph inheritancec1e53e9fcf { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "DirectObject" [URL="direct.showbase.DirectObject.html#direct.showbase.DirectObject.DirectObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="This is the class that all Direct/SAL classes should inherit from"]; "DistributedObject" [URL="direct.distributed.DistributedObject.html#direct.distributed.DistributedObject.DistributedObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="The Distributed Object class is the base class for all network based"]; "DistributedObjectBase" -> "DistributedObject" [arrowsize=0.75,style=""]; "DistributedObjectBase" [URL="direct.distributed.DistributedObjectBase.html#direct.distributed.DistributedObjectBase.DistributedObjectBase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="The Distributed Object class is the base class for all network based"]; "DirectObject" -> "DistributedObjectBase" [arrowsize=0.75,style=""]; "TimeManager" [URL="direct.distributed.TimeManager.html#direct.distributed.TimeManager.TimeManager",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="This DistributedObject lives on the AI and on the client side, and"]; "DistributedObject" -> "TimeManager" [arrowsize=0.75,style=""]; }
class TimeManager(cr)[source]

Bases: DistributedObject

This DistributedObject lives on the AI and on the client side, and serves to synchronize the time between them so they both agree, to within a few hundred milliseconds at least, what time it is.

It uses a pull model where the client can request a synchronization check from time to time. It also employs a round-trip measurement to minimize the effect of latency.

extraSkew = 0
maxAttempts = 5
maxUncertainty = 1.0
minWait = 10.0
notify = <direct.directnotify.Notifier.Notifier object>
reportFrameRateInterval = 300.0
updateFreq = 1800.0