本文介绍了Libev,如何参数传递给相关的回调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我被困在参数传递libev的情况。
一般情况下,libev接收函数封装例如 * receive_callback * ,这是确定的,但在实践中,我们需要派一个相对的 * write_callback * ,以应对特定的根据接收到的包作业。例如:
S_RECV_MSG * pstRecvMsg =(S_RECV_MSG *)recv_buff;
开关(pstRecvMsg-> wMsgType){
情况1:
ev_io_init(W,write_callback1,W-> FD,EV_WRITE);
打破;
案例2:
ev_io_init(W,write_callback2,W-> FD,EV_WRITE);
打破;
案例3:
// .......
}
我的问题是,如果 write_callbackX
还具有读取recv_buff的具体内容,我们如何能够通过recv_buff参数传递给callbackX?我们必须承担这里的全局变量的负担和丑?
解决方案
作者回答了自己,但在一个注释。由于该显示为未,我
张贴他的回答答案一节中闭循环。不知道是否有更好的方法......随时来解决这个问题。
问题作者说:
这篇关于Libev,如何参数传递给相关的回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!