本文介绍了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,如何参数传递给相关的回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 11:17