#include <atomic>
#include <sys/param.h>
#include <sys/file.h>
+#include <sys/types.h>
+#include <ifaddrs.h>
#include <ctime>
#include <netdb.h>
#include <sys/epoll.h>
string prometheusPort {"8088"};
Family<Counter> *prometheusFamily;
Exposer *prometheusExposer = nullptr;
+ Counter *e2tCounters[6][2][ProcedureCode_id_RICsubscriptionDeleteRequired + 1] {};
} sctp_params_t;
// RAN to RIC
#define MSG_COUNTER 0
#define BYTES_COUNTER 1
+#define INVALID_STREAM_ID -1
+
typedef struct ConnectedCU {
int fileDescriptor = 0;
char hostName[NI_MAXHOST] {};
bool isConnected = false;
bool gotSetup = false;
sctp_params_t *sctpParams = nullptr;
- Counter *counters[6][2][ProcedureCode_id_RICsubscriptionDelete + 1] {};
+ Counter *counters[6][2][ProcedureCode_id_RICsubscriptionDeleteRequired + 1] {};
+ bool isSingleStream = false;
+ int singleStreamId = 0;
} ConnectedCU_t ;
void asnInitiatingRequest(E2AP_PDU_t *pdu,
Sctp_Map_t *sctpMap,
ReportingMessages_t &message,
- RmrMessagesBuffer_t &rmrMessageBuffer);
+ RmrMessagesBuffer_t &rmrMessageBuffer,int streamId);
/**
*
* @param pdu
static int register_log_change_notify(const char *fileName);
static void * monitor_loglevel_change_handler(void* arg);
void update_mdc_log_level_severity(char* log_level);
+char* getinterfaceip();
static char* parse_file(char* filename);
#endif
#ifdef UNIT_TEST
-int buildConfiguration(sctp_params_t &sctpParams);
-void startPrometheus(sctp_params_t &sctpParams);
-int buildListeningPort(sctp_params_t &sctpParams);
+ #define FILE_DESCRIPTOR 53424 /*Dummy value for file descriptor only when UT is defined*/
#endif
+int buildListeningPort(sctp_params_t &sctpParams);
+void buildE2TPrometheusCounters(sctp_params_t &sctpParams);
+
+int fetchStreamId(ConnectedCU_t *peerInfo, ReportingMessages_t &message);
#endif //X2_SCTP_THREAD_H