#pdu #byte #deserialize #abstraction #serialization #standard

agentx

AgentX library implementing all PDU types and encodings according to the standard

2 releases

0.1.1 Sep 22, 2023
0.1.0 Sep 22, 2023

#2384 in Encoding

Download history 13/week @ 2024-10-26 18/week @ 2024-11-02 14/week @ 2024-11-09 28/week @ 2024-11-16 9/week @ 2024-11-23 2/week @ 2024-11-30 19/week @ 2024-12-07 42/week @ 2024-12-14 2/week @ 2024-12-21 34/week @ 2025-01-04 34/week @ 2025-01-11 19/week @ 2025-01-18 64/week @ 2025-01-25 42/week @ 2025-02-01 132/week @ 2025-02-08

260 downloads per month

MIT/Apache

95KB
2K SLoC

agentx

This library implements all PDU types and encodings according to RFC2741. It provides Rust idiomatic abstractions wherever possible and allows serialization and deserialization to/from wire compatible bytes.

Documentation

The typical documentation including examples can be found on docs.rs/agentx. This library provides all the types and PDUs the standard defines, but does not provide any higher level abstractions that do connection handling or AgentX session handling. A full featured AgentX sub-agent implementation can be found as part of drbd-reactor here. This should provide enough hints to implement a sub-agent on your own. Because of the multi-threaded nature of drbd-reactor, the implementation might look a bit overwhelming, a simple single-threaded sub-agent should be doable ways easier. Good starting points are agentx_handler() for establishing a session and Metrics::get() and Metrics::get_next() for actual PDU handling.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

No runtime deps