From c365c16531810974d38e28382943c282c31483b4 Mon Sep 17 00:00:00 2001 From: Andre Puschmann Date: Wed, 4 Aug 2021 19:04:01 +0200 Subject: [PATCH] gnb_interfaces: inherit from EUTRA interfaces when they are identical --- .../srsran/interfaces/gnb_interfaces.h | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/lib/include/srsran/interfaces/gnb_interfaces.h b/lib/include/srsran/interfaces/gnb_interfaces.h index 461377521..3042a5c7c 100644 --- a/lib/include/srsran/interfaces/gnb_interfaces.h +++ b/lib/include/srsran/interfaces/gnb_interfaces.h @@ -21,6 +21,9 @@ #include "srsran/interfaces/rlc_interface_types.h" #include "srsran/interfaces/rrc_interface_types.h" #include "srsran/interfaces/sched_interface.h" +// EUTRA interfaces that are used unmodified +#include "srsran/interfaces/enb_mac_interfaces.h" +#include "srsran/interfaces/enb_rrc_interfaces.h" namespace srsenb { @@ -37,11 +40,9 @@ public: virtual uint16_t reserve_rnti() = 0; }; -class mac_interface_rlc_nr -{ -public: - virtual int rlc_buffer_state(uint16_t rnti, uint32_t lc_id, uint32_t tx_queue, uint32_t retx_queue) = 0; -}; +// NR interface is identical to EUTRA interface +class mac_interface_rlc_nr : public mac_interface_rlc +{}; /***************************** * RLC INTERFACES @@ -152,20 +153,18 @@ public: /// User management virtual int add_user(uint16_t rnti) = 0; }; -class rrc_interface_rlc_nr + +// NR interface is almost identical to EUTRA version +class rrc_interface_rlc_nr : public rrc_interface_rlc { public: - virtual void read_pdu_pcch(uint8_t* payload, uint32_t payload_size) = 0; - virtual void max_retx_attempted(uint16_t rnti) = 0; - virtual void protocol_failure(uint16_t rnti) = 0; - virtual void write_pdu(uint16_t rnti, uint32_t lcid, srsran::unique_byte_buffer_t sdu) = 0; - virtual const char* get_rb_name(uint32_t lcid) = 0; + virtual void read_pdu_pcch(uint8_t* payload, uint32_t payload_size) = 0; + virtual const char* get_rb_name(uint32_t lcid) = 0; }; -class rrc_interface_pdcp_nr + +// NR interface identical to EUTRA version +class rrc_interface_pdcp_nr : public rrc_interface_pdcp { -public: - virtual void write_pdu(uint16_t rnti, uint32_t lcid, srsran::unique_byte_buffer_t pdu) = 0; - virtual void notify_pdcp_integrity_error(uint16_t rnti, uint32_t lcid) = 0; }; class phy_interface_rrc_nr