Skip to content

Commit a9e54a6

Browse files
yagodacodebot
authored andcommitted
e2ap: splitting e2_subscriber into 2 interfaces
1 parent 3736c96 commit a9e54a6

File tree

5 files changed

+27
-14
lines changed

5 files changed

+27
-14
lines changed

include/srsran/e2/subscription/e2_subscription.h

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,34 @@ struct e2_subscription_t {
3636
eager_async_task<void> indication_task;
3737
};
3838

39-
class e2_subscription_manager
39+
class e2_subscription_proc
4040
{
4141
public:
42-
virtual ~e2_subscription_manager() = default;
43-
42+
virtual ~e2_subscription_proc() = default;
4443
/// \brief Handle the incoming subscription message.
4544
virtual e2_subscribe_reponse_message handle_subscription_setup(const asn1::e2ap::ricsubscription_request_s& msg) = 0;
4645
/// \brief start the subscription request
4746
virtual int start_subscription(int ric_instance_id, e2_event_manager& ev_mng, uint16_t ran_func_id) = 0;
47+
};
4848

49+
class e2_subscriber_mgmt
50+
{
51+
public:
52+
virtual ~e2_subscriber_mgmt() = default;
53+
/// \brief adds e2sm service to the subscriber
54+
/// \param oid The oid of the e2sm service
55+
/// \param e2sm_iface pointer to the e2sm interface
4956
virtual void add_e2sm_service(std::string oid, std::unique_ptr<e2sm_interface> e2sm_iface) = 0;
5057

5158
virtual e2sm_interface* get_e2sm_interface(const std::string oid) = 0;
5259

5360
virtual void add_ran_function_oid(uint16_t ran_func_id, std::string oid) = 0;
5461
};
5562

63+
class e2_subscription_manager : public e2_subscription_proc, public e2_subscriber_mgmt
64+
{
65+
public:
66+
virtual ~e2_subscription_manager() = default;
67+
};
68+
5669
} // namespace srsran

lib/e2/common/e2_impl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ e2_impl::e2_impl(timer_factory timers_,
2525
timers(timers_),
2626
pdu_notifier(e2_pdu_notifier_),
2727
subscription_mngr(subscription_mngr_),
28-
subscribe_proc(e2_pdu_notifier_, subscription_mngr, timers, logger),
28+
subscribe_proc(e2_pdu_notifier_, subscription_mngr_, timers, logger),
2929
events(std::make_unique<e2_event_manager>(timers))
3030
{
3131
}

lib/e2/common/e2_impl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class e2_impl final : public e2_interface
7575
std::map<uint16_t, asn1::e2ap::ra_nfunction_item_s> candidate_ran_functions;
7676
std::map<uint16_t, asn1::e2ap::ra_nfunction_item_s> allowed_ran_functions;
7777
std::map<std::string, std::unique_ptr<e2sm_handler>> e2sm_handlers;
78-
e2_subscription_manager& subscription_mngr;
78+
e2_subscriber_mgmt& subscription_mngr;
7979
e2_subscription_setup_procedure subscribe_proc;
8080
std::unique_ptr<e2_event_manager> events;
8181

lib/e2/procedures/e2_subscription_setup_procedure.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
using namespace srsran;
1313
using namespace asn1::e2ap;
1414

15-
e2_subscription_setup_procedure::e2_subscription_setup_procedure(e2_message_notifier& ric_notif_,
16-
e2_subscription_manager& subscription_mngr_,
17-
timer_factory timers_,
18-
srslog::basic_logger& logger_) :
15+
e2_subscription_setup_procedure::e2_subscription_setup_procedure(e2_message_notifier& ric_notif_,
16+
e2_subscription_proc& subscription_mngr_,
17+
timer_factory timers_,
18+
srslog::basic_logger& logger_) :
1919
logger(logger_), ric_notif(ric_notif_), subscription_mngr(subscription_mngr_), timers(timers_)
2020
{
2121
}

lib/e2/procedures/e2_subscription_setup_procedure.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ namespace srsran {
2323
class e2_subscription_setup_procedure
2424
{
2525
public:
26-
e2_subscription_setup_procedure(e2_message_notifier& ric_notif_,
27-
e2_subscription_manager& subscription_mngr_,
28-
timer_factory timers_,
29-
srslog::basic_logger& logger_);
26+
e2_subscription_setup_procedure(e2_message_notifier& ric_notif_,
27+
e2_subscription_proc& subscription_mngr_,
28+
timer_factory timers_,
29+
srslog::basic_logger& logger_);
3030

3131
void run_subscription_procedure(const asn1::e2ap::ricsubscription_request_s request_,
3232
e2_event_manager& event_manager);
@@ -38,7 +38,7 @@ class e2_subscription_setup_procedure
3838

3939
srslog::basic_logger& logger;
4040
e2_message_notifier& ric_notif;
41-
e2_subscription_manager& subscription_mngr;
41+
e2_subscription_proc& subscription_mngr;
4242
timer_factory timers;
4343
};
4444

0 commit comments

Comments
 (0)