Tuesday, November 18, 2008

Fibra grows events.

Fibra has grown an event handling plugin.
  1 import fibra
2
3
4 def task_a():
5 for i in xrange(10):
6 yield fibra.Send('AN_EVENT')
7
8 def task_b():
9 while True:
10 msg = yield fibra.Recv('AN_EVENT')
11 print 'Received:', msg
12
13 def test():
14 s = fibra.schedule()
15 s.install(task_a())
16 s.install(task_b())
17 s.run()
18
19 if __name__ == "__main__":
20 test()
Now I need to reinstate the networking layer... and think about adding multi-core features via the new (in 2.6) multiprocessing module. It would be nice to have events magically transferred across process boundaries. FibraNet used to do this, but I haven't found a clean way of adding this to fibra, yet.

3 comments:

Anonymous said...

Have you looked at cogen ?

The main difference is that the handling logic (your plugin) is on the same token object (your Recv, Send etc instance) in cogen.

Anonymous said...

So, are you going to use Twisted or not then? You seemed to be suggesting in your previous message that was the way you were headed...

Anonymous said...

No, cogen is not related to twisted. Where did you get that idea?

Popular Posts