Skip to content

A Rust library for building IEEE 2030.5 Clients & Servers

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

ethanndickson/sep2_common

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SEP2 Common Library

sep2_common is a (WIP) Rust library for developing IEEE 2030.5 compliant servers & clients.

It can be used with sep2_client, which provides a framework for developing IEEE 2030.5 clients.

Documentation

Contents

sep2_common - Implementation of IEEE 2030.5 data types

sep2_common_derive - Rust Procedural Macros providing inheritance-based interfaces on IEEE 2030.5 data types

Core Features

  • Rust Types for practically all IEEE 2030.5 Resources, Types & Primitives.
  • XML Serialising & Deserialising all resources using SEPSerde
  • Rust enums for all applicable integer types.
  • Bitflags for all HexBinary\d+ bitmaps for improved ergonomics
  • Rust Traits for all re-used IEEE 2030.5 base types
    • Common Interface for manipulating List Resources
  • Rust Procedural Macros to derive these traits on the appropriate types.
  • [De]?serialising sanity tests (auto-generated)
  • Function Set List Ordering
  • CSIP-AUS Extension Resources & Attributes
  • Correctness / Spec Adherence Tests

Future

  • EXI Serialising & Deserialising all resources (Requires a Rust EXI Library)

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

A Rust library for building IEEE 2030.5 Clients & Servers

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages