]> rtime.felk.cvut.cz Git - orte.git/blobdiff - orte/liborte/RTPSCSTWriterTimer.c
Reformat the sources with orte/uncrustify script
[orte.git] / orte / liborte / RTPSCSTWriterTimer.c
index c00dcf7a7cffac4b5cb7ec1f63597efedd66993c..09c9ba362125bee55c7d5d63423f66707d3beb0f 100644 (file)
 /*
- *  $Id: RTPSCSTWriterTimer.c,v 0.0.0.1 2003/10/19 
+ *  $Id: RTPSCSTWriterTimer.c,v 0.0.0.1 2003/10/19
  *
  *  DEBUG:  section 52                  CSTWriter timer functions
  *
- *  -------------------------------------------------------------------  
- *                                ORTE                                 
- *                      Open Real-Time Ethernet                       
- *                                                                    
- *                      Copyright (C) 2001-2006                       
- *  Department of Control Engineering FEE CTU Prague, Czech Republic  
- *                      http://dce.felk.cvut.cz                       
- *                      http://www.ocera.org                          
- *                                                                    
- *  Author:             Petr Smolik    petr@smoliku.cz             
- *  Advisor:            Pavel Pisa                                   
- *  Project Responsible: Zdenek Hanzalek                              
+ *  -------------------------------------------------------------------
+ *                                ORTE
+ *                      Open Real-Time Ethernet
+ *
+ *                      Copyright (C) 2001-2006
+ *  Department of Control Engineering FEE CTU Prague, Czech Republic
+ *                      http://dce.felk.cvut.cz
+ *                      http://www.ocera.org
+ *
+ *  Author:              Petr Smolik   petr@smoliku.cz
+ *  Advisor:             Pavel Pisa
+ *  Project Responsible: Zdenek Hanzalek
  *  --------------------------------------------------------------------
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
- *  
+ *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
- *  
- */ 
+ *
+ */
 
 #include "orte_all.h"
 
 /*****************************************************************************/
-int 
-CSTWriterRegistrationTimer(ORTEDomain *d,void *vcstWriter) {
-  CSTWriter *cstWriter=(CSTWriter*)vcstWriter;
+int
+CSTWriterRegistrationTimer(ORTEDomain *d, void *vcstWriter)
+{
+  CSTWriter *cstWriter = (CSTWriter *)vcstWriter;
   CSTRemoteReader *cstRemoteReader;
 
-  debug(52,10) ("CSTWriterRegistrationTimer: start\n");
+  debug(52, 10) ("CSTWriterRegistrationTimer: start\n");
 
-  debug(52,5) ("CSTWriterRegistrationTimer: OID: 0xx%x - retries = %d\n",
-               cstWriter->guid.oid,cstWriter->registrationCounter);
+  debug(52, 5) ("CSTWriterRegistrationTimer: OID: 0xx%x - retries = %d\n",
+               cstWriter->guid.oid, cstWriter->registrationCounter);
   eventDetach(d,
-      cstWriter->objectEntryOID->objectEntryAID,
-      &cstWriter->registrationTimer,
-      0);   //common timer
+             cstWriter->objectEntryOID->objectEntryAID,
+             &cstWriter->registrationTimer,
+             0); //common timer
 
-  if (cstWriter->registrationCounter!=0) {
+  if (cstWriter->registrationCounter != 0) {
     cstWriter->registrationCounter--;
-    gavl_cust_for_each(CSTRemoteReader,cstWriter,cstRemoteReader) {
-      CSTWriterRefreshAllCSChanges(d,cstRemoteReader);
+    gavl_cust_for_each(CSTRemoteReader, cstWriter, cstRemoteReader) {
+      CSTWriterRefreshAllCSChanges(d, cstRemoteReader);
     }
     eventAdd(d,
-        cstWriter->objectEntryOID->objectEntryAID,
-        &cstWriter->registrationTimer,
-        0,   //common timer
-        "CSTWriterRegistrationTimer",
-        CSTWriterRegistrationTimer,
-        &cstWriter->lock,
-        cstWriter,
-        &cstWriter->params.registrationPeriod);               
+            cstWriter->objectEntryOID->objectEntryAID,
+            &cstWriter->registrationTimer,
+            0, //common timer
+            "CSTWriterRegistrationTimer",
+            CSTWriterRegistrationTimer,
+            &cstWriter->lock,
+            cstWriter,
+            &cstWriter->params.registrationPeriod);
   } else {
     if (d->domainEvents.onRegFail) {
-       d->domainEvents.onRegFail(d->domainEvents.onRegFailParam);
+      d->domainEvents.onRegFail(d->domainEvents.onRegFailParam);
     }
   }
 
-  debug(52,10) ("CSTWriterRegistrationTimer: finished\n");
+  debug(52, 10) ("CSTWriterRegistrationTimer: finished\n");
   return 0;
 }
 
 
 /*****************************************************************************/
-int 
-CSTWriterRefreshTimer(ORTEDomain *d,void *vcstWriter) {
-  CSTWriter *cstWriter=(CSTWriter*)vcstWriter;
+int
+CSTWriterRefreshTimer(ORTEDomain *d, void *vcstWriter)
+{
+  CSTWriter *cstWriter = (CSTWriter *)vcstWriter;
   CSTRemoteReader *cstRemoteReader;
-  
-  debug(52,10) ("CSTWriterRefreshTimer: start\n");
-  
-  gavl_cust_for_each(CSTRemoteReader,cstWriter,cstRemoteReader) {
-    CSTWriterRefreshAllCSChanges(d,cstRemoteReader);
+
+  debug(52, 10) ("CSTWriterRefreshTimer: start\n");
+
+  gavl_cust_for_each(CSTRemoteReader, cstWriter, cstRemoteReader) {
+    CSTWriterRefreshAllCSChanges(d, cstRemoteReader);
   }
   eventDetach(d,
-      cstWriter->objectEntryOID->objectEntryAID,
-      &cstWriter->refreshPeriodTimer,
-      0);   //common timer
+             cstWriter->objectEntryOID->objectEntryAID,
+             &cstWriter->refreshPeriodTimer,
+             0); //common timer
   eventAdd(d,
-      cstWriter->objectEntryOID->objectEntryAID,
-      &cstWriter->refreshPeriodTimer,
-      0,   //common timer
-      "CSTWriterRefreshTimer",
-      CSTWriterRefreshTimer,
-      &cstWriter->lock,
-      cstWriter,
-      &cstWriter->params.refreshPeriod);               
-  debug(52,10) ("CSTWriterRefreshTimer: finished\n");
+          cstWriter->objectEntryOID->objectEntryAID,
+          &cstWriter->refreshPeriodTimer,
+          0, //common timer
+          "CSTWriterRefreshTimer",
+          CSTWriterRefreshTimer,
+          &cstWriter->lock,
+          cstWriter,
+          &cstWriter->params.refreshPeriod);
+  debug(52, 10) ("CSTWriterRefreshTimer: finished\n");
   return 0;
 }
 
 /*****************************************************************************/
-int 
-CSTWriterAnnounceTimer(ORTEDomain *d,void *vcstRemoteReader) {
-  CSTRemoteReader *cstRemoteReader=(CSTRemoteReader*)vcstRemoteReader;
+int
+CSTWriterAnnounceTimer(ORTEDomain *d, void *vcstRemoteReader)
+{
+  CSTRemoteReader *cstRemoteReader = (CSTRemoteReader *)vcstRemoteReader;
 
-  debug(52,10) ("CSTWriterAnnounceTimer: start\n");
-  if ((cstRemoteReader->commStateHB==MAYSENDHB) &&
-      ((!cstRemoteReader->cstWriter->params.fullAcknowledge))) {// ||
+  debug(52, 10) ("CSTWriterAnnounceTimer: start\n");
+  if ((cstRemoteReader->commStateHB == MAYSENDHB) &&
+      ((!cstRemoteReader->cstWriter->params.fullAcknowledge))) { // ||
 //       (cstRemoteReader->unacknowledgedCounter))) {
     //create HB
-    int len=RTPSHeartBeatCreate(
-        &d->taskSend.mb.cdrCodec,
-        &cstRemoteReader->cstWriter->firstSN,
-        &cstRemoteReader->cstWriter->lastSN,
-        OID_UNKNOWN,
-        cstRemoteReader->cstWriter->guid.oid,
-        ORTE_FALSE);
-    if (len<0) {
+    int len = RTPSHeartBeatCreate(
+      &d->taskSend.mb.cdrCodec,
+      &cstRemoteReader->cstWriter->firstSN,
+      &cstRemoteReader->cstWriter->lastSN,
+      OID_UNKNOWN,
+      cstRemoteReader->cstWriter->guid.oid,
+      ORTE_FALSE);
+    if (len < 0) {
       //not enought space in sending buffer
-      d->taskSend.mb.needSend=ORTE_TRUE;
+      d->taskSend.mb.needSend = ORTE_TRUE;
       return 1;
     }
-    debug(52,3) ("sent: RTPS_HBF(0x%x) to 0x%x-0x%x\n",
-                  cstRemoteReader->cstWriter->guid.oid,
-                  cstRemoteReader->guid.hid,
-                  cstRemoteReader->guid.aid);
+    debug(52, 3) ("sent: RTPS_HBF(0x%x) to 0x%x-0x%x\n",
+                 cstRemoteReader->cstWriter->guid.oid,
+                 cstRemoteReader->guid.hid,
+                 cstRemoteReader->guid.aid);
   }
   eventDetach(d,
-      cstRemoteReader->sobject->objectEntryAID,
-      &cstRemoteReader->repeatAnnounceTimer,
-      1);
+             cstRemoteReader->sobject->objectEntryAID,
+             &cstRemoteReader->repeatAnnounceTimer,
+             1);
   eventAdd(d,
-      cstRemoteReader->sobject->objectEntryAID,
-      &cstRemoteReader->repeatAnnounceTimer,
-      1,   //metatraffic timer
-      "CSTWriterAnnounceTimer",
-      CSTWriterAnnounceTimer,
-      &cstRemoteReader->cstWriter->lock,
-      cstRemoteReader,
-      &cstRemoteReader->cstWriter->params.repeatAnnounceTime);
-  debug(52,10) ("CSTWriterAnnounceTimer: finished\n");
+          cstRemoteReader->sobject->objectEntryAID,
+          &cstRemoteReader->repeatAnnounceTimer,
+          1, //metatraffic timer
+          "CSTWriterAnnounceTimer",
+          CSTWriterAnnounceTimer,
+          &cstRemoteReader->cstWriter->lock,
+          cstRemoteReader,
+          &cstRemoteReader->cstWriter->params.repeatAnnounceTime);
+  debug(52, 10) ("CSTWriterAnnounceTimer: finished\n");
   return 0;
 }
 
 /*****************************************************************************/
-int 
-CSTWriterAnnounceIssueTimer(ORTEDomain *d,void *vcstRemoteReader) {
-  CSTRemoteReader *cstRemoteReader=(CSTRemoteReader*)vcstRemoteReader;
+int
+CSTWriterAnnounceIssueTimer(ORTEDomain *d, void *vcstRemoteReader)
+{
+  CSTRemoteReader *cstRemoteReader = (CSTRemoteReader *)vcstRemoteReader;
   NtpTime         nextHB;
   ORTEPublProp    *pp;
   int             len;
 
-  debug(52,10) ("CSTWriterAnnounceIssueTimer: start\n");
-  pp=(ORTEPublProp*)cstRemoteReader->cstWriter->objectEntryOID->attributes;
+  debug(52, 10) ("CSTWriterAnnounceIssueTimer: start\n");
+  pp = (ORTEPublProp *)cstRemoteReader->cstWriter->objectEntryOID->attributes;
   //create HB
-  d->taskSend.mb.cdrCodecDirect=NULL;
-  len=RTPSHeartBeatCreate(
-      &d->taskSend.mb.cdrCodec,
-      &cstRemoteReader->cstWriter->firstSN,
-      &cstRemoteReader->cstWriter->lastSN,
-      OID_UNKNOWN,
-      cstRemoteReader->cstWriter->guid.oid,
-      ORTE_FALSE);
-  if (len<0) {
+  d->taskSend.mb.cdrCodecDirect = NULL;
+  len = RTPSHeartBeatCreate(
+    &d->taskSend.mb.cdrCodec,
+    &cstRemoteReader->cstWriter->firstSN,
+    &cstRemoteReader->cstWriter->lastSN,
+    OID_UNKNOWN,
+    cstRemoteReader->cstWriter->guid.oid,
+    ORTE_FALSE);
+  if (len < 0) {
     //not enought space in sending buffer
-    d->taskSend.mb.needSend=ORTE_TRUE;
+    d->taskSend.mb.needSend = ORTE_TRUE;
     return 1;
   }
-  debug(52,3) ("sent: RTPS_HBF(0x%x) to 0x%x-0x%x\n",
-                cstRemoteReader->cstWriter->guid.oid,
-                cstRemoteReader->guid.hid,
-                cstRemoteReader->guid.aid);
+  debug(52, 3) ("sent: RTPS_HBF(0x%x) to 0x%x-0x%x\n",
+               cstRemoteReader->cstWriter->guid.oid,
+               cstRemoteReader->guid.hid,
+               cstRemoteReader->guid.aid);
   //next HB
-  if (cstRemoteReader->cstWriter->csChangesCounter>=pp->criticalQueueLevel) {
-    nextHB=pp->HBCQLRate;
+  if (cstRemoteReader->cstWriter->csChangesCounter >= pp->criticalQueueLevel) {
+    nextHB = pp->HBCQLRate;
   } else {
-    nextHB=pp->HBNornalRate;
+    nextHB = pp->HBNornalRate;
   }
   cstRemoteReader->HBRetriesCounter++;
   eventDetach(d,
-      cstRemoteReader->sobject->objectEntryAID,
-      &cstRemoteReader->repeatAnnounceTimer,
-      2);
-  if (cstRemoteReader->HBRetriesCounter<pp->HBMaxRetries) {              
+             cstRemoteReader->sobject->objectEntryAID,
+             &cstRemoteReader->repeatAnnounceTimer,
+             2);
+  if (cstRemoteReader->HBRetriesCounter < pp->HBMaxRetries) {
     eventAdd(d,
-        cstRemoteReader->sobject->objectEntryAID,
-        &cstRemoteReader->repeatAnnounceTimer,
-        2,   //metatraffic timer
-        "CSTWriterAnnounceIssueTimer",
-        CSTWriterAnnounceIssueTimer,
-        &cstRemoteReader->cstWriter->lock,
-        cstRemoteReader,
-        &nextHB);
+            cstRemoteReader->sobject->objectEntryAID,
+            &cstRemoteReader->repeatAnnounceTimer,
+            2, //metatraffic timer
+            "CSTWriterAnnounceIssueTimer",
+            CSTWriterAnnounceIssueTimer,
+            &cstRemoteReader->cstWriter->lock,
+            cstRemoteReader,
+            &nextHB);
   } else {
     //destroy all csChangesForReader
     CSChangeForReader *csChangeForReader;
-    while ((csChangeForReader=CSChangeForReader_first(cstRemoteReader))) {
+    while ((csChangeForReader = CSChangeForReader_first(cstRemoteReader)))
       CSTWriterDestroyCSChangeForReader(
-          csChangeForReader,ORTE_TRUE);
-    }
-    debug(52,3) ("CSTWriterAnnounceIssueTimer: HB RR(0x%x-0x%x) ritch MaxRetries\n",
-                  cstRemoteReader->guid.hid,cstRemoteReader->guid.aid);
+       csChangeForReader, ORTE_TRUE);
+    debug(52, 3) ("CSTWriterAnnounceIssueTimer: HB RR(0x%x-0x%x) ritch MaxRetries\n",
+                 cstRemoteReader->guid.hid, cstRemoteReader->guid.aid);
   }
-  debug(52,10) ("CSTWriterAnnounceIssueTimer: finished\n");
+  debug(52, 10) ("CSTWriterAnnounceIssueTimer: finished\n");
   return 0;
 }
 
 /**********************************************************************************/
 int
-CSChangeForReaderUnderwayTimer(ORTEDomain *d,void *vcsChangeForReader) {
-  CSChangeForReader *csChangeForReader=(CSChangeForReader*)vcsChangeForReader;
-  csChangeForReader->commStateChFReader=UNACKNOWLEDGED;
+CSChangeForReaderUnderwayTimer(ORTEDomain *d, void *vcsChangeForReader)
+{
+  CSChangeForReader *csChangeForReader = (CSChangeForReader *)vcsChangeForReader;
+
+  csChangeForReader->commStateChFReader = UNACKNOWLEDGED;
   return 0;
 }
 
 /**********************************************************************************/
 int
-CSTWriterSendBestEffortTimer(ORTEDomain *d,void *vcstRemoteReader) {
-  CSTRemoteReader   *cstRemoteReader=(CSTRemoteReader*)vcstRemoteReader;
-  ORTESubsProp      *sp=(ORTESubsProp*)cstRemoteReader->pobject->attributes;
-  CSChangeForReader *csChangeForReader=NULL;
-        
-  debug(52,10) ("CSTWriterSendBestEffortTimer: start\n");
-  d->taskSend.mb.cdrCodecDirect=NULL;
-  if (cstRemoteReader->commStateSend!=NOTHNIGTOSEND) {
-    gavl_cust_for_each(CSChangeForReader,cstRemoteReader,csChangeForReader) {
-      if (csChangeForReader->commStateChFReader==TOSEND) {
-        CSChange *csChange=csChangeForReader->csChange;
-
-        csChangeForReader->commStateChFReader=UNDERWAY;
-        cstRemoteReader->commStateSend=MUSTSENDDATA;
-        cstRemoteReader->lastSentIssueTime=getActualNtpTime();
-        d->taskSend.mb.cdrCodecDirect=&csChange->cdrCodec;
-
-        if (cstRemoteReader->sobject) {
-          debug(52,3) ("sent: RTPS_ISSUE_BEST(0x%x) to 0x%x-0x%x-0x%x\n",
-                        cstRemoteReader->cstWriter->guid.oid,
-                        GUID_PRINTF(cstRemoteReader->sobject->guid));
-        }
-
-        ORTESendData(d,
-            cstRemoteReader->sobject->objectEntryAID,
-            ORTE_FALSE);
+CSTWriterSendBestEffortTimer(ORTEDomain *d, void *vcstRemoteReader)
+{
+  CSTRemoteReader   *cstRemoteReader = (CSTRemoteReader *)vcstRemoteReader;
+  ORTESubsProp      *sp = (ORTESubsProp *)cstRemoteReader->pobject->attributes;
+  CSChangeForReader *csChangeForReader = NULL;
+
+  debug(52, 10) ("CSTWriterSendBestEffortTimer: start\n");
+  d->taskSend.mb.cdrCodecDirect = NULL;
+  if (cstRemoteReader->commStateSend != NOTHNIGTOSEND) {
+    gavl_cust_for_each(CSChangeForReader, cstRemoteReader, csChangeForReader) {
+      if (csChangeForReader->commStateChFReader == TOSEND) {
+       CSChange *csChange = csChangeForReader->csChange;
+
+       csChangeForReader->commStateChFReader = UNDERWAY;
+       cstRemoteReader->commStateSend = MUSTSENDDATA;
+       cstRemoteReader->lastSentIssueTime = getActualNtpTime();
+       d->taskSend.mb.cdrCodecDirect = &csChange->cdrCodec;
+
+       if (cstRemoteReader->sobject) {
+         debug(52, 3) ("sent: RTPS_ISSUE_BEST(0x%x) to 0x%x-0x%x-0x%x\n",
+                       cstRemoteReader->cstWriter->guid.oid,
+                       GUID_PRINTF(cstRemoteReader->sobject->guid));
+       }
+
+       ORTESendData(d,
+                    cstRemoteReader->sobject->objectEntryAID,
+                    ORTE_FALSE);
 
        //it's not nessecary to NewState, there is setuped only new state & after is deleted
-        CSTWriterCSChangeForReaderNewState(csChangeForReader);
+       CSTWriterCSChangeForReaderNewState(csChangeForReader);
 
        /* mark multicast messages like processed */
-        CSTWriterMulticast(csChangeForReader);
-
-        CSTWriterDestroyCSChangeForReader(
-            csChangeForReader,ORTE_TRUE);
-
-        eventDetach(d,
-            cstRemoteReader->sobject->objectEntryAID,
-            &cstRemoteReader->delayResponceTimer,
-            2);   
-
-        //when is no csChange -> break processing 
-        if (cstRemoteReader->cstWriter->csChangesCounter==0) 
-          break;
-
-        eventAdd(d,
-            cstRemoteReader->sobject->objectEntryAID,
-            &cstRemoteReader->delayResponceTimer,
-            2,   
-            "CSTWriterSendBestEffortTimer",
-            CSTWriterSendBestEffortTimer,
-            &cstRemoteReader->cstWriter->lock,
-            cstRemoteReader,
-            &sp->minimumSeparation);
-        return 0;
+       CSTWriterMulticast(csChangeForReader);
+
+       CSTWriterDestroyCSChangeForReader(
+         csChangeForReader, ORTE_TRUE);
+
+       eventDetach(d,
+                   cstRemoteReader->sobject->objectEntryAID,
+                   &cstRemoteReader->delayResponceTimer,
+                   2);
+
+       //when is no csChange -> break processing
+       if (cstRemoteReader->cstWriter->csChangesCounter == 0)
+         break;
+
+       eventAdd(d,
+                cstRemoteReader->sobject->objectEntryAID,
+                &cstRemoteReader->delayResponceTimer,
+                2,
+                "CSTWriterSendBestEffortTimer",
+                CSTWriterSendBestEffortTimer,
+                &cstRemoteReader->cstWriter->lock,
+                cstRemoteReader,
+                &sp->minimumSeparation);
+       return 0;
 
       }
     }
   }
-  debug(52,10) ("CSTWriterSendBestEffortTimer: finished\n");
+  debug(52, 10) ("CSTWriterSendBestEffortTimer: finished\n");
   return 0;
 }
 
 /**********************************************************************************/
 int
-CSTWriterSendStrictTimer(ORTEDomain *d,void *vcstRemoteReader) {
-  CSTRemoteReader   *cstRemoteReader=(CSTRemoteReader*)vcstRemoteReader;
-  CSChangeForReader *csChangeForReader=NULL;
-  int               len,data_offset,wptr_max;
+CSTWriterSendStrictTimer(ORTEDomain *d, void *vcstRemoteReader)
+{
+  CSTRemoteReader   *cstRemoteReader = (CSTRemoteReader *)vcstRemoteReader;
+  CSChangeForReader *csChangeForReader = NULL;
+  int               len, data_offset, wptr_max;
   CSChange          *csChange;
-  Boolean           firstTrace=ORTE_TRUE;
-  
-  debug(52,10) ("CSTWriterSendStrictTimer: start\n");
-  if (cstRemoteReader->commStateSend!=NOTHNIGTOSEND) {
-    gavl_cust_for_each(CSChangeForReader,cstRemoteReader,csChangeForReader) {
-      csChange=csChangeForReader->csChange;
-      if (csChangeForReader->commStateChFReader==TOSEND) {
-        cstRemoteReader->commStateSend=MUSTSENDDATA;
-
-        wptr_max=d->taskSend.mb.cdrCodec.wptr_max;
-        d->taskSend.mb.cdrCodec.wptr_max=csChange->cdrCodec.wptr_max;
-       /* infoReply */
-        if ((firstTrace) && (cstRemoteReader->cstWriter->params.fullAcknowledge) &&
-            !d->taskSend.mb.containsInfoReply) {
-          AppParams *ap=cstRemoteReader->cstWriter->objectEntryOID->attributes;
-          firstTrace=ORTE_FALSE;
-          len=RTPSInfoREPLYCreate(&d->taskSend.mb.cdrCodec,
-              IPADDRESS_INVALID,
-              ap->userdataUnicastPort);
-          if (len<0) {
-            d->taskSend.mb.needSend=ORTE_TRUE;
-           d->taskSend.mb.cdrCodec.wptr_max=wptr_max;
-            return 1;
-          }
-          d->taskSend.mb.containsInfoReply=ORTE_TRUE;  
-          debug(52,3) ("sent: RTPS_InfoREPLY(0x%x) to 0x%x-0x%x\n",
-                       cstRemoteReader->cstWriter->guid.oid,
-                       cstRemoteReader->guid.hid,
-                       cstRemoteReader->guid.aid);
-        }
-
-       data_offset=RTPS_HEADER_LENGTH+12;
-        if (CDR_buffer_puts(&d->taskSend.mb.cdrCodec,
+  Boolean           firstTrace = ORTE_TRUE;
+
+  debug(52, 10) ("CSTWriterSendStrictTimer: start\n");
+  if (cstRemoteReader->commStateSend != NOTHNIGTOSEND) {
+    gavl_cust_for_each(CSChangeForReader, cstRemoteReader, csChangeForReader) {
+      csChange = csChangeForReader->csChange;
+      if (csChangeForReader->commStateChFReader == TOSEND) {
+       cstRemoteReader->commStateSend = MUSTSENDDATA;
+
+       wptr_max = d->taskSend.mb.cdrCodec.wptr_max;
+       d->taskSend.mb.cdrCodec.wptr_max = csChange->cdrCodec.wptr_max;
+       /* infoReply */
+       if ((firstTrace) && (cstRemoteReader->cstWriter->params.fullAcknowledge) &&
+           !d->taskSend.mb.containsInfoReply) {
+         AppParams *ap = cstRemoteReader->cstWriter->objectEntryOID->attributes;
+         firstTrace = ORTE_FALSE;
+         len = RTPSInfoREPLYCreate(&d->taskSend.mb.cdrCodec,
+                                   IPADDRESS_INVALID,
+                                   ap->userdataUnicastPort);
+         if (len < 0) {
+           d->taskSend.mb.needSend = ORTE_TRUE;
+           d->taskSend.mb.cdrCodec.wptr_max = wptr_max;
+           return 1;
+         }
+         d->taskSend.mb.containsInfoReply = ORTE_TRUE;
+         debug(52, 3) ("sent: RTPS_InfoREPLY(0x%x) to 0x%x-0x%x\n",
+                       cstRemoteReader->cstWriter->guid.oid,
+                       cstRemoteReader->guid.hid,
+                       cstRemoteReader->guid.aid);
+       }
+
+       data_offset = RTPS_HEADER_LENGTH+12;
+       if (CDR_buffer_puts(&d->taskSend.mb.cdrCodec,
                            csChange->cdrCodec.buffer+data_offset, //src
-                           csChange->cdrCodec.wptr-data_offset)==CORBA_FALSE) {
-            d->taskSend.mb.needSend=ORTE_TRUE;
-           d->taskSend.mb.cdrCodec.wptr_max=wptr_max;
-            return 1;
-        }
-    
-        d->taskSend.mb.cdrCodec.wptr_max=wptr_max;
+                           csChange->cdrCodec.wptr-data_offset) == CORBA_FALSE) {
+         d->taskSend.mb.needSend = ORTE_TRUE;
+         d->taskSend.mb.cdrCodec.wptr_max = wptr_max;
+         return 1;
+       }
+
+       d->taskSend.mb.cdrCodec.wptr_max = wptr_max;
 
        /* setup new state for csChangeForReader */
-        CSTWriterCSChangeForReaderNewState(csChangeForReader);
+       CSTWriterCSChangeForReaderNewState(csChangeForReader);
 
        /* mark multicast messages like processed */
-        CSTWriterMulticast(csChangeForReader);
+       CSTWriterMulticast(csChangeForReader);
 
-        debug(52,3) ("sent: RTPS_ISSUE_STRICT(0x%x) to 0x%x-0x%x\n",
-                    cstRemoteReader->cstWriter->guid.oid,
-                    cstRemoteReader->guid.hid,
-                    cstRemoteReader->guid.aid);
+       debug(52, 3) ("sent: RTPS_ISSUE_STRICT(0x%x) to 0x%x-0x%x\n",
+                     cstRemoteReader->cstWriter->guid.oid,
+                     cstRemoteReader->guid.hid,
+                     cstRemoteReader->guid.aid);
       }
     }
   }
-  debug(52,10) ("CSTWriterSendStrictTimer: finished\n");
-  //add HeardBeat  
-  return CSTWriterAnnounceIssueTimer(d,cstRemoteReader);
+  debug(52, 10) ("CSTWriterSendStrictTimer: finished\n");
+  //add HeardBeat
+  return CSTWriterAnnounceIssueTimer(d, cstRemoteReader);
 }
 
 /**********************************************************************************/
 int
-CSTWriterSendTimer(ORTEDomain *d,void *vcstRemoteReader) {
-  CSTRemoteReader   *cstRemoteReader=(CSTRemoteReader*)vcstRemoteReader;
-  CSChangeForReader *csChangeForReader=NULL;
-  Boolean           firstTrace=ORTE_TRUE,f_bit=ORTE_TRUE;
-  
-  debug(52,10) ("CSTWriterSendTimer: start\n");
+CSTWriterSendTimer(ORTEDomain *d, void *vcstRemoteReader)
+{
+  CSTRemoteReader   *cstRemoteReader = (CSTRemoteReader *)vcstRemoteReader;
+  CSChangeForReader *csChangeForReader = NULL;
+  Boolean           firstTrace = ORTE_TRUE, f_bit = ORTE_TRUE;
+
+  debug(52, 10) ("CSTWriterSendTimer: start\n");
 
   /* setup f_bit of object */
   if (cstRemoteReader->cstWriter->params.fullAcknowledge)
-    f_bit=ORTE_FALSE;
-
-  if (cstRemoteReader->commStateSend!=NOTHNIGTOSEND) {
-
-    gavl_cust_for_each(CSChangeForReader,cstRemoteReader,csChangeForReader) {
-
-      if (csChangeForReader->commStateChFReader==TOSEND) {
-        cstRemoteReader->commStateSend=MUSTSENDDATA;
-
-        /* infoReply */
-        if ((firstTrace) && (cstRemoteReader->cstWriter->params.fullAcknowledge) &&
-            !d->taskSend.mb.containsInfoReply) {
-          AppParams *ap=cstRemoteReader->cstWriter->objectEntryOID->attributes;
-          firstTrace=ORTE_FALSE;
-          if (RTPSInfoREPLYCreate(&d->taskSend.mb.cdrCodec,
-                                 IPADDRESS_INVALID,
-                                 ap->metatrafficUnicastPort) < 0) {
-            d->taskSend.mb.needSend=ORTE_TRUE;
-            return 1;
-          }
-          d->taskSend.mb.containsInfoReply=ORTE_TRUE;  
-          debug(52,3) ("sent: RTPS_InfoREPLY from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
-                        GUID_PRINTF(cstRemoteReader->cstWriter->guid),
-                        GUID_PRINTF(cstRemoteReader->guid));
-        }
-
-        /* VAR */
-        if (SeqNumberCmp(csChangeForReader->csChange->gapSN,noneSN)==0) {
-          debug(52,3) ("sent: RTPS_VAR from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
-                        GUID_PRINTF(cstRemoteReader->cstWriter->guid),
-                        GUID_PRINTF(cstRemoteReader->guid));
-
-          if (RTPSVarCreate(&d->taskSend.mb.cdrCodec,
+    f_bit = ORTE_FALSE;
+
+  if (cstRemoteReader->commStateSend != NOTHNIGTOSEND) {
+
+    gavl_cust_for_each(CSChangeForReader, cstRemoteReader, csChangeForReader) {
+
+      if (csChangeForReader->commStateChFReader == TOSEND) {
+       cstRemoteReader->commStateSend = MUSTSENDDATA;
+
+       /* infoReply */
+       if ((firstTrace) && (cstRemoteReader->cstWriter->params.fullAcknowledge) &&
+           !d->taskSend.mb.containsInfoReply) {
+         AppParams *ap = cstRemoteReader->cstWriter->objectEntryOID->attributes;
+         firstTrace = ORTE_FALSE;
+         if (RTPSInfoREPLYCreate(&d->taskSend.mb.cdrCodec,
+                                 IPADDRESS_INVALID,
+                                 ap->metatrafficUnicastPort) < 0) {
+           d->taskSend.mb.needSend = ORTE_TRUE;
+           return 1;
+         }
+         d->taskSend.mb.containsInfoReply = ORTE_TRUE;
+         debug(52, 3) ("sent: RTPS_InfoREPLY from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
+                       GUID_PRINTF(cstRemoteReader->cstWriter->guid),
+                       GUID_PRINTF(cstRemoteReader->guid));
+       }
+
+       /* VAR */
+       if (SeqNumberCmp(csChangeForReader->csChange->gapSN, noneSN) == 0) {
+         debug(52, 3) ("sent: RTPS_VAR from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
+                       GUID_PRINTF(cstRemoteReader->cstWriter->guid),
+                       GUID_PRINTF(cstRemoteReader->guid));
+
+         if (RTPSVarCreate(&d->taskSend.mb.cdrCodec,
                            OID_UNKNOWN,
-                            cstRemoteReader->cstWriter->guid.oid,
+                           cstRemoteReader->cstWriter->guid.oid,
                            csChangeForReader->csChange) < 0) {
-            d->taskSend.mb.needSend=ORTE_TRUE;
-            return 1;
-          }
+           d->taskSend.mb.needSend = ORTE_TRUE;
+           return 1;
+         }
 
-        } else {
-        /* GAP */
-          debug(52,3) ("sent: RTPS_GAP from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
-                        GUID_PRINTF(cstRemoteReader->cstWriter->guid),
-                        GUID_PRINTF(cstRemoteReader->guid));
+       } else {
+         /* GAP */
+         debug(52, 3) ("sent: RTPS_GAP from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
+                       GUID_PRINTF(cstRemoteReader->cstWriter->guid),
+                       GUID_PRINTF(cstRemoteReader->guid));
 
-          if (RTPSGapCreate(&d->taskSend.mb.cdrCodec,
+         if (RTPSGapCreate(&d->taskSend.mb.cdrCodec,
                            OID_UNKNOWN,
                            cstRemoteReader->cstWriter->guid.oid,
                            csChangeForReader->csChange) < 0) {
-            d->taskSend.mb.needSend=ORTE_TRUE;
-            return 1;
-          }
-        }
+           d->taskSend.mb.needSend = ORTE_TRUE;
+           return 1;
+         }
+       }
 
        /* setup new state for csChangeForReader */
        CSTWriterCSChangeForReaderNewState(csChangeForReader);
 
        /* mark multicast messages like processed */
-        CSTWriterMulticast(csChangeForReader);
+       CSTWriterMulticast(csChangeForReader);
 
       }
     } /* gavl_cust_for_each */
 
-    cstRemoteReader->commStateHB=MUSTSENDHB;
+    cstRemoteReader->commStateHB = MUSTSENDHB;
 
   }
 
-  if (cstRemoteReader->commStateHB==MUSTSENDHB) {
+  if (cstRemoteReader->commStateHB == MUSTSENDHB) {
     //add HeartBeat
     if (RTPSHeartBeatCreate(
-        &d->taskSend.mb.cdrCodec,
-        &cstRemoteReader->cstWriter->firstSN,
-        &cstRemoteReader->cstWriter->lastSN,
-        OID_UNKNOWN,
-        cstRemoteReader->cstWriter->guid.oid,
-        f_bit)<0) {
-      d->taskSend.mb.needSend=ORTE_TRUE;
+         &d->taskSend.mb.cdrCodec,
+         &cstRemoteReader->cstWriter->firstSN,
+         &cstRemoteReader->cstWriter->lastSN,
+         OID_UNKNOWN,
+         cstRemoteReader->cstWriter->guid.oid,
+         f_bit) < 0) {
+      d->taskSend.mb.needSend = ORTE_TRUE;
       return 1;
     } else {
       //schedule new time for Announce timer
       eventDetach(d,
-           cstRemoteReader->sobject->objectEntryAID,
-           &cstRemoteReader->repeatAnnounceTimer,
-           1);
+                 cstRemoteReader->sobject->objectEntryAID,
+                 &cstRemoteReader->repeatAnnounceTimer,
+                 1);
       eventAdd(d,
-           cstRemoteReader->sobject->objectEntryAID,
-           &cstRemoteReader->repeatAnnounceTimer,
-           1,   //metatraffic timer
-           "CSTWriterAnnounceTimer",
-           CSTWriterAnnounceTimer,
-           &cstRemoteReader->cstWriter->lock,
-           cstRemoteReader,
-           &cstRemoteReader->cstWriter->params.repeatAnnounceTime);
+              cstRemoteReader->sobject->objectEntryAID,
+              &cstRemoteReader->repeatAnnounceTimer,
+              1, //metatraffic timer
+              "CSTWriterAnnounceTimer",
+              CSTWriterAnnounceTimer,
+              &cstRemoteReader->cstWriter->lock,
+              cstRemoteReader,
+              &cstRemoteReader->cstWriter->params.repeatAnnounceTime);
     }
 
-    debug(52,3) ("sent: RTPS_HB from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
-                  GUID_PRINTF(cstRemoteReader->cstWriter->guid),
-                  GUID_PRINTF(cstRemoteReader->guid));
+    debug(52, 3) ("sent: RTPS_HB from 0x%x-0x%x-0x%x to 0x%x-0x%x-0x%x\n",
+                 GUID_PRINTF(cstRemoteReader->cstWriter->guid),
+                 GUID_PRINTF(cstRemoteReader->guid));
 
-    cstRemoteReader->commStateHB=MAYSENDHB;
+    cstRemoteReader->commStateHB = MAYSENDHB;
   }
-  debug(52,10) ("CSTWriterSendTimer: finished\n");
+
+  debug(52, 10) ("CSTWriterSendTimer: finished\n");
   return 0;
 }