test/sample codes for AsynchIO

Robert Olson olson at mcs.anl.gov
Tue Aug 12 09:20:44 CDT 2003


Attached.

AsynchIO is living in the asynch-dev-2003-0605 branch.

--bob
-------------- next part --------------
import AsynchIO
import time
import logging

logging.root.addHandler(logging.StreamHandler())
logging.root.setLevel(logging.DEBUG)

def rh(conn, buf):
    print "RH gets buffer: ", buf

    if buf is not None:
        bigbuf = open("/temp/2003-0314.html", "r")
        b= bigbuf.read()
        b = b + b + b + b
        conn.asynchWrite(b)
        conn.asynchWrite(b)
        conn.asynchWrite(b)
        conn.asynchWrite(b)
        # conn.wfile.write("got it '%s'\n" % (buf) )
        print "write returns"
    
def ccb(obj, addr, port):
    print "Got connection %s %s %s" % (obj, addr, port)
    return rh

aio = AsynchIO.AsynchIO(9000, ccb)
while 1:
    time.sleep(1)
-------------- next part --------------
import time
import logging
import sys

logging.root.addHandler(logging.StreamHandler())
logging.root.setLevel(logging.DEBUG)

from pyGlobus.io import GSITCPSocket
from AccessGrid import AsynchIO
from hosting.pyGlobus.Utilities import CreateTCPAttrAlwaysAuth

done = 0

def rh(conn, data):
    if data is None:
        global done
        print "EOF"
        done = 1
    else:
        print "Got data len ", len(data)

attr = CreateTCPAttrAlwaysAuth()

s = GSITCPSocket()
s.connect("localhost", 9000, attr)

a = AsynchIO.AsynchIOConnection(s)

a.setReadHandler(rh)
a.registerForRead()

i = 3
a.asynchWrite("Hi %s" % (i))

while not done:
    time.sleep(1)


More information about the ag-dev mailing list