在我的应用程序中,有一个专用的io-thread
应用程序通过不同的线程处理数据.此外,要求规定未确认的窗口大小应为1,即任何时候应该只有一个未确认的未确认消息.这意味着如果io-thread已经通过套接字发送了一条消息,它将不再发送任何消息,直到它从接收方听到一个确认消息.应用程序的处理线程通过管道与io-thread通信.如果来自linux CLI的人键入ctrl + C,应用程序需要正常关闭.因此,鉴于这些要求,我有以下选择
我有以下问题
select()和poll()之间的决定.我的应用程序只处理少于50个文件描述符.可以假设我选择选择或民意调查没有区别吗?
select()和pselect()之间的决定.我阅读了linux文档,它说明了signal和select之间的竞争条件.我没有信号经验,所以有人可以更清楚地解释竞争条件和选择()吗?它是否与某人在CLI上按ctrl + C并且应用程序没有停止有关?
pselect和ppoll()之间的决定?对一个与另一个的任何想法
我正在尝试创建一个简单的消息定义,其中包含使用std::vector. 根据OMNet++ 5.5 手册 ch。6 秒。8.1,这看似简单。
但是,我使用的是 OMNet++ 6.0pre6:我无法弄清楚这样做的正确方法是什么,因为手册已经过时1,并且更改nedxml日志中非常肤浅地提到了这些更改。
消息定义可以归结为手册中的确切示例,但在这种情况下,它是 amessage而不是 a packet(两者都会产生相同的错误):
cplusplus {{
#include <vector>
typedef std::vector<int> IntVector;
}}
class noncobject IntVector;
message SimpleMsg {
int this_thing;
int that_thing;
IntVector these_things;
}
Run Code Online (Sandbox Code Playgroud)
以下错误由opp_msgtool消息到 C++ 转译器提供:
SimpleMsg.msg:6: Error: Type declarations are not needed with imports, try invoking the message compiler in legacy (4.x) mode using the --msg4 option
SimpleMsg.msg:11: Error: unknown type …Run Code Online (Sandbox Code Playgroud)