From e768f895bdd96b06761bea9a359580eb23997173 Mon Sep 17 00:00:00 2001 From: guest Date: Wed, 10 Oct 2007 15:01:48 +0000 Subject: git-svn-id: svn+ssh://mecka.net/home/svn/dds@7 c30cbac5-9f56-4f76-8ed5-5c34e48a65ae --- dds_io_pub/Writer.cpp | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'dds_io_pub/Writer.cpp') diff --git a/dds_io_pub/Writer.cpp b/dds_io_pub/Writer.cpp index 82d5173..f0b16f0 100644 --- a/dds_io_pub/Writer.cpp +++ b/dds_io_pub/Writer.cpp @@ -76,39 +76,43 @@ Writer::svc () cout<<"Writer thread, DataWriter Cast ok\n"; struct timespec t_sleep; - t_sleep.tv_sec = 1; - t_sleep.tv_nsec = 500000; + t_sleep.tv_sec = 0; + t_sleep.tv_nsec = 10000; IOTest::Port port_obj; ::DDS::InstanceHandle_t handle = port_dw->_cxx_register (port_obj); port_obj.no = 1; - port_obj.value = 0xff; ACE_DEBUG((LM_DEBUG, ACE_TEXT("%T (%P|%t) Writer::svc starting to write.\n"))); + + int actval, lastval = 0; + while(1) { - ::DDS::ReturnCode_t ret = port_dw->write(port_obj, handle); - - if (ret != ::DDS::RETCODE_OK) { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("(%P|%t)ERROR Writer::svc, ") - ACE_TEXT ("write() returned %d.\n"), - ret)); - if (ret == ::DDS::RETCODE_TIMEOUT) { - timeout_writes_ ++; - } - cout<<"?\n"; + + actval = io.get(); + + if ( lastval != actval ){ + + lastval = actval; + port_obj.value = actval; + + ::DDS::ReturnCode_t ret = port_dw->write(port_obj, handle); + + if (ret != ::DDS::RETCODE_OK) + ACE_ERROR ((LM_ERROR, + ACE_TEXT("(%P|%t)ERROR Writer::svc, ") + ACE_TEXT ("write() returned %d.\n"), + ret)); + + if (ret == ::DDS::RETCODE_TIMEOUT) + timeout_writes_ ++; } - if( port_obj.value == 0xff ) - port_obj.value = 0x00; - else - port_obj.value = 0xff; - nanosleep(&t_sleep, NULL); - cout<<".\n"; + //cout<<".\n"; } } catch (CORBA::Exception& e) { -- cgit v1.2.3