FreeSWITCH - mod_xml_rpc源码分析三chanswitch.c

前端之家收集整理的这篇文章主要介绍了FreeSWITCH - mod_xml_rpc源码分析三chanswitch.c前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


初始化和卸载

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


其他函数

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

  1. void
  2. ChanSwitchAccept(TChanSwitch * const chanSwitchP,TChannel ** const channelPP,void ** const channelInfoPP,const char ** const errorP) {
  3.  
  4. if (SwitchTraceIsActive)
  5. fprintf(stderr,"Getting a connection from Channel switch %p...\n",chanSwitchP);
  6.  
  7. (*chanSwitchP->vtbl.accept)(chanSwitchP,channelPP,channelInfoPP,errorP);
  8.  
  9. if (SwitchTraceIsActive)
  10. fprintf(stderr,"Got connection from channel switch. "
  11. "Channel = %p\n",*channelPP);
  12. }

猜你在找的XML相关文章