def finish(self): SocketServer.BaseRequestHandler.finish(self) utils.logger.debug("Close the connection with "+str(self.client_address)) dMVC.getRServer().unregisterHandler(self) handler = dMVC.getRServer()._onDisconnection if handler: handler(self)
def __sendInitialData(self): utils.logger.debug("RServerHandler.sendRootModel client: "+str(self.client_address)) synchronized.Synchronized.__init__(self) initialData = {} initialData['rootModel'] = dMVC.getRServer().getRootModel() initialData['sessionID'] = self.__sessionID initialData['version'] = dMVC.getRServer().getVersion() self.sendCommand(initialData)
def finish(self): SocketServer.BaseRequestHandler.finish(self) utils.logger.debug("Close the connection with " + str(self.client_address)) dMVC.getRServer().unregisterHandler(self) handler = dMVC.getRServer()._onDisconnection if handler: handler(self)
def __sendInitialData(self): utils.logger.debug("RServerHandler.sendRootModel client: " + str(self.client_address)) synchronized.Synchronized.__init__(self) initialData = {} initialData['rootModel'] = dMVC.getRServer().getRootModel() initialData['sessionID'] = self.__sessionID initialData['version'] = dMVC.getRServer().getVersion() self.sendCommand(initialData)
def setup(self): utils.logger.debug("Conect client "+str(self.client_address)) self.__sessionID = utils.nextID() self.fragmentCommand = {} self.__commandsQueue = Queue.Queue() self.__asyncCommandQueue = Queue.Queue() thread.start_new(self.__sendCommandQueue, ()) self.__sendInitialData() dMVC.getRServer().registerHandler(self) handler = dMVC.getRServer()._onConnection if handler: handler(self)
def setup(self): utils.logger.debug("Conect client " + str(self.client_address)) self.__sessionID = utils.nextID() self.fragmentCommand = {} self.__commandsQueue = Queue.Queue() self.__asyncCommandQueue = Queue.Queue() thread.start_new(self.__sendCommandQueue, ()) self.__sendInitialData() dMVC.getRServer().registerHandler(self) handler = dMVC.getRServer()._onConnection if handler: handler(self)
def do(self): rServer = dMVC.getRServer() model = rServer.getModelByID(self._modelID) result = None error = None try: try: method = getattr(model, self._methodName) except AttributeError, ex: error = ex utils.logger.exception('Exception in remote method invocation') return RExceptionRaiser(self._executionID, ex) else:
def __sendAsyncObject(self, obj, commandID): toSerialize = dMVC.objectToSerialize(obj, dMVC.getRServer()) serialized = pickle.dumps(toSerialize) sizeSerialized = len(serialized) total = sizeSerialized / 10000 if not sizeSerialized % 10000 == 0: total += 1 lenProcess = 0 sequence = 0 asyncCommandID = utils.nextID() while lenProcess < sizeSerialized: sequence += 1 fragmentCommand = serialized[lenProcess : lenProcess + 10000] fragment = remotecommand.RFragment(asyncCommandID, sequence, total, fragmentCommand, commandID) self.__asyncCommandQueue.put(fragment) lenProcess += 10000 print "Ya tenemos todos los fragmentos puestos en la cola"
def __sendAsyncObject(self, obj, commandID): toSerialize = dMVC.objectToSerialize(obj, dMVC.getRServer()) serialized = pickle.dumps(toSerialize) sizeSerialized = len(serialized) total = sizeSerialized / 10000 if not sizeSerialized % 10000 == 0: total += 1 lenProcess = 0 sequence = 0 asyncCommandID = utils.nextID() while lenProcess < sizeSerialized: sequence += 1 fragmentCommand = serialized[lenProcess:lenProcess + 10000] fragment = remotecommand.RFragment(asyncCommandID, sequence, total, fragmentCommand, commandID) self.__asyncCommandQueue.put(fragment) lenProcess += 10000 print "Ya tenemos todos los fragmentos puestos en la cola"
def __sendObject(self, obj, command=None): toSerialize = dMVC.objectToSerialize(obj, dMVC.getRServer()) serialized = pickle.dumps(toSerialize) sizeSerialized = len(serialized) serializedCompress = gzip.zlib.compress(serialized) sizeSerializedCompress = len(serializedCompress) compress = '%.2f'% (100 - ((float(sizeSerializedCompress) / float(sizeSerialized)) * 100)) try: size = struct.pack("i", sizeSerializedCompress) utils.logger.debug("Sendind object " + str(obj) + " to client: "+str(self.client_address) + " (" + str(sizeSerializedCompress) + "b), compress: "+compress ) self.request.send(size) self.request.send(serializedCompress) #if command: # print "Enviado ",sizeSerialized , command return True except: #utils.logger.exception("Can''t send an object, probable conexion lost") self.finish() return False
def __sendObject(self, obj, command=None): toSerialize = dMVC.objectToSerialize(obj, dMVC.getRServer()) serialized = pickle.dumps(toSerialize) sizeSerialized = len(serialized) serializedCompress = gzip.zlib.compress(serialized) sizeSerializedCompress = len(serializedCompress) compress = '%.2f' % (100 - ( (float(sizeSerializedCompress) / float(sizeSerialized)) * 100)) try: size = struct.pack("i", sizeSerializedCompress) utils.logger.debug("Sendind object " + str(obj) + " to client: " + str(self.client_address) + " (" + str(sizeSerializedCompress) + "b), compress: " + compress) self.request.send(size) self.request.send(serializedCompress) #if command: # print "Enviado ",sizeSerialized , command return True except: #utils.logger.exception("Can''t send an object, probable conexion lost") self.finish() return False
def getClass(self): rServer = dMVC.getRServer() model = rServer.getModelByID(self._modelID) return model.__class__.__name__
def unsubscribeEventObserver(self): model = dMVC.getRServer().getModelByID(self._modelID) model.unsubscribeEventObserver(self)
def do(self): model = dMVC.getRServer().getModelByID(self._modelID) model.subscribeEvent(self._eventType, self.eventFired, self._suscriptionID, self.getSessionID())
def do(self): for suscription in self._suscriptionList: model = dMVC.getRServer().getModelByID(suscription[0]) model.unsubscribeEventById(suscription[1], self.getSessionID())
def do(self): model = dMVC.getRServer().getModelByID(self._modelID) model.unsubscribeEventById(self._suscriptionIDs, self.getSessionID())