[complement-svn] SF.net SVN: complement: [1647] trunk/complement/explore/test/virtual_time
Status: Pre-Alpha
Brought to you by:
complement
From: <com...@us...> - 2007-07-27 10:24:40
|
Revision: 1647 http://complement.svn.sourceforge.net/complement/?rev=1647&view=rev Author: complement Date: 2007-07-27 03:24:38 -0700 (Fri, 27 Jul 2007) Log Message: ----------- replace oid_type from POD to stem::gaddr_type Modified Paths: -------------- trunk/complement/explore/test/virtual_time/test/VTmess_core.cc trunk/complement/explore/test/virtual_time/test/vt_dispatch.cc trunk/complement/explore/test/virtual_time/test/vt_object.cc trunk/complement/explore/test/virtual_time/test/vt_operations.cc trunk/complement/explore/test/virtual_time/vtime.cc trunk/complement/explore/test/virtual_time/vtime.h Modified: trunk/complement/explore/test/virtual_time/test/VTmess_core.cc =================================================================== --- trunk/complement/explore/test/virtual_time/test/VTmess_core.cc 2007-07-27 10:10:55 UTC (rev 1646) +++ trunk/complement/explore/test/virtual_time/test/VTmess_core.cc 2007-07-27 10:24:38 UTC (rev 1647) @@ -97,17 +97,21 @@ int EXAM_IMPL(vtime_operations::VTMess_core) { + oid_type t0; t0.addr = 0; + oid_type t1; t1.addr = 1; + oid_type t3; t3.addr = 3; + VTM_handler h; stem::Event_base<VTmess> ev( VT_MESS ); ev.dest( h.self_id() ); ev.value().code = 2; - ev.value().src = 3; - ev.value().gvt[0][0] = 1; - ev.value().gvt[0][1] = 2; - ev.value().gvt[1][0] = 3; - ev.value().gvt[1][1] = 4; + ev.value().src = t3; + ev.value().gvt[0][t0] = 1; + ev.value().gvt[0][t1] = 2; + ev.value().gvt[1][t0] = 3; + ev.value().gvt[1][t1] = 4; ev.value().grp = 7; ev.value().mess = "data"; @@ -116,11 +120,11 @@ h.wait(); EXAM_CHECK( h.code == 2 ); - EXAM_CHECK( h.src == 3 ); - EXAM_CHECK( h.gvt[0][0] == 1 ); - EXAM_CHECK( h.gvt[0][1] == 2 ); - EXAM_CHECK( h.gvt[1][0] == 3 ); - EXAM_CHECK( h.gvt[1][1] == 4 ); + EXAM_CHECK( h.src == t3 ); + EXAM_CHECK( h.gvt[0][t0] == 1 ); + EXAM_CHECK( h.gvt[0][t1] == 2 ); + EXAM_CHECK( h.gvt[1][t0] == 3 ); + EXAM_CHECK( h.gvt[1][t1] == 4 ); EXAM_CHECK( h.grp == 7 ); EXAM_CHECK( h.mess == "data" ); @@ -132,11 +136,11 @@ h.wait(); EXAM_CHECK( h.code == 3 ); - EXAM_CHECK( h.src == 3 ); - EXAM_CHECK( h.gvt[0][0] == 1 ); - EXAM_CHECK( h.gvt[0][1] == 2 ); - EXAM_CHECK( h.gvt[1][0] == 3 ); - EXAM_CHECK( h.gvt[1][1] == 4 ); + EXAM_CHECK( h.src == t3 ); + EXAM_CHECK( h.gvt[0][t0] == 1 ); + EXAM_CHECK( h.gvt[0][t1] == 2 ); + EXAM_CHECK( h.gvt[1][t0] == 3 ); + EXAM_CHECK( h.gvt[1][t1] == 4 ); EXAM_CHECK( h.grp == 7 ); EXAM_CHECK( h.mess == "more data" ); Modified: trunk/complement/explore/test/virtual_time/test/vt_dispatch.cc =================================================================== --- trunk/complement/explore/test/virtual_time/test/vt_dispatch.cc 2007-07-27 10:10:55 UTC (rev 1646) +++ trunk/complement/explore/test/virtual_time/test/vt_dispatch.cc 2007-07-27 10:24:38 UTC (rev 1647) @@ -78,9 +78,11 @@ vt::VTDispatcher dsp; Dummy dummy1; Dummy dummy2; + oid_type t1; t1.addr = 1; + oid_type t2; t2.addr = 2; - dsp.Subscribe( dummy1.self_id(), 1, 0 ); - dsp.Subscribe( dummy2.self_id(), 2, 0 ); + dsp.Subscribe( dummy1.self_id(), t1, 0 ); + dsp.Subscribe( dummy2.self_id(), t2, 0 ); stem::Event ev( VT_MESS2 ); ev.src( dummy1.self_id() ); @@ -103,10 +105,13 @@ Dummy dummy1; Dummy dummy2; Dummy dummy3; + oid_type t1; t1.addr = 1; + oid_type t2; t2.addr = 2; + oid_type t3; t3.addr = 3; - dsp.Subscribe( dummy1.self_id(), 1, 0 ); - dsp.Subscribe( dummy2.self_id(), 2, 0 ); - dsp.Subscribe( dummy3.self_id(), 3, 0 ); + dsp.Subscribe( dummy1.self_id(), t1, 0 ); + dsp.Subscribe( dummy2.self_id(), t2, 0 ); + dsp.Subscribe( dummy3.self_id(), t3, 0 ); stem::Event ev( VT_MESS2 ); ev.src( dummy1.self_id() ); Modified: trunk/complement/explore/test/virtual_time/test/vt_object.cc =================================================================== --- trunk/complement/explore/test/virtual_time/test/vt_object.cc 2007-07-27 10:10:55 UTC (rev 1646) +++ trunk/complement/explore/test/virtual_time/test/vt_object.cc 2007-07-27 10:24:38 UTC (rev 1647) @@ -17,9 +17,9 @@ const group_type gr0 = 0; const group_type gr1 = 1; const group_type gr2 = 2; - const oid_type obj0 = 0; - const oid_type obj1 = 1; - const oid_type obj2 = 2; + oid_type obj0; obj0.addr = 0; + oid_type obj1; obj1.addr = 1; + oid_type obj2; obj2.addr = 2; ob.add_group( gr0 ); // ob.add_group_member( gr0, obj0 ); Modified: trunk/complement/explore/test/virtual_time/test/vt_operations.cc =================================================================== --- trunk/complement/explore/test/virtual_time/test/vt_operations.cc 2007-07-27 10:10:55 UTC (rev 1646) +++ trunk/complement/explore/test/virtual_time/test/vt_operations.cc 2007-07-27 10:24:38 UTC (rev 1647) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <07/07/25 23:34:58 ptr> +// -*- C++ -*- Time-stamp: <07/07/27 10:42:55 ptr> #include "vt_operations.h" @@ -12,21 +12,26 @@ int EXAM_IMPL(vtime_operations::vt_compare) { + oid_type t0; + oid_type t1; t1.addr = 1; + oid_type t2; t2.addr = 2; + oid_type t3; t3.addr = 3; + vtime_type vt1; vtime_type vt2; - vt1[1] = 1; - vt1[2] = 1; + vt1[t1] = 1; + vt1[t2] = 1; - vt2[1] = 1; - vt2[2] = 1; + vt2[t1] = 1; + vt2[t2] = 1; EXAM_CHECK( vt1 <= vt2 ); EXAM_CHECK( vt2 <= vt1 ); EXAM_CHECK( vt1 >= vt2 ); EXAM_CHECK( vt2 >= vt1 ); - vt2[3] = 1; + vt2[t3] = 1; EXAM_CHECK( vt1 <= vt2 ); EXAM_CHECK( !(vt2 <= vt1) ); @@ -35,15 +40,15 @@ vt1.clear(); vt2.clear(); - vt1[1] = 1; + vt1[t1] = 1; - vt2[1] = 1; - vt2[3] = 1; + vt2[t1] = 1; + vt2[t3] = 1; EXAM_CHECK( vt1 <= vt2 ); EXAM_CHECK( !(vt2 <= vt1) ); - vt1[2] = 1; + vt1[t2] = 1; EXAM_CHECK( !(vt1 <= vt2) ); EXAM_CHECK( !(vt2 <= vt1) ); @@ -51,38 +56,43 @@ int EXAM_IMPL(vtime_operations::vt_add) { + oid_type t0; + oid_type t1; t1.addr = 1; + oid_type t2; t2.addr = 2; + oid_type t3; t3.addr = 3; + vtime_type vt1; vtime_type vt2; vtime_type vt3; vtime_type vt4; - vt1[1] = 1; - vt1[2] = 1; + vt1[t1] = 1; + vt1[t2] = 1; vt3 = vt1 + vt2; EXAM_CHECK( vt1 <= vt3 ); EXAM_CHECK( vt3 <= vt1 ); - vt2[2] = 1; + vt2[t2] = 1; vt3 = vt1 + vt2; - vt4[1] = 1; - vt4[2] = 2; + vt4[t1] = 1; + vt4[t2] = 2; EXAM_CHECK( vt3 <= vt4 ); EXAM_CHECK( vt4 <= vt3 ); vt4.clear(); - vt2[3] = 1; + vt2[t3] = 1; vt3 = vt1 + vt2; - vt4[1] = 1; - vt4[2] = 2; - vt4[3] = 1; + vt4[t1] = 1; + vt4[t2] = 2; + vt4[t3] = 1; EXAM_CHECK( vt3 <= vt4 ); EXAM_CHECK( vt4 <= vt3 ); @@ -92,29 +102,34 @@ int EXAM_IMPL(vtime_operations::vt_diff) { + oid_type t0; + oid_type t1; t1.addr = 1; + oid_type t2; t2.addr = 2; + oid_type t3; t3.addr = 3; + vtime_type vt1; vtime_type vt2; vtime_type vt3; vtime_type vt4; - vt1[1] = 1; - vt1[2] = 1; + vt1[t1] = 1; + vt1[t2] = 1; vt3 = vt1 - vt2; EXAM_CHECK( vt1 <= vt3 ); EXAM_CHECK( vt3 <= vt1 ); - vt2[1] = 1; + vt2[t1] = 1; vt3 = vt1 - vt2; - vt4[2] = 1; + vt4[t2] = 1; EXAM_CHECK( vt3 <= vt4 ); EXAM_CHECK( vt4 <= vt3 ); - vt2[2] = 1; + vt2[t2] = 1; vt4.clear(); @@ -125,7 +140,7 @@ vt2.clear(); - vt2[3] = 1; + vt2[t3] = 1; try { vt3 = vt1 - vt2; @@ -137,7 +152,7 @@ vt2.clear(); - vt2[2] = 2; + vt2[t2] = 2; try { vt3 = vt1 - vt2; @@ -152,13 +167,18 @@ int EXAM_IMPL(vtime_operations::vt_max) { + oid_type t0; + oid_type t1; t1.addr = 1; + oid_type t2; t2.addr = 2; + oid_type t3; t3.addr = 3; + vtime_type vt1; vtime_type vt2; vtime_type vt3; vtime_type vt4; - vt1[1] = 1; - vt1[2] = 1; + vt1[t1] = 1; + vt1[t2] = 1; vt3 = vt1; vt::sup( vt3, vt2 ); @@ -166,7 +186,7 @@ EXAM_CHECK( vt3 <= vt1 ); EXAM_CHECK( vt1 <= vt3 ); - vt2[1] = 1; + vt2[t1] = 1; vt3 = vt1; vt::sup( vt3, vt2 ); @@ -174,7 +194,7 @@ EXAM_CHECK( vt3 <= vt1 ); EXAM_CHECK( vt1 <= vt3 ); - vt2[2] = 1; + vt2[t2] = 1; vt3 = vt1; vt::sup( vt3, vt2 ); @@ -182,40 +202,40 @@ EXAM_CHECK( vt3 <= vt1 ); EXAM_CHECK( vt1 <= vt3 ); - vt2[3] = 1; + vt2[t3] = 1; vt3 = vt1; vt::sup( vt3, vt2 ); - vt4[1] = 1; - vt4[2] = 1; - vt4[3] = 1; + vt4[t1] = 1; + vt4[t2] = 1; + vt4[t3] = 1; EXAM_CHECK( vt3 <= vt4 ); EXAM_CHECK( vt4 <= vt3 ); vt2.clear(); - vt2[1] = 1; - vt2[2] = 2; + vt2[t1] = 1; + vt2[t2] = 2; vt4.clear(); vt3 = vt1; vt::sup( vt3, vt2 ); - vt4[1] = 1; - vt4[2] = 2; + vt4[t1] = 1; + vt4[t2] = 2; EXAM_CHECK( vt3 <= vt4 ); EXAM_CHECK( vt4 <= vt3 ); - vt2[3] = 4; + vt2[t3] = 4; vt3 = vt1; vt::sup( vt3, vt2 ); - vt4[3] = 4; + vt4[t3] = 4; EXAM_CHECK( vt3 <= vt4 ); EXAM_CHECK( vt4 <= vt3 ); @@ -225,6 +245,10 @@ int EXAM_IMPL(vtime_operations::gvt_add) { + oid_type t0; + oid_type t1; t1.addr = 1; + oid_type t2; t2.addr = 2; + { gvtime_type gvt1; gvtime_type gvt2; @@ -232,22 +256,22 @@ vtime_type vt1; vtime_type vt2; - vt1[1] = 1; - vt1[2] = 1; + vt1[t1] = 1; + vt1[t2] = 1; - vt2[1] = 1; - vt2[2] = 1; + vt2[t1] = 1; + vt2[t2] = 1; gvt1[0] = vt1; gvt2[0] = vt2; gvt1 += gvt2; - EXAM_CHECK( gvt1[0][1] == 2 ); - EXAM_CHECK( gvt1[0][2] == 2 ); - EXAM_CHECK( gvt1[0][0] == 0 ); - EXAM_CHECK( gvt1[1][1] == 0 ); - EXAM_CHECK( gvt1[1][2] == 0 ); + EXAM_CHECK( gvt1[0][t1] == 2 ); + EXAM_CHECK( gvt1[0][t2] == 2 ); + EXAM_CHECK( gvt1[0][t0] == 0 ); + EXAM_CHECK( gvt1[1][t1] == 0 ); + EXAM_CHECK( gvt1[1][t2] == 0 ); } { gvtime_type gvt1; @@ -256,22 +280,22 @@ vtime_type vt1; vtime_type vt2; - vt1[1] = 1; - vt1[2] = 1; + vt1[t1] = 1; + vt1[t2] = 1; - vt2[1] = 1; - vt2[2] = 1; + vt2[t1] = 1; + vt2[t2] = 1; gvt1[0] = vt1; gvt2[1] = vt2; gvt1 += gvt2; - EXAM_CHECK( gvt1[0][1] == 1 ); - EXAM_CHECK( gvt1[0][2] == 1 ); - EXAM_CHECK( gvt1[0][0] == 0 ); - EXAM_CHECK( gvt1[1][1] == 1 ); - EXAM_CHECK( gvt1[1][2] == 1 ); + EXAM_CHECK( gvt1[0][t1] == 1 ); + EXAM_CHECK( gvt1[0][t2] == 1 ); + EXAM_CHECK( gvt1[0][t0] == 0 ); + EXAM_CHECK( gvt1[1][t1] == 1 ); + EXAM_CHECK( gvt1[1][t2] == 1 ); } { gvtime_type gvt1; @@ -279,21 +303,21 @@ vtime_type vt1; vtime_type vt2; - vt1[1] = 1; - vt1[2] = 1; + vt1[t1] = 1; + vt1[t2] = 1; - vt2[1] = 1; - vt2[2] = 1; + vt2[t1] = 1; + vt2[t2] = 1; gvt1[0] = vt1; gvt1 += make_pair( 1, vt2 ); - EXAM_CHECK( gvt1[0][1] == 1 ); - EXAM_CHECK( gvt1[0][2] == 1 ); - EXAM_CHECK( gvt1[0][0] == 0 ); - EXAM_CHECK( gvt1[1][1] == 1 ); - EXAM_CHECK( gvt1[1][2] == 1 ); + EXAM_CHECK( gvt1[0][t1] == 1 ); + EXAM_CHECK( gvt1[0][t2] == 1 ); + EXAM_CHECK( gvt1[0][t0] == 0 ); + EXAM_CHECK( gvt1[1][t1] == 1 ); + EXAM_CHECK( gvt1[1][t2] == 1 ); } return EXAM_RESULT; Modified: trunk/complement/explore/test/virtual_time/vtime.cc =================================================================== --- trunk/complement/explore/test/virtual_time/vtime.cc 2007-07-27 10:10:55 UTC (rev 1646) +++ trunk/complement/explore/test/virtual_time/vtime.cc 2007-07-27 10:24:38 UTC (rev 1647) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <07/07/26 10:28:55 ptr> +// -*- C++ -*- Time-stamp: <07/07/27 09:49:24 ptr> #include "vtime.h" @@ -15,7 +15,7 @@ { __pack( s, static_cast<uint8_t>(vt.size()) ); for ( vtime_type::const_iterator i = vt.begin(); i != vt.end(); ++i ) { - __pack( s, i->first ); + i->first.pack( s ); // __pack( s, i->first ); __pack( s, i->second ); } } @@ -24,7 +24,7 @@ { __net_pack( s, static_cast<uint8_t>(vt.size()) ); for ( vtime_type::const_iterator i = vt.begin(); i != vt.end(); ++i ) { - __net_pack( s, i->first ); + i->first.net_pack( s ); // __net_pack( s, i->first ); __net_pack( s, i->second ); } } @@ -38,7 +38,7 @@ oid_type oid; vtime_unit_type v; - __unpack( s, oid ); + oid.unpack( s ); // __unpack( s, oid ); __unpack( s, v ); vt[oid] = v; @@ -54,7 +54,7 @@ oid_type oid; vtime_unit_type v; - __net_unpack( s, oid ); + oid.net_unpack( s ); // __net_unpack( s, oid ); __net_unpack( s, v ); vt[oid] = v; @@ -106,7 +106,7 @@ void VTmess::pack( std::ostream& s ) const { __pack( s, code ); - __pack( s, src ); + src.pack( s ); // __pack( s, src ); gvt.pack( s ); __pack( s, grp ); __pack( s, mess ); @@ -115,7 +115,7 @@ void VTmess::net_pack( std::ostream& s ) const { __net_pack( s, code ); - __net_pack( s, src ); + src.net_pack( s ); // __net_pack( s, src ); gvt.net_pack( s ); __net_pack( s, grp ); __net_pack( s, mess ); @@ -124,7 +124,7 @@ void VTmess::unpack( std::istream& s ) { __unpack( s, code ); - __unpack( s, src ); + src.unpack( s ); // __unpack( s, src ); gvt.unpack( s ); __unpack( s, grp ); __unpack( s, mess ); @@ -133,7 +133,7 @@ void VTmess::net_unpack( std::istream& s ) { __net_unpack( s, code ); - __net_unpack( s, src ); + src.net_unpack( s ); // __net_unpack( s, src ); gvt.net_unpack( s ); __net_unpack( s, grp ); __net_unpack( s, mess ); Modified: trunk/complement/explore/test/virtual_time/vtime.h =================================================================== --- trunk/complement/explore/test/virtual_time/vtime.h 2007-07-27 10:10:55 UTC (rev 1646) +++ trunk/complement/explore/test/virtual_time/vtime.h 2007-07-27 10:24:38 UTC (rev 1647) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <07/07/26 09:34:53 ptr> +// -*- C++ -*- Time-stamp: <07/07/27 09:53:24 ptr> #ifndef __vtime_h #define __vtime_h @@ -19,8 +19,25 @@ namespace vt { -typedef stem::addr_type oid_type; -typedef unsigned vtime_unit_type; +// typedef stem::addr_type oid_type; +typedef stem::gaddr_type oid_type; + +} // namespace vt + +namespace std { + +template <> +struct hash<vt::oid_type> +{ + size_t operator()(const vt::oid_type& __x) const + { return __x.addr; } +}; + +} // namespace std + +namespace vt { + +typedef uint32_t vtime_unit_type; typedef uint32_t group_type; typedef std::hash_map<oid_type, vtime_unit_type> vtime_type; @@ -81,9 +98,9 @@ vtime& operator +=( const vtime_type::value_type& ); - vtime_type::data_type& operator[]( const vtime_type::key_type k ) + vtime_type::data_type& operator[]( const vtime_type::key_type& k ) { return vt[k]; } - const vtime_type::data_type& operator[]( const vtime_type::key_type k ) const + const vtime_type::data_type& operator[]( const vtime_type::key_type& k ) const { return vt[k]; } @@ -140,7 +157,7 @@ VTmess() : code(0), - src(0), + src(), gvt(), grp(0), mess() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |