MCPcopy Index your code
hub / github.com/axiros/rusp

github.com/axiros/rusp @v1.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.1 ↗ · + Follow
550 symbols 1,079 edges 27 files 17 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Continuous integration

rusp

This is rusp, the Rust USP toolkit.

Rust is a fast and safe systems programming language.

USP (or User Services Platform) is a new protocol for management of connected devices, maintained and developed by the Broadband Forum.

This repository has been proudly sponsored by Axiros, a market leader in device management and monitoring solutions: Axiros logo

What is rusp?

rusp is a toolkit, written in Rust, providing support to work with USP records and messages which are encoded in Protobuf bytestreams.

While a Protobuf schema exists which allows generating bindings for several commonly used programming languages, those are either uncomfortable to use and/or highly unsafe. By leveraging the strong Rust type system and the strict compiler, Rust is capable of detecting many incorrect or incomplete uses of the Protobuf encoding at compile time which allows for confident use of the USP protocol.

What is included?

The toolkit currently provides these parts:

  1. The Rusp library (aptly named: rusp-lib)
  2. The Rhai-Rusp library
  3. The Rusp binaries

What else?

You may use this crate however you like under the BSD 3-Clause Licence.

The toolkit is still far from feature complete but already a big aid in our product development and also helped to find one or the other discrepancy in the standard.

Feel free to spread the word or drop us a note if you like it. Collaboration on this crate is highly welcome as are pull requests in our GitHub repo.

Contact us

If you are in need of software for USP management software (agent, controller or testing) or expertise please get in touch with us via our web form. We're also happy to solve all other device management and monitoring needs!

Licence

BSD 3-Clause Licence.

Core symbols most depended-on inside this repo

build
called by 67
rusp-lib/src/usp_builder/add.rs
to_vec
called by 45
rusp-lib/src/usp_encoder.rs
try_decode_msg
called by 39
rusp-lib/src/usp_decoder.rs
with_body
called by 22
rusp-lib/src/usp_builder/msg.rs
with_msg_id
called by 21
rusp-lib/src/usp_builder/msg.rs
get_err_msg
called by 16
rusp-lib/src/usp_errors.rs
try_decode_record
called by 8
rusp-lib/src/usp_decoder.rs
with_allow_partial
called by 8
rusp-lib/src/usp_builder/add.rs

Shape

Function 221
Method 173
Class 126
Enum 30

Languages

Rust100%

Modules by API surface

rhai-rusp/src/lib.rs165 symbols
rusp-lib/src/usp.rs81 symbols
rusp-lib/src/usp_builder/getsupporteddm.rs48 symbols
rusp-lib/src/usp_builder.rs28 symbols
rusp-lib/src/usp_builder/record.rs24 symbols
rusp-lib/src/usp_builder/set.rs19 symbols
rusp-lib/src/usp_record.rs18 symbols
rusp-lib/src/usp_decoder.rs16 symbols
rusp-lib/src/usp_builder/add.rs16 symbols
rusp-bin/src/bin/rusp.rs16 symbols
rusp-lib/src/usp_builder/notify.rs14 symbols
rusp-lib/src/usp_builder/operate.rs13 symbols

For agents

$ claude mcp add rusp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact