X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fmessage_processor_class.hpp;fp=src%2Fmessage_processor_class.hpp;h=e72cd1c0cededbad776f6c7bf7006a98979abf22;hb=36b57d809f3012375509c603c407b2cf36580af1;hp=0000000000000000000000000000000000000000;hpb=9a1a0c924b38863ca4ebe2465af975f39dd383d5;p=ric-app%2Fkpimon.git diff --git a/src/message_processor_class.hpp b/src/message_processor_class.hpp new file mode 100755 index 0000000..e72cd1c --- /dev/null +++ b/src/message_processor_class.hpp @@ -0,0 +1,65 @@ +/* +================================================================================== + + Copyright (c) 2018-2019 AT&T Intellectual Property. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== +*/ + + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __GNUC__ +#define likely(x) __builtin_expect((x), 1) +#define unlikely(x) __builtin_expect((x), 0) +#else +#define likely(x) (x) +#define unlikely(x) (x) +#endif + +#define BUFFER_LENGTH 2048 + +class message_processor { + +public: + + bool operator() (redisContext *, rmr_mbuf_t *); + unsigned long const get_messages (void); + void register_subscription_handler(SubscriptionHandler *); + +private: + + E2AP_PDU_t * e2ap_recv_pdu; + E2SM_gNB_X2_indicationHeader_t *e2sm_header; // used for decoding + + E2APRicIndication indication_data; + ric_indication indication_processor; + + e2sm_header_helper header_helper; + e2sm_indication e2sm_indication_processor; + + SubscriptionHandler * _ref_sub_handler; + kpi_msg_handler *_ref_kpi_msg_handler; + unsigned long _num_messages; + unsigned long int num_indications, num_err_indications; +};