#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>
char ka_message[KA_MESSAGE_SIZE] {};
int ka_message_length = 0;
char rmrAddress[256] {}; // "tcp:port number" "tcp:5566" listen to all address on port 5566
- mdclog_severity_t logLevel = MDCLOG_INFO;
char volume[VOLUME_URL_SIZE];
string myIP {};
string fqdn {};
string prometheusPort {"8088"};
Family<Counter> *prometheusFamily;
Exposer *prometheusExposer = nullptr;
- Counter *e2tCounters[6][2][ProcedureCode_id_RICsubscriptionDelete + 1] {};
+ 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);
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