freediameter部分源码分析

freediameter状态机启动p_psm_th。client端:fd_peer_add添加server,连接每个server启动一个线程,fd_psm_begin,p_psm_th,通过fd_event_timedget获取消息;如果超时未获取,得到FDEVP_PSM_TIMEOUT消息,执行fd_p_cnx_init,启动connect_thr线程,给自己发送FDEVP_
摘要由CSDN通过智能技术生成
freediameter状态机启动p_psm_th。


client端:
fd_peer_add添加server,连接每个server启动一个线程,fd_psm_begin,p_psm_th,通过fd_event_timedget获取消息;
如果超时未获取,得到FDEVP_PSM_TIMEOUT消息,执行fd_p_cnx_init,启动connect_thr线程,给自己发送FDEVP_CNX_ESTABLISHED消息;
状态机收到此FDEVP_CNX_ESTABLISHED消息,执行fd_p_ce_handle_newcnx,create_CER并发送,切换到STATE_WAITCEA状态。
如果状态机收到server回复的应答CC_CAPABILITIES_EXCHANGE消息,fd_p_ce_msgrcv,切换到STATE_OPEN状态;启动定时器;
定时器超时fd_p_dw_timeout,如果是第一次,发送DWR,fd_out_send,启动out_thr线程发送消息;




server端:
解析配置文件fd_core_parseconf;通过fd_ext_load,可以加载扩展的动态库;其中每个扩展的动态库,都调用EXTENSION_ENTRY,生成fd_ext_init,动态库的入口。
每个扩展都通过EXTENSION_ENTRY生成自己动态库的fd_ext_init函数,此函数实际调用注册的函数,

如dict_lxml.c调用dict_lxml_entry&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值