C ++事件/消息系统

时间:2011-06-29 11:43:56

标签: c++ event-handling messaging

我需要实现(不使用某些库/开源)事件/消息系统。

我有以下限制:

  • 一定很快。它将用于游戏和速度是主要的限制。我想即使我使用自定义分配器,每次发送新的消息/事件时都无法创建/删除消息/事件类。

  • 我必须能够预测何时会收到发送/创建的消息/事件。

  • 必须易于使用。无论系统的实现有多复杂,使用它的程序员必须具有易于使用的界面。

  • 我宁愿避免像Windows消息那样的巨型交换机,但我也想避免仅为一个函数覆盖一个类 - 事件处理程序或类似的东西。我认为类似MFC风格的东西会很好。

  • 它必须能够处理没有性能问题的消息/事件的批次(可能是1000帧/帧,60帧/秒,不完全知道)。

  • 它不能使用其他平台上没有的编译器黑客。它必须是便携式的。我将使用C ++实现。

您认为适合/可能有用的任何架构/设计/链接/书籍都将受到高度赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

让我逐一阐述你的观点:

  

一定很快。它将用于游戏和速度是主要的   限制。我想我不能   创建/删除消息/事件类   每次发送新消息/事件时   即使我使用自定义分配器   这一点。

对于重用和重新填充现有消息来说,这样就足够了,也许甚至更高效(对我来说是一个项目)。无需自定义分配器。

  

我必须能够预测何时   发送/创建的消息/事件将是   接收。

您可以进行预测,但普通网络(您希望可移植性)会使您的预测有时偏离,有时会偏离。

  

必须易于使用。无所谓   会有多复杂   系统的实现,   使用它的程序员必须有一个   易于使用的界面。

这应该是可能的,虽然这可能会花费你一些额外的努力。我们会想到错误处理和特殊情况(平台,网络)。

  

我宁愿避开巨型开关   喜欢在Windows消息上,但我也是   我想避免重写一个班级   只有一个函数 - 事件处理程序   或类似的东西。我认为   就像MFC风格一样   好的。

避免手动编写的巨型交换机是我100%订阅的东西。

  

它必须能够处理很多(也许   1000 /帧在60帧/秒,不   知道这个消息/事件   没有性能问题。

如果您在实施过程中注意,您应该只受网络限制。

  

它不能使用编译器黑客   在其他平台上不可用。它   必须是便携式的。我将使用C ++   实施

在所有平台上都没有C ++可用。你能列出你要解决的平台吗?