|
libe3 0.2.5
C++ library for E3AP RAN vendor integration
|
JSON encoder for E3AP PDUs. More...
#include <json_encoder.hpp>
Public Member Functions | |
| JsonE3Encoder ()=default | |
| ~JsonE3Encoder () override=default | |
| EncodeResult< EncodedMessage > | encode (const Pdu &pdu) override |
| Encode a PDU to bytes. | |
| EncodeResult< Pdu > | decode (const EncodedMessage &encoded) override |
| Decode bytes to a PDU. | |
| EncodeResult< Pdu > | decode (const uint8_t *data, size_t size) override |
| Decode bytes to a PDU. | |
| EncodingFormat | format () const noexcept override |
| Get the encoding format. | |
| Public Member Functions inherited from libe3::E3Encoder | |
| virtual | ~E3Encoder ()=default |
| E3Encoder (const E3Encoder &)=delete | |
| E3Encoder & | operator= (const E3Encoder &)=delete |
| E3Encoder (E3Encoder &&)=default | |
| E3Encoder & | operator= (E3Encoder &&)=default |
| EncodeResult< EncodedMessage > | encode_setup_request (uint32_t message_id, const std::string &e3ap_protocol_version, const std::string &dapp_name, const std::string &dapp_version, const std::string &vendor) |
| Create and encode a Setup Request PDU. | |
| EncodeResult< EncodedMessage > | encode_setup_response (uint32_t message_id, uint32_t request_id, ResponseCode response_code, const std::optional< std::string > &e3ap_protocol_version=std::nullopt, const std::optional< uint32_t > &dapp_identifier=std::nullopt, const std::string &ran_identifier="", const std::optional< std::vector< RanFunctionDef > > &ran_function_list=std::nullopt) |
| Create and encode a Setup Response PDU. | |
| EncodeResult< EncodedMessage > | encode_subscription_request (uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint32_t > &telemetry_identifier_list, const std::vector< uint32_t > &control_identifier_list, const std::optional< uint32_t > &subscription_time=std::nullopt) |
| Create and encode a Subscription Request PDU. | |
| EncodeResult< EncodedMessage > | encode_subscription_delete (uint32_t message_id, uint32_t dapp_identifier, uint32_t subscription_id) |
| Create and encode a Subscription Delete PDU. | |
| EncodeResult< EncodedMessage > | encode_subscription_response (uint32_t message_id, uint32_t request_id, uint32_t dapp_identifier, ResponseCode response_code, const std::optional< uint32_t > &subscription_id=std::nullopt) |
| Create and encode a Subscription Response PDU. | |
| EncodeResult< EncodedMessage > | encode_indication_message (uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint8_t > &protocol_data) |
| Create and encode an Indication Message PDU. | |
| EncodeResult< EncodedMessage > | encode_dapp_control_action (uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, uint32_t control_identifier, const std::vector< uint8_t > &action_data) |
| Create and encode a dApp Control Action PDU. | |
| EncodeResult< EncodedMessage > | encode_dapp_report (uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint8_t > &report_data) |
| Create and encode a dApp Report PDU. | |
| EncodeResult< EncodedMessage > | encode_xapp_control_action (uint32_t message_id, uint32_t dapp_identifier, uint32_t ran_function_identifier, const std::vector< uint8_t > &xapp_control_data) |
| Create and encode an xApp Control Action PDU. | |
| EncodeResult< EncodedMessage > | encode_message_ack (uint32_t message_id, uint32_t request_id, ResponseCode response_code) |
| Create and encode a Message Acknowledgment PDU. | |
Additional Inherited Members | |
| Protected Member Functions inherited from libe3::E3Encoder | |
| E3Encoder ()=default | |
JSON encoder for E3AP PDUs.
Provides JSON encoding/decoding for development and debugging.
JSON wire format uses camelCase keys (e.g. "dAppName", "ranFunctionIdentifier") and camelCase PDU type strings (e.g. "setupRequest", "indicationMessage"). PascalCase PDU types are rejected by the decoder.
Envelope format is flat: payload fields sit alongside "type", "id", and "timestamp" at root level. Messages with a "data" wrapper are rejected.
Definition at line 29 of file json_encoder.hpp.
|
default |
|
overridedefault |
|
overridevirtual |
Decode bytes to a PDU.
| encoded | Encoded message to decode |
Implements libe3::E3Encoder.
Definition at line 598 of file json_encoder.cpp.
|
overridevirtual |
Decode bytes to a PDU.
| data | Raw data buffer |
| size | Size of data |
Implements libe3::E3Encoder.
Definition at line 602 of file json_encoder.cpp.
|
overridevirtual |
Encode a PDU to bytes.
| pdu | PDU to encode |
Implements libe3::E3Encoder.
Definition at line 501 of file json_encoder.cpp.
|
inlineoverridevirtualnoexcept |
Get the encoding format.
Implements libe3::E3Encoder.
Definition at line 37 of file json_encoder.hpp.