def _listen(self):
   factory = Factory()
   factory.protocol = FaultManagerProtocol
   factory.messageProcessor = self
   point = TCP4ServerEndpoint(reactor, self._port)
   d = point.listen(factory)
   d.addErrback(self._onListenError)
示例#2
0
 def _connectToFaultManager(self):
   factory = Factory()
   factory.protocol = ServerProtocol
   factory.messageProcessor = self
   factory.onConnect = self.connectedToFaultManager
   factory.onDisconnect = self.disconnectedFromFaultManager
   point = TCP4ClientEndpoint(reactor, self._faultManagerAddress, self._faultManagerPort)
   d = point.connect(factory)
   d.addErrback(self._onListenError)
示例#3
0
 def _listen(self):
   factory = Factory()
   factory.protocol = ServerProtocol
   factory.messageProcessor = self
   factory.onConnect = self.clientConnected
   factory.onDisconnect = self.clientDisconnected
   point = TCP4ServerEndpoint(reactor, self._localPort)
   d = point.listen(factory)
   d.addErrback(self._onListenError)
示例#4
0
 def _backupState(self):
   for (address, port) in self._replicaList:
     if not (address == self._localAddress and port == self._localPort): #don't connect to ourselves
       factory = Factory()
       factory.protocol = ServerProtocol
       factory.messageProcessor = self
       factory.onConnect = self.connectedToBackup
       factory.onDisconnect = None
       point = TCP4ClientEndpoint(reactor, address, port, timeout=2)
       d = point.connect(factory)
示例#5
0
 def _connectToReplica(self):
   if self._replicaIndexToAttempt < len(self._replicaList):
     
     factory = Factory()
     factory.protocol = ClientProtocol
     factory.messageProcessor = self
     factory.onConnect = self.connectedToServerReplica
     factory.onDisconnect = self.disconnectedFromServerReplica
     
     (replicaAddress, replicaPort) = self._replicaList[self._replicaIndexToAttempt]
     print "Connecting to primary replica", replicaAddress + ":" + str(replicaPort)
     point = TCP4ClientEndpoint(reactor, replicaAddress, replicaPort)
     d = point.connect(factory)
     d.addErrback(self._onServerReplicaConnectError)
     self._replicaIndexToAttempt += 1
   else:
     #if we run out of replicas, send OperationComplete with result set to None
     #so that performOperation will raise an exception
     self._operationCompleteCondition.acquire()
     self._operationResult = None
     self._operationCompleteCondition.notifyAll()
     self._operationCompleteCondition.release()