X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=simulators%2Fworkload_generators%2Fsrc%2Fric_generator.c;fp=simulators%2Fworkload_generators%2Fsrc%2Fric_generator.c;h=0000000000000000000000000000000000000000;hb=7e3c61eca8e9224be0190ee126a4eb7fc6b1721c;hp=ede2dad07679a6079666fe44497f9318840da188;hpb=0b085bb3d3cbff7a109fc550ffa220e11db0ba2d;p=it%2Ftest.git diff --git a/simulators/workload_generators/src/ric_generator.c b/simulators/workload_generators/src/ric_generator.c deleted file mode 100644 index ede2dad..0000000 --- a/simulators/workload_generators/src/ric_generator.c +++ /dev/null @@ -1,127 +0,0 @@ -/* -====================================================================== - Copyright (c) 2019 Nokia - 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 andlimitations under the License. -====================================================================== -*/ - -#include -#include -#include -#include -#include -#include -#include - -#define UTA_COMPAT -#include "ric_wg.h" -#include - -struct timespec ts_start_tx; - -int read_pdu(const char* filename, unsigned char* buffer) { - - FILE* f = fopen(filename, "r"); - - if(f == NULL) { - fprintf(stderr, "abort: unable to open PDU file: %s\n", - strerror(errno)); - return -1; - } - - return fread(buffer, sizeof(unsigned char), 2048, f); -} - - -int main(int argc, char** argv) { - void* mr; - char* proto_port = "tcp:4545"; - rmr_mbuf_t* msg; - // data portion (payload) of the message - msg_t* msg_data; - // total count of msgs sent - int count = 0; - // cyced count used to generate type - int cyc_count = 0; - // number of msgs per second - int rate = argc < 2 ? 10 : atoi(argv[1]); - // the number of msg types depends on the number of xAPPs - int type_n = 2; - // rate in mu-seconds/message - double v = (1.0/(double)rate) * SEC2MUS; - // delay between messages - int delay = (int) v; - // PDU buffer to be copied to each msg - unsigned char pdu_li[2048]; - unsigned char pdu_rs[2048]; - char* pdufile1 = "PDU/pdu1.per"; - char* pdufile2 = "PDU/pdu2.per"; - - struct timespec ts; - long long elapse; - double elapse_s; - - int pdu_li_size = read_pdu(pdufile1, pdu_li); - int pdu_rs_size = read_pdu(pdufile2, pdu_rs); - - if((mr = uta_init(proto_port, 4096, UTAFL_NONE)) == NULL) { - fprintf(stderr, "abort: unable to initialise the lib: %s\n", - strerror(errno)); - exit(1); - } - // get an initial send buffer - msg = uta_alloc_msg(mr, sizeof(msg_t)); - if( msg == NULL ) { - fprintf(stderr, "abort: couldn't allocate initial message\n"); - exit(1); - } - //record starting time - clock_gettime(CLOCK_REALTIME, &ts_start_tx); - while(count < MAX_TX) { - //sleep to have an average msg/sec send rate - usleep(delay); - msg->mtype = cyc_count; - msg_data = (msg_t *) msg->payload; - msg_data->time_counter = count; - - snprintf(msg->xaction, UTA_MAX_XID, "x%05d", count); - - if(msg->mtype == 0) { - msg_data->pdu_length = pdu_li_size; - memcpy(msg_data->payload, pdu_li, sizeof(msg_data->payload)); - } - - if(msg->mtype == 1) { - msg_data->pdu_length = pdu_rs_size; - memcpy(msg_data->payload, pdu_rs, sizeof(msg_data->payload)); - } - msg->len = sizeof(msg_t); - // set timestamp at the absolute last point - clock_gettime(CLOCK_REALTIME, &msg_data->ts); - - msg = uta_send_msg(mr, msg); - - count++; - clock_gettime(CLOCK_REALTIME, &ts); - elapse = (ts.tv_sec - ts_start_tx.tv_sec) * 1000000000 - + ts.tv_nsec - ts_start_tx.tv_nsec; - elapse_s = (double) elapse / 1000000000; - - fprintf(stderr, "\rsent %d msgs", count); - cyc_count = cyc_count < type_n - 1 ? cyc_count + 1 : 0; - } - - return 0; -}