Example #1
0
def testLeaks5():
    from mixminion.test import _getMMTPServer
    server, listener, messagesIn, keyid = _getMMTPServer(1)
    #t = threading.Thread(None, testLeaks5_send,
    #                     args=(keyid,))
    #t.start()

    while 1:
        server.process(0.5)
        #if messagesIn:
        #    print "Connections"
        del messagesIn[:]
Example #2
0
def testLeaks5_send2():
    from mixminion.test import _getMMTPServer
    from mixminion.test import TEST_PORT, _getTLSContext
    import mixminion.MMTPClient

    #msg = "X" * 32 * 1024
    server, listener, messagesIn, keyid = _getMMTPServer(1,port=(TEST_PORT+1))
    #t = threading.Thread(None, testLeaks5_send,
    #                     args=(keyid,))
    #t.start()

    sending = [0]
    def sentHook(sending=sending):
        sending[0]=0

    certcache = mixminion.MMTPClient.PeerCertificateCache()

    print len(gc.get_objects())

    import socket

    #context = _getTLSContext(0)

    i = 0
    while 0:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.setblocking(1)
        sock.connect(("127.0.0.1", TEST_PORT))
        tls = _getTLSContext(0).sock(sock)
        tls.connect()
        #tls.check_cert_alive()
        #tls.verify_cert_and_get_identity_pk()
        #tls.get_peer_cert_pk()
        certcache.check(tls, keyid, ("127.0.0.1", TEST_PORT))
        #print certcache.cache

        tls.shutdown()
        sock.close()



    while 1:
        clientcon = mixminion.server.MMTPServer.MMTPClientConnection(
            _getTLSContext(0), "127.0.0.1", TEST_PORT, keyid,
            ["X"*(32*1024), "JUNK"], ["z", None],
            finishedCallback=sentHook, certCache=certcache)
        clientcon.register(server)
        i += 1
        sending[0] = 1
        print "Sending",i
        while sending[0]:
            server.process(0.5)

        #pprint.pprint( clientcon.__dict__ )
        old = clientcon
        clientcon = None
        gc.collect()
        #print len(certcache.cache)
        print len(gc.get_objects())
        print len(server.readers), len(server.writers)
        print gc.get_referrers(old)