コード例 #1
0
ファイル: pingpong.py プロジェクト: ubolonton/twisted-csp
def player(name, table):
    while True:
        ball = yield take(table)
        ball.hits += 1
        print name, ball.hits
        yield sleep(0.1)
        yield put(table, ball)
コード例 #2
0
ファイル: pingpong.py プロジェクト: ubolonton/twisted-csp
def main():
    table = Channel()

    go(player, "ping", table)
    go(player, "pong", table)

    yield put(table, Ball())
    yield sleep(1)
コード例 #3
0
ファイル: go_block.py プロジェクト: ubolonton/twisted-csp
def main():
    chan = go_chan(lazy_echo, 1)
    print (yield take(chan))

    chan = go_chan(lazy_echo, 2)
    yield sleep(1)
    print (yield take(chan))

    yield stop("Done")
コード例 #4
0
ファイル: select.py プロジェクト: ubolonton/twisted-csp
def produce(chan, value):
    yield sleep(0.1)
    yield put(chan, value)
コード例 #5
0
ファイル: select.py プロジェクト: ubolonton/twisted-csp
 def t():
     yield sleep(seconds)
     chan.close()
コード例 #6
0
 def closing():
     yield sleep(0.005)
     ch.close()
コード例 #7
0
 def taking():
     yield sleep(0.005)
     yield take(ch)
コード例 #8
0
 def putting():
     yield sleep(0.005)
     yield put(ch, 42)
コード例 #9
0
ファイル: boring.py プロジェクト: ubolonton/twisted-csp
 def _do():
     i = 0
     while True:
         yield put(c, "%s %d" % (message, i))
         yield sleep(random.random())
         i += 1
コード例 #10
0
ファイル: go_block.py プロジェクト: ubolonton/twisted-csp
def lazy_echo(x):
    yield sleep(0.1)
    print "I'm done"
    yield stop(x)