Commit f423459
authored
First iteration for the library (#4)
* Refactor transport types and add string conversion functions for E3LinkLayer and E3TransportLayer
* Refactor transport configuration to use link and transport layers in E3Config and related components
* Add CMake configuration and implementation for libe3 library
- Introduced CMake files for compiler settings, dependencies, examples, installation, options, sources, targets, and tests.
- Implemented ASN.1 encoding and decoding in the new asn1_encoder module.
- Updated the E3Config structure to default to ASN.1 encoding format.
- Added ZeroMQ connector support and conditional compilation based on user options.
- Created unit tests for various components including types, subscription manager, and response queue.
- Integrated FetchContent for managing external dependencies like nlohmann/json and tl::expected.
- Established a structured approach for building examples and tests, ensuring modularity and ease of use.
* Add fatal errors option to build script and update error codes in ASN.1 encoder
* add versioning
* Add EMPTY PDU type and update message ID generation logic
* Update version information to be generated from VERSION file
* Update README.md to enhance versioning information and clarify encoding support
* Refactor README.md and libe3.hpp to improve clarity and remove unused includes
* Remove EMPTY PDU type and set default PDU type to SETUP_REQUEST
* remove simulation mode
* Refactor SubscriptionManager to automatically assign unique dApp IDs and update related methods for improved registration handling
* Enhance Setup Request handling by updating structure and encoding methods to include dApp details and protocol version
* Enhance Setup Response handling by adding optional fields for protocol version, dApp identifier, and RAN function list in encoder and ASN.1 definitions
* Enhance Subscription Request handling by adding optional fields for telemetry identifiers, control identifiers, subscription time, and periodicity in encoder and ASN.1 definitions
* feat: Add ReleaseMessage support in ASN.1 and JSON encoders
- Updated ASN.1 encoder to handle ReleaseMessage PDU type.
- Enhanced JSON encoder to encode and decode ReleaseMessage.
- Modified existing tests to validate new ReleaseMessage functionality.
- Refactored error handling in response queue tests for clarity.
- Improved consistency in assertion style across tests.
* refactor: Remove simulation mode example and clean up related tests
* Refactor: Remove [[nodiscard]] from methods in various headers
- Removed [[nodiscard]] attribute from methods in logger.hpp, response_queue.hpp, sm_interface.hpp, subscription_manager.hpp, and types.hpp.
- Updated method signatures in posix_connector.cpp and zmq_connector.cpp to ensure proper type casting.
- Adjusted method implementations in asn1_encoder.cpp and json_encoder.hpp to remove [[nodiscard]].
- Added telemetry_ids() and control_ids() methods to the test E3Agent class for improved testing capabilities.
* refactor: Update various methods for improved type handling and clarity
* refactor: Update PDU type tests for consistency and remove redundant checks
* feat: Enhance simple_agent with command-line options for configuration
* refactor: Update simple_agent usage instructions and set default link/encoding formats
feat: Add receive timeout for graceful shutdown in ZmqE3Connector
* feat: Enhance Subscription Management and ASN.1 Encoding
- Added subscription ID management in SubscriptionManager, allowing for unique identification of subscriptions.
- Implemented `remove_subscription_by_id` method to facilitate subscription removal using subscription IDs.
- Updated `add_subscription` and `remove_subscription` methods to handle subscription ID mappings.
- Introduced ASN.1 encoding and decoding for SubscriptionDelete and DAppControlAction types.
- Modified JSON encoder to support new SubscriptionDelete and DAppControlAction structures.
- Updated tests to cover new functionality, including subscription deletion and DApp control actions.
- Adjusted existing tests to reflect changes in subscription management and encoding logic.
* refactor: Simplify RAN function handling and improve control action registration in Service Models
* feat: Implement shutdown functionality for POSIX and ZMQ connectors, enhancing graceful termination
* feat: Introduce TestServiceModel and enhance logging capabilities; remove unused custom service model example
* refactor: Rename TestServiceModel to SimpleServiceModel and streamline control action handling
* feat: Enhance message ID handling and update related encoding functions across the E3 protocol
* Refactor E3 and JSON encoders to remove message ID fields
- Removed `id` fields from `SetupRequest`, `SetupResponse`, `SubscriptionRequest`, `SubscriptionDelete`, `SubscriptionResponse`, `IndicationMessage`, `DAppControlAction`, `DAppReport`, `XAppControlAction`, and `MessageAck` structures in both E3 and JSON encoders.
- Updated encoding and decoding functions to no longer handle `id` fields, instead using `message_id` in the PDU structure.
- Adjusted unit tests to reflect the removal of `id` fields, ensuring that the tests remain valid and functional.
* feat: Add Simple Service Model with ASN.1 definitions and encoding/decoding wrappers
* FIX DELIVERY OF RAN FUNCTION
feat: Enable debug logging in simple_agent and enhance logging in E3Interface setup handling
* Add release message to allow graceful disconnection
* feat: Add support for building documentation with Doxygen
* fix: Update ran_function_data documentation for clarity on optional payload
* fix: Update LICENSE and README for clarity and documentation improvements
* feat: Add GitHub Actions workflows for mirroring and tagging releases, including .deb package creation
* fix: Correct repository name in GitHub Actions workflows for mirroring and tagging
* feat: Update maintainer information and enhance README with acknowledgments
* fix: Update installation instructions and dependencies in README and build script
* fix: Update copyright notice in LICENSE and enhance build script header with version and authorship details
* fix: Update README and build script to include SCTP development dependencies
* fix: Correct DESTDIR usage in create_deb.sh for cmake install command
* feat: Add C API implementation for libe3 with service model and agent management
* fix: Update package output paths in create_deb.sh and tag-and-release.yml
* feat: Enhance Debian packaging workflow for multiple architectures (amd64 and arm64)
* fix: Update branch name in workflow trigger from main to first-it
* fix: Prevent double execution of build process when installing dependencies
* feat: Add ports to E3Config structure for setup, subscriber, and publisher
* feat: Introduce e3_config_t structure for E3Agent configuration with customizable ports and endpoints
* feat: Implement dApp report handling and related functions in E3Agent and E3Interface
* feat: Add SimpleConfigControl encoding/decoding and integrate xApp control actions in simple_agent
* fix: Update ranFunctionIdentifier constraints to ensure valid range in ASN.1 definitions
* Correct packaging
* fix: Update Cflags in libe3.pc.in to allow <libe3/*.h>
* feat: Enhance e3_service_model_handle to support ran_function_data storage and retrieval
* feat: Refactor error code handling and add unit tests for error code mappings
* feat: Add new error codes and update error code tests for consistency
* feat: Add support for dApp report handling and packaging options in build script
* feat: Implement control action handling and indication emission in service model
* set the setup thread as the first to start
* feat: Update ASN.1 definitions for telemetry and control identifier lists to include size constraints
* Add optional JSON encoding support and mutual exclusion with ASN.1 (#5)
* feat: Add optional JSON encoding support and mutual exclusion with ASN.1
* feat: Add JSON encoding option and update tests for encoding selection
* feat: Add GitHub Actions workflow for unit testing and update encoding format conditionals
* fix: Update workflow trigger branch from 'first-it' to 'main'1 parent e4d974b commit f423459
71 files changed
Lines changed: 6306 additions & 2194 deletions
File tree
- .github/workflows
- cmake
- docs
- examples
- sm_simple
- include
- libe3
- messages
- asn1/V1
- scripts
- src
- connector
- core
- encoder
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
| |||
0 commit comments