github开源库real-logic/aeron的aeron/aeron-samples/src/main/cpp/BasicSubscriber.cpp

       最近在用aeron开源库。基本信息github有详细介绍,地址:https://github.com/real-logic/aeron。

       这里主要是讲解aeron/aeron-samples/src/main/cpp/BasicSubscriber.cpp 这一部分代码

       从main开始吧。首先定义一个CommandOptionParser类型的对象cp。按其名字翻译,大概就是“命令选项解析”的一个对象。CommadOption翻译就是“命令选项”,就是一个存放命令的对象。然后cp通过addOption把所有的CommadOption对象放到它自己定义的一个map容器中。然后用到了Settings,它主要定义了目录后缀,默认的频道值,默认的流ID值。然后就进入了函数parseCmdLine。下面开始讲解parseCmdLine函数的具体意义。首先,调用cp的parse()来解析命令行传入的参数。在parse()中先定义currentOption,即当前的选项。每次通过“-”来识别是什么类型的命令,然后再在后面一行获取具体的命令。启动格式大概如下:$./BasicSubscriber -c aeron:udp?endpoint=localhost:40129  -s 15。此时解析了频道和流ID。再后面是几个lambda表达式。然后就是循环接收消息并按handler处理接收到的消息。

 

你可能感兴趣的:(aeron)