Пример #1
0
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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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)
Пример #8
0
 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)
Пример #9
0
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()