コード例 #1
0
def main():
    task = Task(dict())
    set_up_server()

  
    for ind in xrange(MAX_CON):
        sock = socket(AF_INET, SOCK_STREAM)
        con = Spin(sock)
        Client(con)

        xmap(con, CONNECT, on_connect)
        xmap(con, CONNECT_ERR, on_connect_err)
        con.connect_ex(('localhost', PORT))

        def job(data, event, args, index=ind):
            base = data.setdefault(event, list())
            base.append(('Con %s' % index, args[1]))
            return True

        task.gather(con, 
                         ('0', job),
                         ('1', job),
                         ('2', job),
                         ('3', job),
                         ('4', job),
                         ('5', job),
                         (CONNECT_ERR, lambda *args: True)) 



    xmap(task, COMPLETE, done)
コード例 #2
0
ファイル: deb_4.py プロジェクト: lowks/untwisted
def on_connect(con):
    Stdin(con)
    Stdout(con)
    Shrug(con)
    xmap(con, FOUND, lambda con, data: spawn(con, data, data))
    #xmap(con, FOUND, lambda con, data: sys.stdout.write('%s\n' % data))
    print 'connected'

    task = Task(dict())

    def job(data, event, args):
        base = data.setdefault(event, list())
        base.append(args[1])
        return True

    for ind in xrange(MAX_REQUEST):
        task.gather(con, ('%s' % ind, job))

    xmap(task, COMPLETE, done)
コード例 #3
0
ファイル: deb_4.py プロジェクト: iogf/untwisted
def on_connect(con):
    Stdin(con)
    Stdout(con)
    Shrug(con)
    xmap(con, FOUND, lambda con, data: spawn(con, data, data))
    #xmap(con, FOUND, lambda con, data: sys.stdout.write('%s\n' % data))
    print 'connected' 

    task = Task(dict())
    
    def job(data, event, args):
        base = data.setdefault(event, list())
        base.append(args[1])
        return True

    for ind in xrange(MAX_REQUEST):
        task.gather(con, ('%s' % ind, job)) 

    xmap(task, COMPLETE, done)
コード例 #4
0
ファイル: download.py プロジェクト: noscripter/untwisted
    con.dump("Host: %s\r\n" % url)
    con.dump("Connection: TE, close\r\n")
    con.dump("User-Agent: UntwistedDownload/1.0\r\n\r\n")


def on_close(con, err, url):
    with open(url, "w") as fd:
        fd.write(con.accumulator.data)


def done(task, data):
    raise Kill


task = Task(dict())
xmap(task, COMPLETE, done)

job = lambda data, event, args: True

for ind in urls:
    con = Spin()
    Client(con)
    con.connect_ex((ind, 80))
    xmap(con, CONNECT, on_connect, ind)
    xmap(con, CLOSE, lambda con, err: lose(con))
    xmap(con, CLOSE, on_close, ind)
    xmap(con, CONNECT_ERR, lambda con, err: lose(con))
    task.gather(con, (CLOSE, job), (CONNECT_ERR, job))

core.gear.mainloop()
コード例 #5
0
ファイル: download.py プロジェクト: yutzhead/untwisted
    con.dump('Host: %s\r\n' % url)
    con.dump('Connection: TE, close\r\n')
    con.dump('User-Agent: UntwistedDownload/1.0\r\n\r\n')


def on_close(con, err, url):
    with open(url, 'w') as fd:
        fd.write(con.accumulator.data)


def done(task, data):
    raise Kill


task = Task(dict())
xmap(task, COMPLETE, done)

job = lambda data, event, args: True

for ind in urls:
    con = Spin()
    Client(con)
    con.connect_ex((ind, 80))
    xmap(con, CONNECT, on_connect, ind)
    xmap(con, CLOSE, lambda con, err: lose(con))
    xmap(con, CLOSE, on_close, ind)
    xmap(con, CONNECT_ERR, lambda con, err: lose(con))
    task.gather(con, (CLOSE, job), (CONNECT_ERR, job))

core.gear.mainloop()