微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FreeSWITCH - mod_xml_rpc源码分析三chanswitch.c


初始化和卸载

很奇怪,这个文件内也有初始化和卸载函数。而且和channel.c文件内一模一样的。ChanSwitchInit函数和ChannelInit函数内部一模一样。ChanSwitchTerm也和ChannelTerm函数一模一样。有点晕了,abyss库这是啥意思。


其他函数

其他函数都很简单。基本上都如下面这个ChanSwitchAccept函数一样,最终调用了TChanSwitch保存的函数指针。

void
ChanSwitchAccept(TChanSwitch * const chanSwitchP,TChannel **   const channelPP,void **       const channelInfoPP,const char ** const errorP) {

    if (SwitchTraceIsActive)
        fprintf(stderr,"Getting a connection from Channel switch %p...\n",chanSwitchP);

    (*chanSwitchP->vtbl.accept)(chanSwitchP,channelPP,channelInfoPP,errorP);

    if (SwitchTraceIsActive)
        fprintf(stderr,"Got connection from channel switch.  "
                "Channel = %p\n",*channelPP);
}

原文地址:https://www.jb51.cc/xml/296185.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。