#ipc #varlink #rpc #protocols #parser

varlink_parser

一个用于解析 varlink 接口定义文件的 crate

30 个版本 (17 个稳定版本)

4.2.0 2021年12月7日
4.1.0 2021年3月9日
4.0.4 2020年6月3日
4.0.3 2019年11月14日
0.3.0 2018年3月24日

#2644 in 解析器实现

每月25 次下载
4 个 crate 中使用 (2 个直接使用)

MIT/Apache

51KB
1.5K SLoC

varlink_parser

varlink_parser 是一个用于解析 varlink 接口定义文件的 Rust crate。

Build Status Crate

更多信息


lib.rs:

用于解析 varlink 接口定义文件的 varlink_parser crate。

示例

use varlink_parser::IDL;
use std::convert::TryFrom;
let interface = IDL::try_from("
## The Varlink Service Interface is provided by every varlink service. It
## describes the service and the interfaces it implements.
interface org.varlink.service

## Get a list of all the interfaces a service provides and information
## about the implementation.
method GetInfo() -> (
vendor: string,
product: string,
version: string,
url: string,
interfaces: []string
)

## Get the description of an interface that is implemented by this service.
method GetInterfaceDescription(interface: string) -> (description: string)

## The requested interface was not found.
error InterfaceNotFound (interface: string)

## The requested method was not found
error MethodNotFound (method: string)

## The interface defines the requested method, but the service does not
## implement it.
error MethodNotImplemented (method: string)

## One of the passed parameters is invalid.
error InvalidParameter (parameter: string)
").unwrap();
   assert_eq!(interface.name, "org.varlink.service");

依赖

~155–415KB