def __init__(self, dcFileNames=None, dcSuffix='', connectMethod=None, threadedNet=None):
     if connectMethod is None:
         connectMethod = self.CM_HTTP
     ConnectionRepository.__init__(self, connectMethod, base.config, hasOwnerView=True, threadedNet=threadedNet)
     self.dcSuffix = dcSuffix
     if hasattr(self, 'setVerbose'):
         if self.config.GetBool('verbose-clientrepository'):
             self.setVerbose(1)
     self.context = 100000
     self.setClientDatagram(1)
     self.deferredGenerates = []
     self.deferredDoIds = {}
     self.lastGenerate = 0
     self.setDeferInterval(base.config.GetDouble('deferred-generate-interval', 0.2))
     self.noDefer = False
     self.recorder = base.recorder
     self.readDCFile(dcFileNames)
     self.cache = CRCache.CRCache()
     self.doDataCache = CRDataCache()
     self.cacheOwner = CRCache.CRCache()
     self.serverDelta = 0
     self.bootedIndex = None
     self.bootedText = None
     self.parentMgr = ParentMgr.ParentMgr()
     self.relatedObjectMgr = RelatedObjectMgr.RelatedObjectMgr(self)
     self.timeManager = None
     self.heartbeatInterval = base.config.GetDouble('heartbeat-interval', 10)
     self.heartbeatStarted = 0
     self.lastHeartbeat = 0
     self._delayDeletedDOs = {}
     self.specialNameNumber = 0
     return
Ejemplo n.º 2
0
 def __init__(self, dcFileNames = None, dcSuffix = '', connectMethod = None, threadedNet = None):
     if connectMethod is None:
         connectMethod = self.CM_HTTP
     ConnectionRepository.__init__(self, connectMethod, base.config, hasOwnerView=True, threadedNet=threadedNet)
     self.dcSuffix = dcSuffix
     if hasattr(self, 'setVerbose'):
         if self.config.GetBool('verbose-clientrepository'):
             self.setVerbose(1)
     self.context = 100000
     self.setClientDatagram(1)
     self.deferredGenerates = []
     self.deferredDoIds = {}
     self.lastGenerate = 0
     self.setDeferInterval(base.config.GetDouble('deferred-generate-interval', 0.2))
     self.noDefer = False
     self.recorder = base.recorder
     self.readDCFile(dcFileNames)
     self.cache = CRCache.CRCache()
     self.doDataCache = CRDataCache()
     self.cacheOwner = CRCache.CRCache()
     self.serverDelta = 0
     self.bootedIndex = None
     self.bootedText = None
     self.parentMgr = ParentMgr.ParentMgr()
     self.relatedObjectMgr = RelatedObjectMgr.RelatedObjectMgr(self)
     self.timeManager = None
     self.heartbeatInterval = base.config.GetDouble('heartbeat-interval', 10)
     self.heartbeatStarted = 0
     self.lastHeartbeat = 0
     self._delayDeletedDOs = {}
     self.specialNameNumber = 0
     self.wantUpdateCalls = False
     return
Ejemplo n.º 3
0
    def __init__(self,
                 dcFileNames=None,
                 dcSuffix='',
                 connectMethod=None,
                 threadedNet=None):
        if connectMethod is None:
            connectMethod = self.CM_HTTP
        ConnectionRepository.__init__(self,
                                      connectMethod,
                                      base.config,
                                      hasOwnerView=True,
                                      threadedNet=threadedNet)
        self.dcSuffix = dcSuffix
        if hasattr(self, 'setVerbose'):
            if self.config.GetBool('verbose-clientrepository'):
                self.setVerbose(1)

        self.context = 100000
        self.setClientDatagram(1)

        self.deferredGenerates = []
        self.deferredDoIds = {}
        self.lastGenerate = 0
        self.setDeferInterval(
            base.config.GetDouble('deferred-generate-interval', 0.2))
        self.noDefer = False  # Set this True to temporarily disable deferring.

        self.recorder = base.recorder

        self.readDCFile(dcFileNames)
        self.cache = CRCache.CRCache()
        self.doDataCache = CRDataCache()
        self.cacheOwner = CRCache.CRCache()
        self.serverDelta = 0

        self.bootedIndex = None
        self.bootedText = None

        # create a parentMgr to handle distributed reparents
        # this used to be 'token2nodePath'
        self.parentMgr = ParentMgr.ParentMgr()

        # The RelatedObjectMgr helps distributed objects find each
        # other.
        self.relatedObjectMgr = RelatedObjectMgr.RelatedObjectMgr(self)

        # This will be filled in when a TimeManager is created.
        self.timeManager = None

        # Keep track of how recently we last sent a heartbeat message.
        # We want to keep these coming at heartbeatInterval seconds.
        self.heartbeatInterval = base.config.GetDouble('heartbeat-interval',
                                                       10)
        self.heartbeatStarted = 0
        self.lastHeartbeat = 0

        self._delayDeletedDOs = {}

        self.specialNameNumber = 0
Ejemplo n.º 4
0
    def __init__(self,
                 baseChannel,
                 serverId=None,
                 dcFileNames=None,
                 dcSuffix='AI',
                 connectMethod=None,
                 threadedNet=None):
        if connectMethod is None:
            connectMethod = self.CM_NATIVE
        ConnectionRepository.__init__(self,
                                      connectMethod,
                                      config,
                                      hasOwnerView=False,
                                      threadedNet=threadedNet)
        self.setClientDatagram(False)
        self.dcSuffix = dcSuffix
        if hasattr(self, 'setVerbose'):
            if self.config.GetBool('verbose-internalrepository'):
                self.setVerbose(1)

        # The State Server we are configured to use for creating objects.
        #If this is None, generating objects is not possible.
        self.serverId = self.config.GetInt('air-stateserver', 0) or None
        if serverId is not None:
            self.serverId = serverId

        maxChannels = self.config.GetInt('air-channel-allocation', 1000000)
        self.channelAllocator = UniqueIdAllocator(
            baseChannel, baseChannel + maxChannels - 1)
        self._registeredChannels = set()

        self.__contextCounter = 0

        #self.netMessenger = NetMessenger(self)

        #self.dbInterface = AstronDatabaseInterface(self)
        self.__callbacks = {}

        self.ourChannel = self.allocateChannel()

        self.eventLogId = self.config.GetString('eventlog-id',
                                                'AIR:%d' % self.ourChannel)
        self.eventSocket = None
        eventLogHost = self.config.GetString('eventlog-host', '')
        if eventLogHost:
            if ':' in eventLogHost:
                host, port = eventLogHost.split(':', 1)
                self.setEventLogHost(host, int(port))
            else:
                self.setEventLogHost(eventLogHost)

        self.readDCFile(dcFileNames)
Ejemplo n.º 5
0
    def __init__(self, dcFileNames = None, dcSuffix = '',
                 connectMethod = None, threadedNet = None):
        if connectMethod is None:
            connectMethod = self.CM_HTTP
        ConnectionRepository.__init__(self, connectMethod, base.config, hasOwnerView = True, threadedNet = threadedNet)
        self.dcSuffix = dcSuffix
        if hasattr(self, 'setVerbose'):
            if self.config.GetBool('verbose-clientrepository'):
                self.setVerbose(1)

        self.context=100000
        self.setClientDatagram(1)

        self.deferredGenerates = []
        self.deferredDoIds = {}
        self.lastGenerate = 0
        self.setDeferInterval(base.config.GetDouble('deferred-generate-interval', 0.2))
        self.noDefer = False  # Set this True to temporarily disable deferring.

        self.recorder = base.recorder

        self.readDCFile(dcFileNames)
        self.cache=CRCache.CRCache()
        self.doDataCache = CRDataCache()
        self.cacheOwner=CRCache.CRCache()
        self.serverDelta = 0

        self.bootedIndex = None
        self.bootedText = None

        # create a parentMgr to handle distributed reparents
        # this used to be 'token2nodePath'
        self.parentMgr = ParentMgr.ParentMgr()

        # The RelatedObjectMgr helps distributed objects find each
        # other.
        self.relatedObjectMgr = RelatedObjectMgr.RelatedObjectMgr(self)

        # This will be filled in when a TimeManager is created.
        self.timeManager = None

        # Keep track of how recently we last sent a heartbeat message.
        # We want to keep these coming at heartbeatInterval seconds.
        self.heartbeatInterval = base.config.GetDouble('heartbeat-interval', 10)
        self.heartbeatStarted = 0
        self.lastHeartbeat = 0

        self._delayDeletedDOs = {}

        self.specialNameNumber = 0
Ejemplo n.º 6
0
    def connect(self, host, port=7199):
        """
        Connect to a Message Director. The airConnected message is sent upon
        success.

        N.B. This overrides the base class's connect(). You cannot use the
        ConnectionRepository connect() parameters.
        """

        url = URLSpec()
        url.setServer(host)
        url.setPort(port)

        self.notify.info('Now connecting to %s:%s...' % (host, port))
        ConnectionRepository.connect(self, [url],
                                     successCallback=self.__connected,
                                     failureCallback=self.__connectFailed,
                                     failureArgs=[host, port])