PJSIP开发手册之解析器(四)

本文档详细介绍了PJSIP解析器的特性,包括其高速性能、可重入性、可扩展性。解析器利用PJLIB扫描器实现自顶向下解析,通过零拷贝、内存池分配等技术提高效率。此外,解析器支持对URI和头部域的解析,并允许扩展以处理新类型的头部域和URI。解析函数包括消息、URI、头部域的解析,以及错误处理和扩展功能。
摘要由CSDN通过智能技术生成

第四章 解析器

下面PJSIP解析器的一些特征:

1. 它是自顶而下,手写的解析器。它使用了PJLIB的扫描器,此scanner速度很快,并减轻了解析器的复杂性。这样增加解析器可读性。

2. 如上所述,执行速度很快。在一台P412.6GHz机器上,1秒钟可以解析68k800bytesSIP消息或860k个80bytesde 的URIs。

3. 它是可重入的。这使它在多处理器的机器上具有扩展性。

4. 它具有可扩展性。可以使用模块向解析器插入新的URI或头部域。

解析器采用了许多可以想到的技巧来获取最高性能:

1. 它对所有消息元素使用零拷贝。即当一个元素(如pvalue解析后,解析器并不会拷贝pvalue的内容到消息中的相应字段,而只是将指针和长度存放到消息中相应的字段中。这样做,是因为PJSIP在整个库中使用pj_str_t类型,不需要字符串以NULL结尾。

2. 它使用PJSIP的内存池(pj_pool_t)来为消息结构的内存分配。这比传统的malloc()函数快了好几倍。

3. 它使用

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值