libe3 0.2.5
C++ library for E3AP RAN vendor integration
Loading...
Searching...
No Matches
libe3::Asn1E3Encoder Class Reference

ASN.1 APER encoder implementation. More...

#include <asn1_encoder.hpp>

Inheritance diagram for libe3::Asn1E3Encoder:
libe3::E3Encoder

Public Member Functions

 Asn1E3Encoder ()=default
 ~Asn1E3Encoder () 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

Detailed Description

ASN.1 APER encoder implementation.

Uses asn1c-generated code to encode/decode E3AP PDUs using Aligned Packed Encoding Rules (APER).

Definition at line 27 of file asn1_encoder.hpp.

Constructor & Destructor Documentation

◆ Asn1E3Encoder()

libe3::Asn1E3Encoder::Asn1E3Encoder ( )
default

◆ ~Asn1E3Encoder()

libe3::Asn1E3Encoder::~Asn1E3Encoder ( )
overridedefault

Member Function Documentation

◆ decode() [1/2]

EncodeResult< Pdu > libe3::Asn1E3Encoder::decode ( const EncodedMessage & encoded)
overridevirtual

Decode bytes to a PDU.

Parameters
encodedEncoded message to decode
Returns
Decoded PDU on success, error code on failure

Implements libe3::E3Encoder.

Definition at line 103 of file asn1_encoder.cpp.

◆ decode() [2/2]

EncodeResult< Pdu > libe3::Asn1E3Encoder::decode ( const uint8_t * data,
size_t size )
overridevirtual

Decode bytes to a PDU.

Parameters
dataRaw data buffer
sizeSize of data
Returns
Decoded PDU on success, error code on failure

Implements libe3::E3Encoder.

Definition at line 107 of file asn1_encoder.cpp.

◆ encode()

EncodeResult< EncodedMessage > libe3::Asn1E3Encoder::encode ( const Pdu & pdu)
overridevirtual

Encode a PDU to bytes.

Parameters
pduPDU to encode
Returns
Encoded message on success, error code on failure

Implements libe3::E3Encoder.

Definition at line 59 of file asn1_encoder.cpp.

◆ format()

EncodingFormat libe3::Asn1E3Encoder::format ( ) const
inlineoverridevirtualnoexcept

Get the encoding format.

Implements libe3::E3Encoder.

Definition at line 36 of file asn1_encoder.hpp.


The documentation for this class was generated from the following files: