您的位置:首页 > 其它

FreeSWITCH - mod_xml_rpc源码分析三chanswitch.c

2015-09-03 22:24 295 查看

初始化和卸载

很奇怪,这个文件内也有初始化和卸载函数。而且和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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: