#include #include #include #include #include #include #include #include #include #define RAND(min,max) (rand()%((max)-(min)+1)+(min)) using namespace std; using namespace rapidjson; int main(int argc, char **argv){ // Setup seed if(argc!=20){ cerr << "Usage: " << argv[0] << " " << " " << endl; exit(1); } // Init parameters int seed=atoi(argv[1]); double simtime=stod(argv[2]); unsigned int wakeupevery=atoi(argv[3]); unsigned int wakeupfor=stoi(argv[4]); unsigned int n_nodes=atoi(argv[5]); bool extended=!strcmp("true",argv[6]); bool hint=!strcmp("true",argv[7]); double poff=stod(argv[8]); double pon=stod(argv[9]); double prx=stod(argv[10]); double ptx=stod(argv[11]); unsigned int datasize=atoi(argv[12]); string bitrate(argv[13]); unsigned int hintsize=atoi(argv[14]); double latency=stod(argv[15]); bool shutdown_on_rcv=!strcmp("true",argv[16]); bool unschedule_on_rcv=!strcmp("true",argv[17]); bool farhint=!strcmp("true",argv[18]); double hintdist=stod(argv[19]); // Setup seed srand(seed); // Create document Document d; d.SetObject(); d.AddMember("seed",Value().SetInt(seed),d.GetAllocator()); Value bitrateValue; bitrateValue.SetString(bitrate.c_str(),bitrate.size(),d.GetAllocator()); d.AddMember("bitrate",bitrateValue,d.GetAllocator()); d.AddMember("latency",latency,d.GetAllocator()); d.AddMember("extended",extended,d.GetAllocator()); d.AddMember("hint_size",hintsize,d.GetAllocator()); d.AddMember("shutdown_on_rcv",shutdown_on_rcv,d.GetAllocator()); d.AddMember("unschedule_on_rcv",unschedule_on_rcv,d.GetAllocator()); d.AddMember("farhint",farhint,d.GetAllocator()); d.AddMember("hintdist",hintdist,d.GetAllocator()); // Create nodes Value nodes(kObjectType); for(int i=0;i writer(buffer); d.Accept(writer); cout << buffer.GetString(); return 0; }