【发布时间】:2011-01-14 07:46:03
【问题描述】:
我想将一些 asyncore.dispatcher 实例集成到 GLib 的 default main context 中。
我想我可以创建一个custom GSource,它能够检测asyncore.socket_map 中各种套接字上的事件准备情况。在 C 语言中,我相信这是通过创建必要的 GSourceFuncs 来完成的,这可能涉及对 select 的廉价和非阻塞调用,然后使用 asyncore.read、.write 和朋友处理它们。
如何从 Python 实际创建 GSource? glib.Source 类是undocumented,尝试以交互方式使用该类是徒劳的。
是否有其他方法可以让我处理asyncore 模块中的套接字事件而不诉诸超时(或任何危及潜在吞吐量和 CPU 使用率的事情)?
【问题讨论】:
标签: python pygtk glib asyncore