1个不稳定版本

使用旧的Rust 2015

0.1.0 2019年2月3日

#1896编码

每月 22次下载

GPL-3.0-or-later

60KB
1.5K SLoC

LLSD for Rust

LLSD是一种结构化数据的编码方案。这个crate提供了一个纯Rust实现的LLSD序列化和反序列化器。

格式

规范

在实现此crate时没有遵循正式规范,然而在2010年试图标准化LLSD(IETF链接),这应该在未来进行更深入的分析。

此实现基于第二人生虚拟世界 LLSD维基页面 和对 LibOpenMetaverse 实现的检查,以解决一些歧义。

概述

任何值要么是标量或容器类型的实例。

两种容器类型是 MapArray,每个实例都包含一组值。标量类型有:BooleanIntegerReal(浮点数),UUIDDateUriBinaryUndefined(值的缺失)。

许多标量类型之间的转换定义良好,但某些转换是无效的。

实现说明

  • XML:二进制编码仅BASE64,解码仅BASE16和BASE64,但没有BASE85。
  • 此API尚不稳定。

许可证

Copyright (C) 2017-2018  Leonardo Schwarz <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

免责声明

第二人生是Linden Research,Inc.的商标。

Teleport Lab和LLSD for Rust与Linden Research无关,也不受其赞助。

依赖关系

~12MB
~288K SLoC