> 文章列表 > 开源代码走读--unimrcp

开源代码走读--unimrcp

开源代码走读--unimrcp

该博客以unimrcp的recorder实现为例进行分析

1. server端

1.1 信令处理

MRCP信令处理流程(以RECORDER-REQUEST信令处理流程为例),由于unimrcp本身是一个基于task的异步架构信令处理模型。他对请求的处理从宏观上可以分为两部分:task入队和task出队。出队后是实际的请求处理流程。因此函数调用栈也分为如下两部分:
(1) task入队
底层基于poll机制实现文件描述符的监听。在任务入队时会添加对应type和sub_type以对task进行标记。

apt_task_run->
apt_poller_task_run(此处实现event_loop)->
mrcp_server_poller_signal_process(task->signal_handler)->
mrcp_server_message_handler->
mrcp_