Crates.io | llsd |
lib.rs | llsd |
version | 0.1.0 |
source | src |
created_at | 2019-02-03 15:56:56.800141 |
updated_at | 2019-02-03 15:56:56.800141 |
description | LLSD serializer and deserializer |
homepage | |
repository | https://framagit.org/teleportlab/llsd |
max_upload_size | |
id | 112388 |
size | 94,917 |
LLSD is a data encoding scheme for structured data. This crate provides a pure Rust implementation of a LLSD serializer and deserializer.
No formal spec was followed when implementing this crate, however there was an attempt to standardize LLSD in 2010 (IETF link) which should probably be analyzed more in depth in the future.
This implementation is based on the Second Life virtual world Wiki page on LLSD and inspection of the LibOpenMetaverse implementation to resolve a couple of ambiguities.
Any value is either an instance of a scalar or container type.
The two container types are Map
and Array
, each instance holds a collection of values.
The scalar types are: Boolean
, Integer
, Real
(float), UUID
, Date
, Uri
, Binary
, Undefined
(absence of value).
Conversions between many of the scalar types are well defined, however some conversions are invalid.
Copyright (C) 2017-2018 Leonardo Schwarz <mail@leoschwarz.com>
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/>.
Second Life is a trademark of Linden Research, Inc.
Teleport Lab and LLSD for Rust are not affiliated with or sponsored by Linden Research.