16个版本
使用旧的Rust 2015
0.3.12 | 2024年6月19日 |
---|---|
0.3.11 | 2024年1月17日 |
0.3.10 | 2023年1月5日 |
0.3.9 | 2022年1月13日 |
0.1.0 | 2019年1月27日 |
#78 in 网络编程
4,340 每月下载量
在 7 个crate中使用 (直接使用4个)
285KB
7K SLoC
webrtc-sdp
使用Rust编写的SDP解析器,专门用于处理WebRTC SDP报文和响应。
依赖项
- Rust >= 1.60.0
- 日志模块
- serde模块
- serde-derive模块
Cargo在第一次构建webrtc-sdp时会自动安装缺少的模块。
webrtc-sdp API
主函数是
fn parse_sdp(sdp: &str, fail_on_warning: bool) -> Result<SdpSession, SdpParserError>
sdp
参数是要解析的字符串。 fail_on_warning
参数确定如何处理解析过程中遇到的警告。任何遇到的问题都会存储起来,直到整个字符串解析完毕。解析过程中遇到的问题可以分为两类:
- 阻止进一步解析或处理SDP的致命错误
- 不会阻止进一步处理SDP的警告
警告可能包括属性中的未知参数。将 fail_on_warning
设置为 true
在开发过程中最有意义,当你希望了解所有潜在问题时。在生产环境中,预期 fail_on_warning
将为 false
。
parse_sdp()
返回一个包含所有解析信息的 SdpSession
结构体(代码)。或者在遇到致命错误(或者如果将 fail_on_warning
设置为 true
并且遇到任何警告)的情况下,将返回一个 SdpParserError
(代码),作为一个 Result
。
示例
webrtc-sdp 包中的 文件解析器 提供了一个如何调用 webrtc-sdp 解析器的简单示例。
贡献
由于 Travis CI 运行时检查代码格式化和 clippy 警告,请在提交 Pull Request 之前在本地运行以下命令。
如果您尚未安装 clippy 和 Rust 格式,可以按照以下方式安装
rustup component add rustfmt-preview
rustup component add clippy
使用 clippy 检查代码中的警告
cargo clippy
并根据 Rust 代码风格约定格式化所有代码
cargo fmt --all
Fuzzing
按照以下方式安装 cargo-fuzz
cargo install cargo-fuzz
使用 rust nightly,您可以开始 fuzzer 如下
cargo fuzz run fuzz_target_parse_sdp
许可证
根据 MPL-2.0 许可
依赖关系
~1–1.5MB
~53K SLoC