def jellyRoundTrip(testCase, toSerialize): """ Verify that the given object round-trips through jelly & banana and comes out equivalent to the input. """ jellied = jelly.jelly(toSerialize) encoded = banana.encode(jellied) decoded = banana.decode(encoded) unjellied = jelly.unjelly(decoded) testCase.assertEqual(toSerialize, unjellied)
def test_statelessDecode(self): """ Test that state doesn't carry over between calls to L{banana.decode}. """ # Banana encoding of 2 ** 449 undecodable = '\x7f' * 65 + '\x85' self.assertRaises(banana.BananaError, banana.decode, undecodable) # Banana encoding of 1 decodable = '\x01\x81' self.assertEqual(banana.decode(decodable), 1)
def test_statelessDecode(self): """ Calls to L{banana.decode} are independent of each other. """ # Banana encoding of 2 ** 449 undecodable = b"\x7f" * 65 + b"\x85" self.assertRaises(banana.BananaError, banana.decode, undecodable) # Banana encoding of 1. This should be decodable even though the # previous call passed un-decodable data and triggered an exception. decodable = b"\x01\x81" self.assertEqual(banana.decode(decodable), 1)
def test_statelessDecode(self): """ Calls to L{banana.decode} are independent of each other. """ # Banana encoding of 2 ** 449 undecodable = b'\x7f' * 65 + b'\x85' self.assertRaises(banana.BananaError, banana.decode, undecodable) # Banana encoding of 1. This should be decodable even though the # previous call passed un-decodable data and triggered an exception. decodable = b'\x01\x81' self.assertEqual(banana.decode(decodable), 1)
def datagramReceived(self, data, address): if self.debug: print "RCV", self.debugReceivePacketLength = len(data) # Allocate the received datagram to the correct client client = Client(address, self.transport) if client not in self.clients: if self.debug: print "!New!", self.clients.append(client) self.connectedCallback(client) else: client = self.clients[self.clients.index(client)] if self.debug: print client.debug() client.push(banana.decode(zlib.decompress(data)))
def setCopyableState(self, state): self.__dict__.update(state) self._activationListeners = [] try: with open(self.getFileName(), "rb") as dataFile: data = dataFile.read() except IOError: recent = 0 else: newself = jelly.unjelly(banana.decode(data)) recent = (newself.timestamp == self.timestamp) if recent: self._cbGotUpdate(newself.__dict__) self._wasCleanWhenLoaded = 1 else: self.remote.callRemote('getStateToPublish').addCallbacks(self._cbGotUpdate)
def setCopyableState(self, state): self.__dict__.update(state) self._activationListeners = [] try: with open(self.getFileName(), "rb") as dataFile: data = dataFile.read() except IOError: recent = 0 else: newself = jelly.unjelly(banana.decode(data)) recent = newself.timestamp == self.timestamp if recent: self._cbGotUpdate(newself.__dict__) self._wasCleanWhenLoaded = 1 else: self.remote.callRemote("getStateToPublish").addCallbacks(self._cbGotUpdate)
def a(var): t = timer() t.start(); data = banana.encode(var); t.stop() print "Enc B :", t.time(), len(data) t.start(); banana.decode(data); t.stop() print "Dec B :", t.time() t.start(); data = compress(banana.encode(var),9); t.stop() print "Enc B (zip9):", t.time(), len(data) t.start(); banana.decode(decompress(data)); t.stop() print "Dec B (zip9):", t.time() t.start(); data = compress(banana.encode(var),4); t.stop() print "Enc B (zip4):", t.time(), len(data) t.start(); banana.decode(decompress(data)); t.stop() print "Dec B (zip4):", t.time() t.start(); data = compress(banana.encode(var),1); t.stop() print "Enc B (zip1):", t.time(), len(data) t.start(); banana.decode(decompress(data)); t.stop() print "Dec B (zip1):", t.time() t.start(); data = cerealizer.dumps(var); t.stop() print "Enc C :", t.time(), len(data) t.start(); cerealizer.loads(data); t.stop() print "Dec C :", t.time() t.start(); data = compress(cerealizer.dumps(var),9); t.stop() print "Enc C (zip9):", t.time(), len(data) t.start(); cerealizer.loads(decompress(data)); t.stop() print "Dec C (zip9):", t.time() t.start(); data = compress(cerealizer.dumps(var),4); t.stop() print "Enc C (zip4):", t.time(), len(data) t.start(); cerealizer.loads(decompress(data)); t.stop() print "Dec C (zip4):", t.time() t.start(); data = compress(cerealizer.dumps(var),1); t.stop() print "Enc C (zip1):", t.time(), len(data) t.start(); cerealizer.loads(decompress(data)); t.stop() print "Dec C (zip1):", t.time() t.start(); data = Flatten.serialize(var); t.stop() print "Enc F :", t.time(), len(data) t.start(); Flatten.unserialize(data); t.stop() print "Dec F :", t.time() t.start(); data = compress(Flatten.serialize(var),9); t.stop() print "Enc F (zip9):", t.time(), len(data) t.start(); Flatten.unserialize(decompress(data)); t.stop() print "Dec F (zip9):", t.time() t.start(); data = compress(Flatten.serialize(var),4); t.stop() print "Enc F (zip4):", t.time(), len(data) t.start(); Flatten.unserialize(decompress(data)); t.stop() print "Dec F (zip4):", t.time() t.start(); data = compress(Flatten.serialize(var),1); t.stop() print "Enc F (zip1):", t.time(), len(data) t.start(); Flatten.unserialize(decompress(data)); t.stop() print "Dec F (zip1):", t.time() t.start(); data = banana.encode(jelly.jelly(var)); t.stop() print "Enc BJ :", t.time(), len(data) t.start(); jelly.unjelly(banana.decode(data)); t.stop() print "Dec BJ :", t.time() t.start(); data = compress(banana.encode(jelly.jelly(var)),9); t.stop() print "Enc BJ(zip9):", t.time(), len(data) t.start(); jelly.unjelly(banana.decode(decompress(data))); t.stop() print "Dec BJ(zip9):", t.time() t.start(); data = compress(banana.encode(jelly.jelly(var)),4); t.stop() print "Enc BJ(zip4):", t.time(), len(data) t.start(); jelly.unjelly(banana.decode(decompress(data))); t.stop() print "Dec BJ(zip4):", t.time() t.start(); data = compress(banana.encode(jelly.jelly(var)),1); t.stop() print "Enc BJ(zip1):", t.time(), len(data) t.start(); jelly.unjelly(banana.decode(decompress(data))); t.stop() print "Dec BJ(zip1):", t.time()