[complement-svn] SF.net SVN: complement: [1426] trunk/complement/explore
Status: Pre-Alpha
Brought to you by:
complement
From: <com...@us...> - 2006-11-29 18:10:12
|
Revision: 1426 http://svn.sourceforge.net/complement/?rev=1426&view=rev Author: complement Date: 2006-11-29 10:10:09 -0800 (Wed, 29 Nov 2006) Log Message: ----------- subscribe already subscribed objects, if ones are non-local (add another communication channel to object) Modified Paths: -------------- trunk/complement/explore/lib/stem/NetTransport.cc trunk/complement/explore/test/libstem/unit/unit_test.cc Modified: trunk/complement/explore/lib/stem/NetTransport.cc =================================================================== --- trunk/complement/explore/lib/stem/NetTransport.cc 2006-11-29 18:07:36 UTC (rev 1425) +++ trunk/complement/explore/lib/stem/NetTransport.cc 2006-11-29 18:10:09 UTC (rev 1426) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/11/29 01:28:01 ptr> +// -*- C++ -*- Time-stamp: <06/11/29 17:30:01 ptr> /* * @@ -225,12 +225,12 @@ if ( ev.code() == EV_STEM_TRANSPORT ) { src.addr = ns_addr; addr_type xsrc = manager()->reflect( src ); - if ( xsrc == badaddr ) { + if ( xsrc == badaddr || (xsrc & extbit) ) { // ignore, if local; but add new transport otherwise manager()->SubscribeRemote( detail::transport( static_cast<NetTransport_base *>(this), detail::transport::socket_tcp, 10 ), src ); } src.addr = default_addr; xsrc = manager()->reflect( src ); - if ( xsrc == badaddr ) { + if ( xsrc == badaddr || (xsrc & extbit) ) { // ignore, if local; but add new transport otherwise manager()->SubscribeRemote( detail::transport( static_cast<NetTransport_base *>(this), detail::transport::socket_tcp, 10 ), src ); } Event ack( EV_STEM_TRANSPORT_ACK ); @@ -339,13 +339,13 @@ xsrc = manager()->reflect( src ); // indeed src is something like NetTransport, so substitute ns: src.addr = ns_addr; - if ( xsrc == badaddr ) { + if ( xsrc == badaddr || (xsrc & extbit)) { // ignore local; but add new transport otherwise manager()->SubscribeRemote( detail::transport( static_cast<NetTransport_base *>(this), detail::transport::socket_tcp, 10 ), src ); } // indeed src is something like NetTransport, so substitute default: src.addr = default_addr; xsrc = manager()->reflect( src ); - if ( xsrc == badaddr ) { + if ( xsrc == badaddr || (xsrc & extbit)) { // ignore local; but add new transport otherwise xsrc = manager()->SubscribeRemote( detail::transport( static_cast<NetTransport_base *>(this), detail::transport::socket_tcp, 10 ), src ); } } else { Modified: trunk/complement/explore/test/libstem/unit/unit_test.cc =================================================================== --- trunk/complement/explore/test/libstem/unit/unit_test.cc 2006-11-29 18:07:36 UTC (rev 1425) +++ trunk/complement/explore/test/libstem/unit/unit_test.cc 2006-11-29 18:10:09 UTC (rev 1426) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/11/29 14:34:41 ptr> +// -*- C++ -*- Time-stamp: <06/11/29 18:18:10 ptr> /* * Copyright (c) 2002, 2003, 2006 @@ -279,7 +279,7 @@ node.wait(); mgr.close(); - // mgr.join(); + mgr.join(); srv.close(); srv.wait(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |