]> rtime.felk.cvut.cz Git - orte.git/blobdiff - orte/liborte/ORTEDomain.c
Reformat the sources with orte/uncrustify script
[orte.git] / orte / liborte / ORTEDomain.c
index 7a193437c46901c761cc67f6f79c3ff8605f0634..533cc738797652bb7993ff9477b38a43141af4d8 100644 (file)
  *
  *  DEBUG:  section 30                  Domain 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.smolik@wo.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"
 
 /*****************************************************************************/
 void
-ORTEDomainRecvThreadStart(TaskProp *tp) 
+ORTEDomainRecvThreadStart(TaskProp *tp)
 {
   if (tp->terminate) {
-    tp->terminate=ORTE_FALSE;
+    tp->terminate = ORTE_FALSE;
     pthread_create(&(tp->thread), NULL,
-                  (void*)&ORTEAppRecvThread, (void *)tp); 
+                  (void *)&ORTEAppRecvThread, (void *)tp);
   }
 }
 
 /*****************************************************************************/
 void
-ORTEDomainSendThreadStart(TaskProp *tp) 
+ORTEDomainSendThreadStart(TaskProp *tp)
 {
   if (tp->terminate) {
-    tp->terminate=ORTE_FALSE;
+    tp->terminate = ORTE_FALSE;
     pthread_create(&(tp->thread), NULL,
-                  (void*)&ORTEAppSendThread, (void *)tp); 
+                  (void *)&ORTEAppSendThread, (void *)tp);
   }
 }
 
 /*****************************************************************************/
 void
-ORTEDomainRecvThreadStop(TaskProp *tp) 
+ORTEDomainRecvThreadStop(TaskProp *tp)
 {
-  ORTEDomain *d=tp->d;
+  ORTEDomain *d = tp->d;
 
   if (!tp->terminate) {
-    tp->terminate=ORTE_TRUE;
+    tp->terminate = ORTE_TRUE;
     ORTEDomainWakeUpReceivingThread(d,
-        &d->taskSend.sock,tp->sock.port); 
-    pthread_join(tp->thread,NULL); 
+                                   &d->taskSend.sock, tp->sock.port);
+    pthread_join(tp->thread, NULL);
   }
 }
 
 /*****************************************************************************/
 void
-ORTEDomainSendThreadStop(TaskProp *tp) 
+ORTEDomainSendThreadStop(TaskProp *tp)
 {
-  ORTEDomain *d=tp->d;
+  ORTEDomain *d = tp->d;
 
   if (!tp->terminate) {
-    tp->terminate=ORTE_TRUE;
-    ORTEDomainWakeUpSendingThread(&d->objectEntry); 
-    pthread_join(tp->thread,NULL); 
+    tp->terminate = ORTE_TRUE;
+    ORTEDomainWakeUpSendingThread(&d->objectEntry);
+    pthread_join(tp->thread, NULL);
   }
 }
 
 /*****************************************************************************/
 void
 ORTEDomainStart(ORTEDomain *d,
-    Boolean recvUnicastMetatrafficThread,
-    Boolean recvMulticastMetatrafficThread,
-    Boolean recvUnicastUserdataThread,
-    Boolean recvMulticastUserdataThread,
-    Boolean sendThread) {
+               Boolean recvUnicastMetatrafficThread,
+               Boolean recvMulticastMetatrafficThread,
+               Boolean recvUnicastUserdataThread,
+               Boolean recvMulticastUserdataThread,
+               Boolean sendThread)
+{
 
-  if(!d) return;
+  if (!d)
+    return;
 
-  if (recvUnicastMetatrafficThread) 
+  if (recvUnicastMetatrafficThread)
     ORTEDomainRecvThreadStart(&d->taskRecvUnicastMetatraffic);
 
-  if (recvMulticastMetatrafficThread) 
+  if (recvMulticastMetatrafficThread)
     ORTEDomainRecvThreadStart(&d->taskRecvMulticastMetatraffic);
 
-  if (recvUnicastUserdataThread) 
+  if (recvUnicastUserdataThread)
     ORTEDomainRecvThreadStart(&d->taskRecvUnicastUserdata);
 
-  if (recvMulticastUserdataThread) 
+  if (recvMulticastUserdataThread)
     ORTEDomainRecvThreadStart(&d->taskRecvMulticastUserdata);
 
-  if (sendThread) 
+  if (sendThread)
     ORTEDomainSendThreadStart(&d->taskSend);
 }
 
 /*****************************************************************************/
 Boolean
-ORTEDomainPropDefaultGet(ORTEDomainProp *prop) {
+ORTEDomainPropDefaultGet(ORTEDomainProp *prop)
+{
   sock_t        sock;
 
   memset(prop, 0, sizeof(*prop));
 
-  prop->multicast.enabled=ORTE_FALSE;
-  prop->multicast.ttl=1;
-  prop->multicast.loopBackEnabled=ORTE_TRUE;
+  prop->multicast.enabled = ORTE_FALSE;
+  prop->multicast.ttl = 1;
+  prop->multicast.loopBackEnabled = ORTE_TRUE;
 
   //IFProp
   sock_init_udp(&sock);
-  if (sock_bind(&sock,0,INADDR_ANY) == -1) {
+  if (sock_bind(&sock, 0, INADDR_ANY) == -1) {
     return ORTE_FALSE;
   }
-  sock_get_local_interfaces(&sock,prop->IFProp, (char *)&prop->IFCount);
-  sock_cleanup(&sock); 
-
-  prop->mgrs=NULL; //only from localhost
-  prop->appLocalManager=StringToIPAddress("127.0.0.1");
-  prop->listen=INADDR_ANY;
-  prop->keys=NULL; //are assign be orte
-  sprintf(prop->version,ORTE_PACKAGE_STRING\
-                        ", compiled: "\
-                        __DATE__\
-                        " "\
-                        __TIME__);
-                        
-  prop->recvBuffSize=0x4000;
-  prop->sendBuffSize=0x4000; 
-  prop->wireProp.metaBytesPerPacket=1500;
-  prop->wireProp.metaBytesPerFastPacket=1000; //not used
-  prop->wireProp.metabitsPerACKBitmap=32;     //not used
-  prop->wireProp.userBytesPerPacket=0x3000;
-  
+  sock_get_local_interfaces(&sock, prop->IFProp, (char *)&prop->IFCount);
+  sock_cleanup(&sock);
+
+  prop->mgrs = NULL; //only from localhost
+  prop->appLocalManager = StringToIPAddress("127.0.0.1");
+  prop->listen = INADDR_ANY;
+  prop->keys = NULL; //are assign be orte
+  sprintf(prop->version, ORTE_PACKAGE_STRING \
+         ", compiled: " \
+         __DATE__ \
+         " " \
+         __TIME__);
+
+  prop->recvBuffSize = 0x4000;
+  prop->sendBuffSize = 0x4000;
+  prop->wireProp.metaBytesPerPacket = 1500;
+  prop->wireProp.metaBytesPerFastPacket = 1000; //not used
+  prop->wireProp.metabitsPerACKBitmap = 32;     //not used
+  prop->wireProp.userBytesPerPacket = 0x3000;
+
   //domainBaseProp
-  prop->baseProp.registrationMgrRetries=0;
-  NTPTIME_BUILD(prop->baseProp.registrationMgrPeriod,0);//0s
-  prop->baseProp.registrationAppRetries=3;
-  NtpTimeAssembFromMs(prop->baseProp.registrationAppPeriod,0,500);//500ms
-  NTPTIME_BUILD(prop->baseProp.expirationTime,180);  //180s
-  NTPTIME_BUILD(prop->baseProp.refreshPeriod,72);    //72s - refresh self parameters
-  NTPTIME_BUILD(prop->baseProp.purgeTime,60);        //60s - purge time of parameters
-  NTPTIME_BUILD(prop->baseProp.repeatAnnounceTime,72);//72s - announcement by HB
-  NTPTIME_BUILD(prop->baseProp.repeatActiveQueryTime,72);//72s - announcement by ACK
-  NtpTimeAssembFromMs(prop->baseProp.delayResponceTimeACKMin,0,10);//10ms - delay before send ACK
-  NtpTimeAssembFromMs(prop->baseProp.delayResponceTimeACKMax,1,0);//1s
-  NtpTimeAssembFromMs(prop->baseProp.maxBlockTime,20,0);//20s
-  prop->baseProp.ACKMaxRetries=10;
-  prop->baseProp.HBMaxRetries=10;
-  
+  prop->baseProp.registrationMgrRetries = 0;
+  NTPTIME_BUILD(prop->baseProp.registrationMgrPeriod, 0); //0s
+  prop->baseProp.registrationAppRetries = 3;
+  NtpTimeAssembFromMs(prop->baseProp.registrationAppPeriod, 0, 500); //500ms
+  NTPTIME_BUILD(prop->baseProp.expirationTime, 180);  //180s
+  NTPTIME_BUILD(prop->baseProp.refreshPeriod, 72);    //72s - refresh self parameters
+  NTPTIME_BUILD(prop->baseProp.purgeTime, 60);        //60s - purge time of parameters
+  NTPTIME_BUILD(prop->baseProp.repeatAnnounceTime, 72); //72s - announcement by HB
+  NTPTIME_BUILD(prop->baseProp.repeatActiveQueryTime, 72); //72s - announcement by ACK
+  NtpTimeAssembFromMs(prop->baseProp.delayResponceTimeACKMin, 0, 10); //10ms - delay before send ACK
+  NtpTimeAssembFromMs(prop->baseProp.delayResponceTimeACKMax, 1, 0); //1s
+  NtpTimeAssembFromMs(prop->baseProp.maxBlockTime, 20, 0); //20s
+  prop->baseProp.ACKMaxRetries = 10;
+  prop->baseProp.HBMaxRetries = 10;
+
   PublParamsInit(&prop->publPropDefault);
   SubsParamsInit(&prop->subsPropDefault);
-  
+
   return ORTE_TRUE;
 }
 
 /*****************************************************************************/
 Boolean
-ORTEDomainInitEvents(ORTEDomainAppEvents *events) {
-  memset(events,0,sizeof(ORTEDomainAppEvents));
+ORTEDomainInitEvents(ORTEDomainAppEvents *events)
+{
+  memset(events, 0, sizeof(ORTEDomainAppEvents));
   return ORTE_TRUE;
 }
 
 
 /*****************************************************************************/
-ORTEDomain * 
+ORTEDomain *
 ORTEDomainCreate(int domain, ORTEDomainProp *prop,
-               ORTEDomainAppEvents *events,Boolean manager) {
+                ORTEDomainAppEvents *events, Boolean manager)
+{
   ORTEDomain        *d;
   ObjectEntryOID    *objectEntryOID;
   AppParams         *appParams;
@@ -186,87 +191,88 @@ ORTEDomainCreate(int domain, ORTEDomainProp *prop,
   char              sIPAddress[MAX_STRING_IPADDRESS_LENGTH];
   char              sbuff[128];
   int               i;
-  uint16_t          port=0;
-  int              errno_save = 0;
+  uint16_t          port = 0;
+  int               errno_save = 0;
 
-  debug(30,2)  ("ORTEDomainCreate: %s compiled: %s,%s\n",
-                ORTE_PACKAGE_STRING,__DATE__,__TIME__);
+  debug(30, 2)  ("ORTEDomainCreate: %s compiled: %s,%s\n",
+                ORTE_PACKAGE_STRING, __DATE__, __TIME__);
 
-  debug(30,10) ("ORTEDomainCreate: start\n");
+  debug(30, 10) ("ORTEDomainCreate: start\n");
   //Create domainApplication
-  d=MALLOC(sizeof(ORTEDomain));
-  if (!d) return NULL;  //no memory
+  d = MALLOC(sizeof(ORTEDomain));
+  if (!d)
+    return NULL;        //no memory
   //initialization local values
-  d->domain=domain;
-  d->taskRecvUnicastMetatraffic.d=d;
-  d->taskRecvUnicastMetatraffic.terminate=ORTE_TRUE;
-  d->taskRecvMulticastMetatraffic.d=d;
-  d->taskRecvMulticastMetatraffic.terminate=ORTE_TRUE;
-  d->taskRecvUnicastUserdata.d=d;
-  d->taskRecvUnicastUserdata.terminate=ORTE_TRUE;
-  d->taskRecvMulticastUserdata.d=d;
-  d->taskRecvMulticastUserdata.terminate=ORTE_TRUE;
-  d->taskSend.d=d;
-  d->taskSend.terminate=ORTE_TRUE;
-  d->taskRecvUnicastMetatraffic.sock.port=0;
-  d->taskRecvMulticastMetatraffic.sock.port=0;
-  d->taskRecvUnicastUserdata.sock.port=0;
-  d->taskRecvMulticastUserdata.sock.port=0;
-  d->taskSend.sock.port=0;
+  d->domain = domain;
+  d->taskRecvUnicastMetatraffic.d = d;
+  d->taskRecvUnicastMetatraffic.terminate = ORTE_TRUE;
+  d->taskRecvMulticastMetatraffic.d = d;
+  d->taskRecvMulticastMetatraffic.terminate = ORTE_TRUE;
+  d->taskRecvUnicastUserdata.d = d;
+  d->taskRecvUnicastUserdata.terminate = ORTE_TRUE;
+  d->taskRecvMulticastUserdata.d = d;
+  d->taskRecvMulticastUserdata.terminate = ORTE_TRUE;
+  d->taskSend.d = d;
+  d->taskSend.terminate = ORTE_TRUE;
+  d->taskRecvUnicastMetatraffic.sock.port = 0;
+  d->taskRecvMulticastMetatraffic.sock.port = 0;
+  d->taskRecvUnicastUserdata.sock.port = 0;
+  d->taskRecvMulticastUserdata.sock.port = 0;
+  d->taskSend.sock.port = 0;
   //init structure objectEntry
   ObjectEntryHID_init_root_field(&d->objectEntry);
-  pthread_rwlock_init(&d->objectEntry.objRootLock,NULL);
+  pthread_rwlock_init(&d->objectEntry.objRootLock, NULL);
   htimerRoot_init_queue(&d->objectEntry);
-  pthread_rwlock_init(&d->objectEntry.htimRootLock,NULL);
-  pthread_cond_init(&d->objectEntry.htimSendCond,NULL);
-  pthread_mutex_init(&d->objectEntry.htimSendMutex,NULL);
-  d->objectEntry.htimSendCondValue=0;
-  d->objectEntry.htimNeedWakeUp=ORTE_TRUE;
+  pthread_rwlock_init(&d->objectEntry.htimRootLock, NULL);
+  pthread_cond_init(&d->objectEntry.htimSendCond, NULL);
+  pthread_mutex_init(&d->objectEntry.htimSendMutex, NULL);
+  d->objectEntry.htimSendCondValue = 0;
+  d->objectEntry.htimNeedWakeUp = ORTE_TRUE;
   //publication,subscriptions
-  d->publications.counter=d->subscriptions.counter=0;
+  d->publications.counter = d->subscriptions.counter = 0;
   CSTWriter_init_root_field(&d->publications);
   CSTReader_init_root_field(&d->subscriptions);
-  pthread_rwlock_init(&d->publications.lock,NULL);
-  pthread_rwlock_init(&d->subscriptions.lock,NULL);
+  pthread_rwlock_init(&d->publications.lock, NULL);
+  pthread_rwlock_init(&d->subscriptions.lock, NULL);
   //publication,subscriptions lists
   PublicationList_init_root_field(&d->psEntry);
-  pthread_rwlock_init(&d->psEntry.publicationsLock,NULL);
+  pthread_rwlock_init(&d->psEntry.publicationsLock, NULL);
   SubscriptionList_init_root_field(&d->psEntry);
-  pthread_rwlock_init(&d->psEntry.subscriptionsLock,NULL);
-  
+  pthread_rwlock_init(&d->psEntry.subscriptionsLock, NULL);
+
   //pattern
-  pthread_rwlock_init(&d->patternEntry.lock,NULL);
-  ORTEPatternRegister(d,ORTEPatternCheckDefault,ORTEPatternMatchDefault,NULL);
+  pthread_rwlock_init(&d->patternEntry.lock, NULL);
+  ORTEPatternRegister(d, ORTEPatternCheckDefault, ORTEPatternMatchDefault, NULL);
   Pattern_init_head(&d->patternEntry);
-    
-  //create domainProp 
-  if (prop!=NULL) {
-    memcpy(&d->domainProp,prop,sizeof(ORTEDomainProp));
+
+  //create domainProp
+  if (prop != NULL) {
+    memcpy(&d->domainProp, prop, sizeof(ORTEDomainProp));
   } else {
     if (!ORTEDomainPropDefaultGet(&d->domainProp)) {
       goto err_domainProp;
     }
   }
-  
+
   //print local IP addresses
-  iflocal[0]=0;
+  iflocal[0] = 0;
   if (d->domainProp.IFCount) {
-    for(i=0;i<d->domainProp.IFCount;i++)
-      strcat(iflocal,IPAddressToString(d->domainProp.IFProp[i].ipAddress,sIPAddress));
-    debug(30,2) ("ORTEDomainCreate: localIPAddres(es) %s\n",iflocal);
-  } else{
-    debug(30,2) ("ORTEDomainCreate: no active interface card\n");
+    for (i = 0; i < d->domainProp.IFCount; i++)
+      strcat(iflocal, IPAddressToString(d->domainProp.IFProp[i].ipAddress, sIPAddress));
+    debug(30, 2) ("ORTEDomainCreate: localIPAddres(es) %s\n", iflocal);
+  } else {
+    debug(30, 2) ("ORTEDomainCreate: no active interface card\n");
     if (d->domainProp.multicast.enabled) {
-       debug(30,0) ("ORTEDomainCreate: for multicast have to be active an interface\n");
-       goto err_domainProp;
+      debug(30, 0) ("ORTEDomainCreate: for multicast have to be active an interface\n");
+      goto err_domainProp;
     }
   }
 
   //DomainEvents
-  if (events!=NULL) {
-    memcpy(&d->domainEvents,events,sizeof(ORTEDomainAppEvents));
+  if (events != NULL) {
+    memcpy(&d->domainEvents, events, sizeof(ORTEDomainAppEvents));
   } else {
-    memset(&d->domainEvents,0,sizeof(ORTEDomainAppEvents));
+    memset(&d->domainEvents, 0, sizeof(ORTEDomainAppEvents));
   }
 
   //local buffers
@@ -279,22 +285,22 @@ ORTEDomainCreate(int domain, ORTEDomainProp *prop,
                  d->domainProp.recvBuffSize);
   CDR_buffer_init(&d->taskSend.mb.cdrCodec,
                  d->domainProp.sendBuffSize);
-  d->taskSend.mb.cdrCodec.wptr_max=d->domainProp.wireProp.metaBytesPerPacket;
+  d->taskSend.mb.cdrCodec.wptr_max = d->domainProp.wireProp.metaBytesPerPacket;
   if (!manager) {
     CDR_buffer_init(&d->taskRecvUnicastUserdata.mb.cdrCodec,
-                   d->domainProp.recvBuffSize);
+                   d->domainProp.recvBuffSize);
     if (d->domainProp.multicast.enabled) {
       CDR_buffer_init(&d->taskRecvMulticastMetatraffic.mb.cdrCodec,
-                     d->domainProp.recvBuffSize);
+                     d->domainProp.recvBuffSize);
       CDR_buffer_init(&d->taskRecvMulticastUserdata.mb.cdrCodec,
-                     d->domainProp.recvBuffSize);
+                     d->domainProp.recvBuffSize);
     }
   }
   d->taskSend.mb.cdrCodec.data_endian = FLAG_ENDIANNESS;
 
   //TypeRegister
   ORTEType_init_root_field(&d->typeEntry);
-  pthread_rwlock_init(&d->typeEntry.lock,NULL);
+  pthread_rwlock_init(&d->typeEntry.lock, NULL);
 
   //Sockets
   sock_init_udp(&d->taskRecvUnicastMetatraffic.sock);
@@ -305,47 +311,48 @@ ORTEDomainCreate(int domain, ORTEDomainProp *prop,
 
   /************************************************************************/
   /* UnicastMetatraffic */
-  Domain2Port(d->domain,port);
+  Domain2Port(d->domain, port);
   if (manager) {
     if (d->domainProp.multicast.enabled) {
       char sIPAddress[MAX_STRING_IPADDRESS_LENGTH];
       struct ip_mreq mreq;
-      int reuse=1,loop=0;
-    
+      int reuse = 1, loop = 0;
+
       //reuseaddr
-      sock_setsockopt(&d->taskRecvUnicastMetatraffic.sock, SOL_SOCKET, 
-                   SO_REUSEADDR, (const char *)&reuse, sizeof(reuse));
-      debug(30,2) ("ORTEDomainCreate: set value SO_REUSEADDR: %u\n",
-                   reuse);
+      sock_setsockopt(&d->taskRecvUnicastMetatraffic.sock, SOL_SOCKET,
+                     SO_REUSEADDR, (const char *)&reuse, sizeof(reuse));
+      debug(30, 2) ("ORTEDomainCreate: set value SO_REUSEADDR: %u\n",
+                   reuse);
 
       //multicast loop
-      sock_setsockopt(&d->taskRecvUnicastMetatraffic.sock, IPPROTO_IP, 
-                   IP_MULTICAST_LOOP, (const char *)&loop, 
-                   sizeof(loop));
-      debug(30,2) ("ORTEDomainCreate: set value IP_MULTICAST_LOOP: %u\n",
-                 loop);
-      
+      sock_setsockopt(&d->taskRecvUnicastMetatraffic.sock, IPPROTO_IP,
+                     IP_MULTICAST_LOOP, (const char *)&loop,
+                     sizeof(loop));
+      debug(30, 2) ("ORTEDomainCreate: set value IP_MULTICAST_LOOP: %u\n",
+                   loop);
+
       //joint to multicast group
-      mreq.imr_multiaddr.s_addr=htonl(d->domainProp.multicast.ipAddress);
-      mreq.imr_interface.s_addr=htonl(INADDR_ANY);
-      if(sock_setsockopt(&d->taskRecvUnicastMetatraffic.sock,IPPROTO_IP,
-         IP_ADD_MEMBERSHIP, (const char *)&mreq, sizeof(mreq))>=0) {
-        debug(30,2) ("ORTEDomainCreate: joint to mgroup %s\n",
-                      IPAddressToString(d->domainProp.multicast.ipAddress,sIPAddress));
+      memset(&mreq, 0, sizeof(mreq));
+      mreq.imr_multiaddr.s_addr = htonl(d->domainProp.multicast.ipAddress);
+      mreq.imr_interface.s_addr = htonl(INADDR_ANY);
+      if (sock_setsockopt(&d->taskRecvUnicastMetatraffic.sock, IPPROTO_IP,
+                         IP_ADD_MEMBERSHIP, (const char *)&mreq, sizeof(mreq)) >= 0) {
+       debug(30, 2) ("ORTEDomainCreate: joint to mgroup %s\n",
+                     IPAddressToString(d->domainProp.multicast.ipAddress, sIPAddress));
       } else
-             goto err_sock;
+       goto err_sock;
     }
-    if (sock_bind(&d->taskRecvUnicastMetatraffic.sock,port,d->domainProp.listen) == -1) {
+    if (sock_bind(&d->taskRecvUnicastMetatraffic.sock, port, d->domainProp.listen) == -1) {
       goto err_sock;
     }
   } else {
     /* give me receiving port (metatraffic) */
-    if (sock_bind(&d->taskRecvUnicastMetatraffic.sock,0,d->domainProp.listen) == -1) {
+    if (sock_bind(&d->taskRecvUnicastMetatraffic.sock, 0, d->domainProp.listen) == -1) {
       goto err_sock;
     }
   }
-  debug(30,2) ("ORTEDomainCreate: bind on port(RecvUnicastMetatraffic): %u\n",
-               d->taskRecvUnicastMetatraffic.sock.port);
+  debug(30, 2) ("ORTEDomainCreate: bind on port(RecvUnicastMetatraffic): %u\n",
+               d->taskRecvUnicastMetatraffic.sock.port);
 
   /************************************************************************/
   /* MulticastMetatraffic */
@@ -353,377 +360,378 @@ ORTEDomainCreate(int domain, ORTEDomainProp *prop,
     char sIPAddress[MAX_STRING_IPADDRESS_LENGTH];
     struct ip_mreq mreq;
     Port mport;
-    int reuse=1;
-    
+    int reuse = 1;
+
     //reuseaddr
-    sock_setsockopt(&d->taskRecvMulticastMetatraffic.sock, SOL_SOCKET, 
+    sock_setsockopt(&d->taskRecvMulticastMetatraffic.sock, SOL_SOCKET,
                    SO_REUSEADDR, (const char *)&reuse, sizeof(reuse));
-    debug(30,2) ("ORTEDomainCreate: set value SO_REUSEADDR: %u\n",
+    debug(30, 2) ("ORTEDomainCreate: set value SO_REUSEADDR: %u\n",
                  reuse);
 
     //multicast loop
-    sock_setsockopt(&d->taskRecvMulticastMetatraffic.sock, IPPROTO_IP, 
-                   IP_MULTICAST_LOOP, (const char *)&d->domainProp.multicast.loopBackEnabled, 
+    sock_setsockopt(&d->taskRecvMulticastMetatraffic.sock, IPPROTO_IP,
+                   IP_MULTICAST_LOOP, (const char *)&d->domainProp.multicast.loopBackEnabled,
                    sizeof(d->domainProp.multicast.loopBackEnabled));
-    debug(30,2) ("ORTEDomainCreate: set value IP_MULTICAST_LOOP: %u\n",
+    debug(30, 2) ("ORTEDomainCreate: set value IP_MULTICAST_LOOP: %u\n",
                  d->domainProp.multicast.loopBackEnabled);
-    
+
     //joint to multicast group
-    mreq.imr_multiaddr.s_addr=htonl(d->domainProp.multicast.ipAddress);
-    mreq.imr_interface.s_addr=htonl(INADDR_ANY);
-    if(sock_setsockopt(&d->taskRecvMulticastMetatraffic.sock,IPPROTO_IP,
-        IP_ADD_MEMBERSHIP, (const char *)&mreq, sizeof(mreq))>=0) {
-      debug(30,2) ("ORTEDomainCreate: joint to mgroup %s\n",
-                    IPAddressToString(d->domainProp.multicast.ipAddress,sIPAddress));
+    mreq.imr_multiaddr.s_addr = htonl(d->domainProp.multicast.ipAddress);
+    mreq.imr_interface.s_addr = htonl(INADDR_ANY);
+    if (sock_setsockopt(&d->taskRecvMulticastMetatraffic.sock, IPPROTO_IP,
+                       IP_ADD_MEMBERSHIP, (const char *)&mreq, sizeof(mreq)) >= 0) {
+      debug(30, 2) ("ORTEDomainCreate: joint to mgroup %s\n",
+                   IPAddressToString(d->domainProp.multicast.ipAddress, sIPAddress));
     }
-    
+
     /* receiving multicast port (metatraffic) */
-    Domain2PortMulticastMetatraffic(d->domain,mport);
-    if (sock_bind(&d->taskRecvMulticastMetatraffic.sock,(uint16_t)mport,d->domainProp.listen) == -1) {
+    Domain2PortMulticastMetatraffic(d->domain, mport);
+    if (sock_bind(&d->taskRecvMulticastMetatraffic.sock, (uint16_t)mport, d->domainProp.listen) == -1) {
       goto err_sock;
     }
-    debug(30,2) ("ORTEDomainCreate: bind on port(RecvMulticastMetatraffic): %u\n",
-                  d->taskRecvMulticastMetatraffic.sock.port);
+    debug(30, 2) ("ORTEDomainCreate: bind on port(RecvMulticastMetatraffic): %u\n",
+                 d->taskRecvMulticastMetatraffic.sock.port);
   }
 
   /************************************************************************/
   /* UserData */
   if (!manager) {
     /* give me receiving port (userdata) */
-    if (sock_bind(&d->taskRecvUnicastUserdata.sock,0,d->domainProp.listen) == -1) {
+    if (sock_bind(&d->taskRecvUnicastUserdata.sock, 0, d->domainProp.listen) == -1) {
       goto err_sock;
     }
-    debug(30,2) ("ORTEDomainCreate: bind on port(RecvUnicatUserdata): %u\n",
-                  d->taskRecvUnicastUserdata.sock.port);
+    debug(30, 2) ("ORTEDomainCreate: bind on port(RecvUnicatUserdata): %u\n",
+                 d->taskRecvUnicastUserdata.sock.port);
 
     if (d->domainProp.multicast.enabled) {
       Port mport;
-      int reuse=1;
-    
+      int reuse = 1;
+
       //reuseaddr
-      sock_setsockopt(&d->taskRecvMulticastUserdata.sock, SOL_SOCKET, 
-                     SO_REUSEADDR, (const char *)&reuse, sizeof(reuse));
-      debug(30,2) ("ORTEDomainCreate: set value SO_REUSEADDR: %u\n",
-                     reuse);
+      sock_setsockopt(&d->taskRecvMulticastUserdata.sock, SOL_SOCKET,
+                     SO_REUSEADDR, (const char *)&reuse, sizeof(reuse));
+      debug(30, 2) ("ORTEDomainCreate: set value SO_REUSEADDR: %u\n",
+                   reuse);
 
       //multicast loop
-      sock_setsockopt(&d->taskRecvMulticastUserdata.sock, IPPROTO_IP, 
-                     IP_MULTICAST_LOOP, (const char *)&d->domainProp.multicast.loopBackEnabled, 
+      sock_setsockopt(&d->taskRecvMulticastUserdata.sock, IPPROTO_IP,
+                     IP_MULTICAST_LOOP, (const char *)&d->domainProp.multicast.loopBackEnabled,
                      sizeof(d->domainProp.multicast.loopBackEnabled));
-      debug(30,2) ("ORTEDomainCreate: set value IP_MULTICAST_LOOP: %u\n",
+      debug(30, 2) ("ORTEDomainCreate: set value IP_MULTICAST_LOOP: %u\n",
                    d->domainProp.multicast.loopBackEnabled);
-      
+
       /* receiving multicast port (userdata) */
-      Domain2PortMulticastUserdata(d->domain,mport);
-      if (sock_bind(&d->taskRecvMulticastUserdata.sock,(uint16_t)mport,d->domainProp.listen) == -1) {
+      Domain2PortMulticastUserdata(d->domain, mport);
+      if (sock_bind(&d->taskRecvMulticastUserdata.sock, (uint16_t)mport, d->domainProp.listen) == -1) {
        goto err_sock;
       }
-      debug(30,2) ("ORTEDomainCreate: bind on port(RecvMulticastUserdata): %u\n",
-                    d->taskRecvMulticastUserdata.sock.port);
+      debug(30, 2) ("ORTEDomainCreate: bind on port(RecvMulticastUserdata): %u\n",
+                   d->taskRecvMulticastUserdata.sock.port);
     }
   }
 
   /************************************************************************/
   /* Send */
   /* give me sending port */
-  if (sock_bind(&d->taskSend.sock,0,d->domainProp.listen) == -1) {
+  if (sock_bind(&d->taskSend.sock, 0, d->domainProp.listen) == -1) {
     goto err_sock;
   }
-  debug(30,2) ("ORTEDomainCreate: bind on port(Send): %u\n",
-               d->taskSend.sock.port);
+  debug(30, 2) ("ORTEDomainCreate: bind on port(Send): %u\n",
+               d->taskSend.sock.port);
   if (d->domainProp.multicast.enabled) {
     //ttl
-    if(sock_setsockopt(&d->taskSend.sock,IPPROTO_IP,IP_MULTICAST_TTL, (const char *)&d->domainProp.multicast.ttl,sizeof(d->domainProp.multicast.ttl))>=0) {
-      debug(30,2) ("ORTEDomainCreate: ttl set on: %u\n",
-           d->domainProp.multicast.ttl);
-    } 
+    if (sock_setsockopt(&d->taskSend.sock, IPPROTO_IP, IP_MULTICAST_TTL, (const char *)&d->domainProp.multicast.ttl, sizeof(d->domainProp.multicast.ttl)) >= 0) {
+      debug(30, 2) ("ORTEDomainCreate: ttl set on: %u\n",
+                   d->domainProp.multicast.ttl);
+    }
   }
 
   /************************************************************************/
   /* tests for valid resources */
-  if ((d->taskRecvUnicastMetatraffic.sock.fd<0) || 
-      (d->taskSend.sock.fd<0) ||
+  if ((d->taskRecvUnicastMetatraffic.sock.fd < 0) ||
+      (d->taskSend.sock.fd < 0) ||
+      (d->domainProp.multicast.enabled &&
+       (d->taskRecvUnicastUserdata.sock.fd < 0)) ||
       (d->domainProp.multicast.enabled &&
-       (d->taskRecvUnicastUserdata.sock.fd<0)) ||
+       (d->taskRecvMulticastUserdata.sock.fd < 0)) ||
       (d->domainProp.multicast.enabled &&
-       (d->taskRecvMulticastUserdata.sock.fd<0)) ||
-      (d->domainProp.multicast.enabled && 
-       (d->taskRecvMulticastMetatraffic.sock.fd<0))) {
-    debug(30,0) ("ORTEDomainCreate: Error creating socket(s).\n");
+       (d->taskRecvMulticastMetatraffic.sock.fd < 0))) {
+    debug(30, 0) ("ORTEDomainCreate: Error creating socket(s).\n");
     goto err_sock;
   }
 
-  if ((!d->taskRecvUnicastMetatraffic.mb.cdrCodec.buffer) || 
+  if ((!d->taskRecvUnicastMetatraffic.mb.cdrCodec.buffer) ||
       (!d->taskSend.mb.cdrCodec.buffer) ||
       (d->domainProp.multicast.enabled && !manager &&
-       !d->taskRecvUnicastUserdata.mb.cdrCodec.buffer) || 
+       !d->taskRecvUnicastUserdata.mb.cdrCodec.buffer) ||
       (d->domainProp.multicast.enabled && !manager &&
-       !d->taskRecvMulticastUserdata.mb.cdrCodec.buffer) || 
+       !d->taskRecvMulticastUserdata.mb.cdrCodec.buffer) ||
       (d->domainProp.multicast.enabled && !manager &&
        !d->taskRecvMulticastMetatraffic.mb.cdrCodec.buffer)) {    //no a memory
-    debug(30,0) ("ORTEDomainCreate: Error creating buffer(s).\n");
+    debug(30, 0) ("ORTEDomainCreate: Error creating buffer(s).\n");
     goto err_sock;
-  } 
+  }
 
   /************************************************************************/
   //Generates local GUID
-  if (d->domainProp.IFCount>0) 
-    d->guid.hid=d->domainProp.IFProp[0].ipAddress;
+  if (d->domainProp.IFCount > 0)
+    d->guid.hid = d->domainProp.IFProp[0].ipAddress;
   else
-    d->guid.hid=StringToIPAddress("127.0.0.1");
+    d->guid.hid = StringToIPAddress("127.0.0.1");
   if (manager) {
-    d->guid.aid=(d->taskSend.sock.port<<8)+MANAGER; 
+    d->guid.aid = (d->taskSend.sock.port<<8)+MANAGER;
   } else {
-    d->guid.aid=(d->taskSend.sock.port<<8)+MANAGEDAPPLICATION; 
+    d->guid.aid = (d->taskSend.sock.port<<8)+MANAGEDAPPLICATION;
   }
-  d->guid.oid=OID_APP;
-  debug(30,2) ("ORTEDomainCreate: GUID: %#10.8x,%#10.8x,%#10.8x\n",
-               GUID_PRINTF(d->guid)); 
+  d->guid.oid = OID_APP;
+  debug(30, 2) ("ORTEDomainCreate: GUID: %#10.8x,%#10.8x,%#10.8x\n",
+               GUID_PRINTF(d->guid));
 
   //create HEADER of message for sending task
-  RTPSHeaderCreate(&d->taskSend.mb.cdrCodec,d->guid.hid,d->guid.aid);
-  d->taskSend.mb.needSend=ORTE_FALSE;
-  d->taskSend.mb.containsInfoReply=ORTE_FALSE;  
-  d->taskSend.mb.cdrCodecDirect=NULL;
-  
+  RTPSHeaderCreate(&d->taskSend.mb.cdrCodec, d->guid.hid, d->guid.aid);
+  d->taskSend.mb.needSend = ORTE_FALSE;
+  d->taskSend.mb.containsInfoReply = ORTE_FALSE;
+  d->taskSend.mb.cdrCodecDirect = NULL;
+
   //Self object data & fellow managers object data
-  appParams=(AppParams*)MALLOC(sizeof(AppParams));
+  appParams = (AppParams *)MALLOC(sizeof(AppParams));
   if (!appParams) {
     goto err_sock;
   }
   AppParamsInit(appParams);
-  appParams->expirationTime=d->domainProp.baseProp.expirationTime;
+  appParams->expirationTime = d->domainProp.baseProp.expirationTime;
   VENDOR_ID_OCERA(appParams->vendorId);
-  appParams->hostId=d->guid.hid;
-  appParams->appId=d->guid.aid;
-  appParams->metatrafficUnicastPort=d->taskRecvUnicastMetatraffic.sock.port;
-  appParams->userdataUnicastPort=d->taskRecvUnicastUserdata.sock.port;  
+  appParams->hostId = d->guid.hid;
+  appParams->appId = d->guid.aid;
+  appParams->metatrafficUnicastPort = d->taskRecvUnicastMetatraffic.sock.port;
+  appParams->userdataUnicastPort = d->taskRecvUnicastUserdata.sock.port;
   //fill unicast/multicast ip addresses
   if (d->domainProp.IFCount) {
-    for(i=0;i<d->domainProp.IFCount;i++)
-      appParams->unicastIPAddressList[i]=d->domainProp.IFProp[i].ipAddress;
-    appParams->unicastIPAddressCount=d->domainProp.IFCount;
+    for (i = 0; i < d->domainProp.IFCount; i++)
+      appParams->unicastIPAddressList[i] = d->domainProp.IFProp[i].ipAddress;
+    appParams->unicastIPAddressCount = d->domainProp.IFCount;
   }
   if (d->domainProp.multicast.enabled &&
       IN_MULTICAST(d->domainProp.multicast.ipAddress)) {
-    appParams->metatrafficMulticastIPAddressList[appParams->metatrafficMulticastIPAddressCount]=
-       d->domainProp.multicast.ipAddress;
+    appParams->metatrafficMulticastIPAddressList[appParams->metatrafficMulticastIPAddressCount] =
+      d->domainProp.multicast.ipAddress;
     appParams->metatrafficMulticastIPAddressCount++;
   } else {
     if (!d->domainProp.IFCount) {
-      appParams->unicastIPAddressList[appParams->unicastIPAddressCount]=
-           StringToIPAddress("127.0.0.1");
+      appParams->unicastIPAddressList[appParams->unicastIPAddressCount] =
+       StringToIPAddress("127.0.0.1");
       appParams->unicastIPAddressCount++;
     }
   }
   //KeyList
   if (!d->domainProp.keys) {
-    appParams->managerKeyList[0]=StringToIPAddress("127.0.0.1");
-    for(i=0;i<d->domainProp.IFCount;i++)
-      appParams->managerKeyList[i+1]=d->domainProp.IFProp[i].ipAddress;
+    appParams->managerKeyList[0] = StringToIPAddress("127.0.0.1");
+    for (i = 0; i < d->domainProp.IFCount; i++)
+      appParams->managerKeyList[i+1] = d->domainProp.IFProp[i].ipAddress;
     if (d->domainProp.multicast.enabled &&
-        IN_MULTICAST(d->domainProp.multicast.ipAddress)) {
-      appParams->managerKeyList[i+1]=d->domainProp.multicast.ipAddress;
+       IN_MULTICAST(d->domainProp.multicast.ipAddress)) {
+      appParams->managerKeyList[i+1] = d->domainProp.multicast.ipAddress;
       i++;
     }
-    appParams->managerKeyCount=i+1;
+    appParams->managerKeyCount = i+1;
   } else {
-    appParams->managerKeyCount=i=0;
-    while (getStringPart(d->domainProp.keys,':',&i,sbuff)) {
-      appParams->managerKeyList[appParams->managerKeyCount++]=
-          StringToIPAddress(sbuff);
-    }    
+    appParams->managerKeyCount = i = 0;
+    while (getStringPart(d->domainProp.keys, ':', &i, sbuff))
+      appParams->managerKeyList[appParams->managerKeyCount++] =
+       StringToIPAddress(sbuff);
   }
-  d->appParams=appParams;
+  d->appParams = appParams;
   //insert object, doesn't need to be locked
-  d->objectEntryOID=objectEntryAdd(d,&d->guid,(void*)appParams);
-  d->objectEntryOID->privateCreated=ORTE_TRUE;
+  d->objectEntryOID = objectEntryAdd(d, &d->guid, (void *)appParams);
+  d->objectEntryOID->privateCreated = ORTE_TRUE;
+
 
-  
   /************************************************************************/
   //CST objects
   //  writerApplicationSelf (WAS)
   NTPTIME_ZERO(cstWriterParams.waitWhileDataUnderwayTime);
-  cstWriterParams.refreshPeriod=d->domainProp.baseProp.refreshPeriod;
-  cstWriterParams.repeatAnnounceTime=d->domainProp.baseProp.repeatAnnounceTime;
+  cstWriterParams.refreshPeriod = d->domainProp.baseProp.refreshPeriod;
+  cstWriterParams.repeatAnnounceTime = d->domainProp.baseProp.repeatAnnounceTime;
   NTPTIME_ZERO(cstWriterParams.delayResponceTime);
-  cstWriterParams.HBMaxRetries=d->domainProp.baseProp.HBMaxRetries;
+  cstWriterParams.HBMaxRetries = d->domainProp.baseProp.HBMaxRetries;
   if (manager) {
-    cstWriterParams.registrationRetries=d->domainProp.baseProp.registrationMgrRetries; 
-    cstWriterParams.registrationPeriod=d->domainProp.baseProp.registrationMgrPeriod; 
-    cstWriterParams.fullAcknowledge=ORTE_FALSE;
+    cstWriterParams.registrationRetries = d->domainProp.baseProp.registrationMgrRetries;
+    cstWriterParams.registrationPeriod = d->domainProp.baseProp.registrationMgrPeriod;
+    cstWriterParams.fullAcknowledge = ORTE_FALSE;
   } else {
-    cstWriterParams.registrationRetries=d->domainProp.baseProp.registrationAppRetries; 
-    cstWriterParams.registrationPeriod=d->domainProp.baseProp.registrationAppPeriod; 
-    cstWriterParams.fullAcknowledge=ORTE_TRUE;
+    cstWriterParams.registrationRetries = d->domainProp.baseProp.registrationAppRetries;
+    cstWriterParams.registrationPeriod = d->domainProp.baseProp.registrationAppPeriod;
+    cstWriterParams.fullAcknowledge = ORTE_TRUE;
   }
-  CSTWriterInit(d,&d->writerApplicationSelf,d->objectEntryOID,
-      OID_WRITE_APPSELF,&cstWriterParams,NULL);
+  CSTWriterInit(d, &d->writerApplicationSelf, d->objectEntryOID,
+               OID_WRITE_APPSELF, &cstWriterParams, NULL);
   if (manager) {
-    i=0;
-    while (getStringPart(d->domainProp.mgrs,':',&i,sbuff)>0) {
+    i = 0;
+    while (getStringPart(d->domainProp.mgrs, ':', &i, sbuff) > 0) {
       GUID_RTPS guid;
-      IPAddress ipAddress=StringToIPAddress(sbuff);
-      guid.hid=ipAddress;
-      guid.aid=AID_UNKNOWN;
-      guid.oid=OID_APP;
-      if (!objectEntryFind(d,&guid)) {
-        CSTRemoteReader *cstRemoteReader;
-        appParams=(AppParams*)MALLOC(sizeof(AppParams));
-        AppParamsInit(appParams);
-        appParams->hostId=guid.hid;
-        appParams->appId=guid.aid;
-        appParams->metatrafficUnicastPort=d->appParams->metatrafficUnicastPort;
-        objectEntryOID=objectEntryAdd(d,&guid,(void*)appParams);
-        if (d->domainProp.multicast.enabled && IN_MULTICAST(ipAddress)) {
-          appParams->metatrafficMulticastIPAddressList[0]=ipAddress;
-          appParams->metatrafficMulticastIPAddressCount=1;
-          objectEntryOID->multicastPort=port;
-        } else {
-          appParams->unicastIPAddressList[0]=ipAddress;
-          appParams->unicastIPAddressCount=1;
-          objectEntryOID->multicastPort=0;
-        }
-        appParams->userdataUnicastPort=0;  //Manager support only metatraffic
-        cstRemoteReader=CSTWriterAddRemoteReader(d,
-                                &d->writerApplicationSelf,
-                                objectEntryOID,
-                                OID_READ_MGR,
-                                objectEntryOID);
-        debug(29,2) ("ORTEDomainCreate: add fellow manager (%s)\n",
-                    IPAddressToString(ipAddress,sIPAddress));
+      IPAddress ipAddress = StringToIPAddress(sbuff);
+      guid.hid = ipAddress;
+      guid.aid = AID_UNKNOWN;
+      guid.oid = OID_APP;
+      if (!objectEntryFind(d, &guid)) {
+       CSTRemoteReader *cstRemoteReader;
+       appParams = (AppParams *)MALLOC(sizeof(AppParams));
+       AppParamsInit(appParams);
+       appParams->hostId = guid.hid;
+       appParams->appId = guid.aid;
+       appParams->metatrafficUnicastPort = d->appParams->metatrafficUnicastPort;
+       objectEntryOID = objectEntryAdd(d, &guid, (void *)appParams);
+       if (d->domainProp.multicast.enabled && IN_MULTICAST(ipAddress)) {
+         appParams->metatrafficMulticastIPAddressList[0] = ipAddress;
+         appParams->metatrafficMulticastIPAddressCount = 1;
+         objectEntryOID->multicastPort = port;
+       } else {
+         appParams->unicastIPAddressList[0] = ipAddress;
+         appParams->unicastIPAddressCount = 1;
+         objectEntryOID->multicastPort = 0;
+       }
+       appParams->userdataUnicastPort = 0;  //Manager support only metatraffic
+       cstRemoteReader = CSTWriterAddRemoteReader(d,
+                                                  &d->writerApplicationSelf,
+                                                  objectEntryOID,
+                                                  OID_READ_MGR,
+                                                  objectEntryOID);
+       debug(29, 2) ("ORTEDomainCreate: add fellow manager (%s)\n",
+                     IPAddressToString(ipAddress, sIPAddress));
       }
     }
   } else {
     //  add to WAS remote writer(s)
     if (d->domainProp.appLocalManager) {
       GUID_RTPS guid;
-      guid.hid=d->domainProp.appLocalManager;
-      guid.aid=AID_UNKNOWN;
-      guid.oid=OID_APP;
-      if (!objectEntryFind(d,&guid)) {
-        appParams=(AppParams*)MALLOC(sizeof(AppParams));
-        AppParamsInit(appParams);
-        appParams->hostId=guid.hid;
-        appParams->appId=guid.aid;
-        appParams->metatrafficUnicastPort=port;
-        appParams->userdataUnicastPort=0;  //Manager support only metatraffic
-        appParams->unicastIPAddressList[0]=d->domainProp.appLocalManager;
-        appParams->unicastIPAddressCount=1;
-        objectEntryOID=objectEntryAdd(d,&guid,(void*)appParams);
-        CSTWriterAddRemoteReader(d,
-                                &d->writerApplicationSelf,
-                                objectEntryOID,
-                                OID_READ_MGR,
-                                objectEntryOID);
-        debug(30,2) ("ORTEDomainCreate: add manager (%s)\n",
-                      IPAddressToString(d->domainProp.appLocalManager,sIPAddress));
+      guid.hid = d->domainProp.appLocalManager;
+      guid.aid = AID_UNKNOWN;
+      guid.oid = OID_APP;
+      if (!objectEntryFind(d, &guid)) {
+       appParams = (AppParams *)MALLOC(sizeof(AppParams));
+       AppParamsInit(appParams);
+       appParams->hostId = guid.hid;
+       appParams->appId = guid.aid;
+       appParams->metatrafficUnicastPort = port;
+       appParams->userdataUnicastPort = 0;  //Manager support only metatraffic
+       appParams->unicastIPAddressList[0] = d->domainProp.appLocalManager;
+       appParams->unicastIPAddressCount = 1;
+       objectEntryOID = objectEntryAdd(d, &guid, (void *)appParams);
+       CSTWriterAddRemoteReader(d,
+                                &d->writerApplicationSelf,
+                                objectEntryOID,
+                                OID_READ_MGR,
+                                objectEntryOID);
+       debug(30, 2) ("ORTEDomainCreate: add manager (%s)\n",
+                     IPAddressToString(d->domainProp.appLocalManager, sIPAddress));
       }
     }
   }
 
   //  readerManagers
-  cstReaderParams.delayResponceTimeMin=d->domainProp.baseProp.delayResponceTimeACKMin;
-  cstReaderParams.delayResponceTimeMax=d->domainProp.baseProp.delayResponceTimeACKMax;
-  cstReaderParams.ACKMaxRetries=d->domainProp.baseProp.ACKMaxRetries;
+  cstReaderParams.delayResponceTimeMin = d->domainProp.baseProp.delayResponceTimeACKMin;
+  cstReaderParams.delayResponceTimeMax = d->domainProp.baseProp.delayResponceTimeACKMax;
+  cstReaderParams.ACKMaxRetries = d->domainProp.baseProp.ACKMaxRetries;
   if (manager) {
-    cstReaderParams.ACKMaxRetries=d->domainProp.baseProp.ACKMaxRetries;
-    cstReaderParams.repeatActiveQueryTime=iNtpTime;  //RM cann't repeatly send ACKf
+    cstReaderParams.ACKMaxRetries = d->domainProp.baseProp.ACKMaxRetries;
+    cstReaderParams.repeatActiveQueryTime = iNtpTime;  //RM cann't repeatly send ACKf
   } else {
-    cstReaderParams.repeatActiveQueryTime=d->domainProp.baseProp.repeatActiveQueryTime;
-    cstReaderParams.fullAcknowledge=ORTE_TRUE;      
+    cstReaderParams.repeatActiveQueryTime = d->domainProp.baseProp.repeatActiveQueryTime;
+    cstReaderParams.fullAcknowledge = ORTE_TRUE;
   }
-  CSTReaderInit(d,&d->readerManagers,d->objectEntryOID,
-      OID_READ_MGR,&cstReaderParams,NULL);
+  CSTReaderInit(d, &d->readerManagers, d->objectEntryOID,
+               OID_READ_MGR, &cstReaderParams, NULL);
 
   //  readerApplications
-  cstReaderParams.delayResponceTimeMin=d->domainProp.baseProp.delayResponceTimeACKMin;
-  cstReaderParams.delayResponceTimeMax=d->domainProp.baseProp.delayResponceTimeACKMax;
-  cstReaderParams.ACKMaxRetries=d->domainProp.baseProp.ACKMaxRetries;
-  cstReaderParams.repeatActiveQueryTime=d->domainProp.baseProp.repeatActiveQueryTime;
-  cstReaderParams.fullAcknowledge=ORTE_TRUE;      
-  CSTReaderInit(d,&d->readerApplications,d->objectEntryOID,
-      OID_READ_APP,&cstReaderParams,NULL);
+  cstReaderParams.delayResponceTimeMin = d->domainProp.baseProp.delayResponceTimeACKMin;
+  cstReaderParams.delayResponceTimeMax = d->domainProp.baseProp.delayResponceTimeACKMax;
+  cstReaderParams.ACKMaxRetries = d->domainProp.baseProp.ACKMaxRetries;
+  cstReaderParams.repeatActiveQueryTime = d->domainProp.baseProp.repeatActiveQueryTime;
+  cstReaderParams.fullAcknowledge = ORTE_TRUE;
+  CSTReaderInit(d, &d->readerApplications, d->objectEntryOID,
+               OID_READ_APP, &cstReaderParams, NULL);
 
   if (manager) {
     //  writerApplications
-    cstWriterParams.registrationRetries=0; 
-    NTPTIME_ZERO(cstWriterParams.registrationPeriod); 
+    cstWriterParams.registrationRetries = 0;
+    NTPTIME_ZERO(cstWriterParams.registrationPeriod);
     NTPTIME_ZERO(cstWriterParams.waitWhileDataUnderwayTime);
-    cstWriterParams.refreshPeriod=iNtpTime;  //only WAS,WM can refresh csChange(s)
-    cstWriterParams.repeatAnnounceTime=d->domainProp.baseProp.repeatAnnounceTime;
-    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime,0,20);
-    cstWriterParams.HBMaxRetries=d->domainProp.baseProp.HBMaxRetries;
-    cstWriterParams.fullAcknowledge=ORTE_FALSE;
-    CSTWriterInit(d,&d->writerApplications,d->objectEntryOID,
-        OID_WRITE_APP,&cstWriterParams,NULL);
+    cstWriterParams.refreshPeriod = iNtpTime;  //only WAS,WM can refresh csChange(s)
+    cstWriterParams.repeatAnnounceTime = d->domainProp.baseProp.repeatAnnounceTime;
+    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime, 0, 20);
+    cstWriterParams.HBMaxRetries = d->domainProp.baseProp.HBMaxRetries;
+    cstWriterParams.fullAcknowledge = ORTE_FALSE;
+    CSTWriterInit(d, &d->writerApplications, d->objectEntryOID,
+                 OID_WRITE_APP, &cstWriterParams, NULL);
 
     //  writerManagers
-    cstWriterParams.registrationRetries=0; 
-    NTPTIME_ZERO(cstWriterParams.registrationPeriod); 
+    cstWriterParams.registrationRetries = 0;
+    NTPTIME_ZERO(cstWriterParams.registrationPeriod);
     NTPTIME_ZERO(cstWriterParams.waitWhileDataUnderwayTime);
-    cstWriterParams.refreshPeriod=d->domainProp.baseProp.refreshPeriod; 
-    cstWriterParams.repeatAnnounceTime=d->domainProp.baseProp.repeatAnnounceTime;
-    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime,0,20);
-    cstWriterParams.HBMaxRetries=d->domainProp.baseProp.HBMaxRetries;
-    cstWriterParams.fullAcknowledge=ORTE_TRUE;
-    CSTWriterInit(d,&d->writerManagers,d->objectEntryOID,
-        OID_WRITE_MGR,&cstWriterParams,NULL);
+    cstWriterParams.refreshPeriod = d->domainProp.baseProp.refreshPeriod;
+    cstWriterParams.repeatAnnounceTime = d->domainProp.baseProp.repeatAnnounceTime;
+    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime, 0, 20);
+    cstWriterParams.HBMaxRetries = d->domainProp.baseProp.HBMaxRetries;
+    cstWriterParams.fullAcknowledge = ORTE_TRUE;
+    CSTWriterInit(d, &d->writerManagers, d->objectEntryOID,
+                 OID_WRITE_MGR, &cstWriterParams, NULL);
   }
 
   if (!manager) {
     //  writerPublications
-    cstWriterParams.registrationRetries=0; 
-    NTPTIME_ZERO(cstWriterParams.registrationPeriod); 
+    cstWriterParams.registrationRetries = 0;
+    NTPTIME_ZERO(cstWriterParams.registrationPeriod);
     NTPTIME_ZERO(cstWriterParams.waitWhileDataUnderwayTime);
-    cstWriterParams.refreshPeriod=d->domainProp.baseProp.refreshPeriod; 
-    cstWriterParams.repeatAnnounceTime=d->domainProp.baseProp.repeatAnnounceTime;
-    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime,0,20);
-    cstWriterParams.HBMaxRetries=d->domainProp.baseProp.HBMaxRetries;
-    cstWriterParams.fullAcknowledge=ORTE_TRUE;
-    CSTWriterInit(d,&d->writerPublications,d->objectEntryOID,
-        OID_WRITE_PUBL,&cstWriterParams,NULL);
+    cstWriterParams.refreshPeriod = d->domainProp.baseProp.refreshPeriod;
+    cstWriterParams.repeatAnnounceTime = d->domainProp.baseProp.repeatAnnounceTime;
+    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime, 0, 20);
+    cstWriterParams.HBMaxRetries = d->domainProp.baseProp.HBMaxRetries;
+    cstWriterParams.fullAcknowledge = ORTE_TRUE;
+    CSTWriterInit(d, &d->writerPublications, d->objectEntryOID,
+                 OID_WRITE_PUBL, &cstWriterParams, NULL);
     //  writerSubscriptions
-    cstWriterParams.registrationRetries=0; 
-    NTPTIME_ZERO(cstWriterParams.registrationPeriod); 
+    cstWriterParams.registrationRetries = 0;
+    NTPTIME_ZERO(cstWriterParams.registrationPeriod);
     NTPTIME_ZERO(cstWriterParams.waitWhileDataUnderwayTime);
-    cstWriterParams.refreshPeriod=d->domainProp.baseProp.refreshPeriod; 
-    cstWriterParams.repeatAnnounceTime=d->domainProp.baseProp.repeatAnnounceTime;
-    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime,0,20);
-    cstWriterParams.HBMaxRetries=d->domainProp.baseProp.HBMaxRetries;
-    cstWriterParams.fullAcknowledge=ORTE_TRUE;
-    CSTWriterInit(d,&d->writerSubscriptions,d->objectEntryOID,
-        OID_WRITE_SUBS,&cstWriterParams,NULL);
+    cstWriterParams.refreshPeriod = d->domainProp.baseProp.refreshPeriod;
+    cstWriterParams.repeatAnnounceTime = d->domainProp.baseProp.repeatAnnounceTime;
+    NtpTimeAssembFromMs(cstWriterParams.delayResponceTime, 0, 20);
+    cstWriterParams.HBMaxRetries = d->domainProp.baseProp.HBMaxRetries;
+    cstWriterParams.fullAcknowledge = ORTE_TRUE;
+    CSTWriterInit(d, &d->writerSubscriptions, d->objectEntryOID,
+                 OID_WRITE_SUBS, &cstWriterParams, NULL);
     //  readerPublications
-    cstReaderParams.delayResponceTimeMin=d->domainProp.baseProp.delayResponceTimeACKMin;
-    cstReaderParams.delayResponceTimeMax=d->domainProp.baseProp.delayResponceTimeACKMax;
-    cstReaderParams.ACKMaxRetries=d->domainProp.baseProp.ACKMaxRetries;
-    cstReaderParams.repeatActiveQueryTime=d->domainProp.baseProp.repeatActiveQueryTime;
-    cstReaderParams.fullAcknowledge=ORTE_TRUE;      
-    CSTReaderInit(d,&d->readerPublications,d->objectEntryOID,
-        OID_READ_PUBL,&cstReaderParams,NULL);
+    cstReaderParams.delayResponceTimeMin = d->domainProp.baseProp.delayResponceTimeACKMin;
+    cstReaderParams.delayResponceTimeMax = d->domainProp.baseProp.delayResponceTimeACKMax;
+    cstReaderParams.ACKMaxRetries = d->domainProp.baseProp.ACKMaxRetries;
+    cstReaderParams.repeatActiveQueryTime = d->domainProp.baseProp.repeatActiveQueryTime;
+    cstReaderParams.fullAcknowledge = ORTE_TRUE;
+    CSTReaderInit(d, &d->readerPublications, d->objectEntryOID,
+                 OID_READ_PUBL, &cstReaderParams, NULL);
     //  readerSubscriptions
-    cstReaderParams.delayResponceTimeMin=d->domainProp.baseProp.delayResponceTimeACKMin;
-    cstReaderParams.delayResponceTimeMax=d->domainProp.baseProp.delayResponceTimeACKMax;
-    cstReaderParams.ACKMaxRetries=d->domainProp.baseProp.ACKMaxRetries;
-    cstReaderParams.repeatActiveQueryTime=d->domainProp.baseProp.repeatActiveQueryTime;
-    cstReaderParams.fullAcknowledge=ORTE_TRUE;      
-    CSTReaderInit(d,&d->readerSubscriptions,d->objectEntryOID,
-        OID_READ_SUBS,&cstReaderParams,NULL);
+    cstReaderParams.delayResponceTimeMin = d->domainProp.baseProp.delayResponceTimeACKMin;
+    cstReaderParams.delayResponceTimeMax = d->domainProp.baseProp.delayResponceTimeACKMax;
+    cstReaderParams.ACKMaxRetries = d->domainProp.baseProp.ACKMaxRetries;
+    cstReaderParams.repeatActiveQueryTime = d->domainProp.baseProp.repeatActiveQueryTime;
+    cstReaderParams.fullAcknowledge = ORTE_TRUE;
+    CSTReaderInit(d, &d->readerSubscriptions, d->objectEntryOID,
+                 OID_READ_SUBS, &cstReaderParams, NULL);
   }
 
   //add csChange for WAS
-  appSelfParamChanged(d,ORTE_FALSE,ORTE_FALSE,ORTE_FALSE,ORTE_TRUE);
+  appSelfParamChanged(d, ORTE_FALSE, ORTE_FALSE, ORTE_FALSE, ORTE_TRUE);
 
-  debug(30,10) ("ORTEDomainCreate: finished\n");
+  debug(30, 10) ("ORTEDomainCreate: finished\n");
   return d;
 
-err:
-  if (!errno_save) errno_save = errno;
+//err:
+  if (!errno_save)
+    errno_save = errno;
   /* TODO */
   FREE(appParams);
 err_sock:
-  if (!errno_save) errno_save = errno;
+  if (!errno_save)
+    errno_save = errno;
   sock_cleanup(&d->taskRecvUnicastMetatraffic.sock);
   sock_cleanup(&d->taskRecvMulticastMetatraffic.sock);
   sock_cleanup(&d->taskRecvUnicastUserdata.sock);
@@ -739,9 +747,10 @@ err_sock:
   }
   CDR_codec_release_buffer(&d->taskRecvUnicastMetatraffic.mb.cdrCodec);
 err_domainProp:
-  if (!errno_save) errno_save = errno;
-  pthread_rwlock_init(&d->patternEntry.lock,NULL);
-  pthread_rwlock_init(&d->psEntry.subscriptionsLock,NULL);
+  if (!errno_save)
+    errno_save = errno;
+  pthread_rwlock_destroy(&d->patternEntry.lock);
+  pthread_rwlock_destroy(&d->psEntry.subscriptionsLock);
   pthread_rwlock_destroy(&d->psEntry.publicationsLock);
   pthread_rwlock_destroy(&d->subscriptions.lock);
   pthread_rwlock_destroy(&d->publications.lock);
@@ -755,16 +764,18 @@ err_domainProp:
 
 /*****************************************************************************/
 Boolean
-ORTEDomainDestroy(ORTEDomain *d,Boolean manager) {
+ORTEDomainDestroy(ORTEDomain *d, Boolean manager)
+{
   CSTWriter             *cstWriter;
   CSTReader             *cstReader;
 
-  debug(30,10) ("ORTEDomainDestroy: start\n");
-  if (!d) return ORTE_FALSE;
+  debug(30, 10) ("ORTEDomainDestroy: start\n");
+  if (!d)
+    return ORTE_FALSE;
 
   pthread_rwlock_wrlock(&d->objectEntry.objRootLock);
   pthread_rwlock_wrlock(&d->objectEntry.htimRootLock);
-  appSelfParamChanged(d,ORTE_TRUE,ORTE_TRUE,ORTE_FALSE,ORTE_FALSE);    
+  appSelfParamChanged(d, ORTE_TRUE, ORTE_TRUE, ORTE_FALSE, ORTE_FALSE);
   pthread_rwlock_unlock(&d->objectEntry.htimRootLock);
   pthread_rwlock_unlock(&d->objectEntry.objRootLock);
 
@@ -774,34 +785,34 @@ ORTEDomainDestroy(ORTEDomain *d,Boolean manager) {
   ORTEDomainRecvThreadStop(&d->taskRecvUnicastUserdata);
   ORTEDomainRecvThreadStop(&d->taskRecvMulticastUserdata);
   ORTEDomainSendThreadStop(&d->taskSend);
-  debug(30,3) ("ORTEDomainDestroy: threads stoped\n");
-  
+  debug(30, 3) ("ORTEDomainDestroy: threads stoped\n");
+
   //CSTReaders and CSTWriters
-  CSTWriterDelete(d,&d->writerApplicationSelf);
-  CSTReaderDelete(d,&d->readerManagers);
-  CSTReaderDelete(d,&d->readerApplications);
+  CSTWriterDelete(d, &d->writerApplicationSelf);
+  CSTReaderDelete(d, &d->readerManagers);
+  CSTReaderDelete(d, &d->readerApplications);
   if (manager) {
-    CSTWriterDelete(d,&d->writerManagers);
-    CSTWriterDelete(d,&d->writerApplications);
-  } else { 
-    CSTWriterDelete(d,&d->writerPublications);
-    CSTWriterDelete(d,&d->writerSubscriptions);
-    CSTReaderDelete(d,&d->readerPublications);
-    CSTReaderDelete(d,&d->readerSubscriptions);
+    CSTWriterDelete(d, &d->writerManagers);
+    CSTWriterDelete(d, &d->writerApplications);
+  } else {
+    CSTWriterDelete(d, &d->writerPublications);
+    CSTWriterDelete(d, &d->writerSubscriptions);
+    CSTReaderDelete(d, &d->readerPublications);
+    CSTReaderDelete(d, &d->readerSubscriptions);
 
     while ((cstWriter = CSTWriter_cut_first(&d->publications))) {
-      CSTWriterDelete(d,cstWriter);
+      CSTWriterDelete(d, cstWriter);
       FREE(cstWriter);
-    }  
+    }
     while ((cstReader = CSTReader_cut_first(&d->subscriptions))) {
-      CSTReaderDelete(d,cstReader);
+      CSTReaderDelete(d, cstReader);
       FREE(cstReader);
     }
-  }  
-    
+  }
+
   //objects in objectsEntry
-  objectEntryDeleteAll(d,&d->objectEntry);
-  debug(30,3) ("ORTEDomainDestroy: deleted all objects\n");
+  objectEntryDeleteAll(d, &d->objectEntry);
+  debug(30, 3) ("ORTEDomainDestroy: deleted all objects\n");
 
   //Sockets
   sock_cleanup(&d->taskRecvUnicastMetatraffic.sock);
@@ -825,22 +836,22 @@ ORTEDomainDestroy(ORTEDomain *d,Boolean manager) {
 
   //TypeRegister
   ORTETypeRegisterDestroyAll(d);
-  
+
   //Pattern
   ORTEDomainAppSubscriptionPatternDestroy(d);
   pthread_rwlock_destroy(&d->patternEntry.lock);
-  
-  //Release buffers  
+
+  //Release buffers
   CDR_codec_release_buffer(&d->taskRecvUnicastMetatraffic.mb.cdrCodec);
   CDR_codec_release_buffer(&d->taskRecvMulticastMetatraffic.mb.cdrCodec);
   CDR_codec_release_buffer(&d->taskRecvUnicastUserdata.mb.cdrCodec);
   CDR_codec_release_buffer(&d->taskRecvMulticastUserdata.mb.cdrCodec);
   CDR_codec_release_buffer(&d->taskSend.mb.cdrCodec);
-  
+
   //Free domain instance
   FREE(d);
-  
-  debug(30,10) ("ORTEDomainDestroy: finished\n");
-  
+
+  debug(30, 10) ("ORTEDomainDestroy: finished\n");
+
   return ORTE_TRUE;
 }