def main(): s = 2 ch = Channel(s) for i in xrange(s): print i yield ch.fire(i) print ch.bufsize, len(ch._msgs) for i in xrange(s): print (yield ch.wait()) print "done"