- partial update of serializer

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@756 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
paolo 2006-07-12 22:31:47 +00:00
parent 09268f7fd4
commit 8894e31222
6 changed files with 316 additions and 44 deletions

View file

@ -47,7 +47,7 @@ void fillHistory(History &hist)
cout << "resource name: " << respair.second->get_name() << " key: " << respair.first << " places: " << respair.second->get_places() << endl;
// add a process - name, arrival time, priority
Process& p1 = hist.add_process(Glib::ustring("Process 1"), 5, 2); // name, arrival time, priority
Process& p1 = hist.add_process(Glib::ustring("Process 1"), 0, 2); // name, arrival time, priority
// and print his values
cout << "process name: " << p1.get_name() << " arrival_time: " << p1.get_arrival_time() << " base_priority: " << p1.get_base_priority() << endl;
@ -62,12 +62,17 @@ void fillHistory(History &hist)
cout << "process name: " << p3.get_name() << " arrival_time: " << p3.get_arrival_time() << " base_priority: " << p3.get_base_priority() << endl;
// add a thread - name, parent, cpu time, arrival time, priority
Thread& p1_t1 = hist.add_thread(Glib::ustring("Process 1 - Thread 1"), p1, 3, 2, 6);
Thread& p1_t1 = hist.add_thread(Glib::ustring("Process 1 - Thread 1"), p1, 8, 2, 6);
// and print his values
cout << "thread name: " << p1_t1.get_name() << " total_cpu_time: " << p1_t1.get_total_cpu_time() << " arrival_time: " << p1_t1.get_arrival_time() << " base_priority: " << p1_t1.get_base_priority() << endl;
// add a thread - name, parent, cpu time, arrival time, priority
Thread& p1_t2 = hist.add_thread(Glib::ustring("Process 1 - Thread 2"), p1, 3, 3, 5);
// and print his values
cout << "thread name: " << p1_t2.get_name() << " total_cpu_time: " << p1_t2.get_total_cpu_time() << " arrival_time: " << p1_t2.get_arrival_time() << " base_priority: " << p1_t2.get_base_priority() << endl;
// add a request - Thread, time
Request& req1 = hist.add_request(p1_t1, 7);
Request& req1 = hist.add_request(p1_t1, 3);
// and print his values
cout << "request arrival_time: " << req1.get_instant() << endl;
@ -79,8 +84,14 @@ void fillHistory(History &hist)
}
void showHistory(const History &hist)
{
}
void dumpEnvironment(const Environment& env)
{
cout << "dump environment start " <<endl;
const Environment::Processes& pvect = env.get_processes();
typedef std::vector<Process*>::const_iterator proc_iterator;
@ -89,7 +100,7 @@ void dumpEnvironment(const Environment& env)
while(iter!=end)
{
Process* p = (*iter);
cout << "process name: " << p->get_name() << " arrival_time: " << p->get_arrival_time() << " base_priority: " << p->get_base_priority() << endl;
cout << " process name: " << p->get_name() << " arrival_time: " << p->get_arrival_time() << " base_priority: " << p->get_base_priority() << endl;
iter++;
@ -101,13 +112,43 @@ void dumpEnvironment(const Environment& env)
while(iter1!=end1)
{
Thread* p = (*iter1);
cout << "Thread name: " << p->get_name() << " arrival_time: " << p->get_arrival_time() << " base_priority: " << p->get_base_priority() << endl;
Thread* t = (*iter1);
cout << " thread name: " << t->get_name() << " arrival_time: " << t->get_arrival_time() << " base_priority: " << t->get_base_priority() << endl;
typedef std::vector<Request*> Requests;
typedef std::vector<Request*>::const_iterator req_iterator;
const Requests& rvect = t->get_requests();
req_iterator iter2 = rvect.begin();
req_iterator end2 = rvect.end();
while(iter2!=end2)
{
Request* r = (*iter2);
cout << " request arrival_time: " << r->get_instant() << endl;
typedef std::vector<SubRequest*> SubRequests;
typedef std::vector<SubRequest*>::const_iterator subreq_iterator;
const SubRequests& srvect = r->get_subrequests();
subreq_iterator iter3 = srvect.begin();
subreq_iterator end3 = srvect.end();
while(iter3!=end3)
{
SubRequest* sr = (*iter3);
cout << " sub request resource_key: " << sr->get_resource_key() << " places: " << sr->get_places() << " length: " << sr->get_length() << endl;
iter3++;
}
iter2++;
}
iter1++;
}
}
cout << "dump environment end " << endl << endl;
}
@ -118,14 +159,21 @@ main(int argc, char** argv)
ConcreteHistory hist;
cout << "fill history " << endl;
fillHistory(hist);
cout << "history " << endl;
const Environment& env = hist.get_last_environment();
dumpEnvironment(env);
XMLSerializer xmlser;
xmlser.save_snapshot(Glib::ustring("xml-visit.xml"), hist);
ConcreteHistory hist2;
xmlser.restore_snapshot(Glib::ustring("xml-visit.xml"), hist2);
cout << "history2 - copy of history " << endl;
dumpEnvironment(hist2.get_last_environment());
// typedef std::vector<Process*> Processes;
return 0;