Browse Source

cmRtNet.c: More changes to cmRtNetTest().

master
kpl 11 years ago
parent
commit
81b753e2ad
1 changed files with 18 additions and 8 deletions
  1. 18
    8
      cmRtNet.c

+ 18
- 8
cmRtNet.c View File

@@ -11,7 +11,7 @@
11 11
 
12 12
 enum
13 13
 {
14
-  kLocalNetFl = 0x01,
14
+  kLocalNetFl    = 0x01,
15 15
   kSockAddrNetFl = 0x02
16 16
 };
17 17
 
@@ -191,6 +191,7 @@ cmRtNetRC_t  _cmRtNetReleaseNode( cmRtNet_t* p, cmRtNetNode_t* np )
191 191
 
192 192
 cmRtNetRC_t _cmRtNetCreateNode( cmRtNet_t* p, const cmChar_t* label, const cmChar_t* addr, cmUdpPort_t port, const struct sockaddr_in* saddr )
193 193
 {
194
+  cmRtNetRC_t rc = kOkNetRC;
194 195
   cmRtNetNode_t* np;
195 196
 
196 197
   if( label == NULL )
@@ -216,12 +217,20 @@ cmRtNetRC_t _cmRtNetCreateNode( cmRtNet_t* p, const cmChar_t* label, const cmCha
216 217
     p->localNode = np;
217 218
 
218 219
   if( saddr != NULL )
219
-  {
220 220
     np->sockaddr = *saddr;
221
-    np->flags = cmSetFlag(np->flags,kSockAddrNetFl);
221
+  else
222
+  {
223
+    if( cmUdpInitAddr(p->udpH, np->addr, np->port, &np->sockaddr ) != kOkUdpRC )
224
+    {
225
+      rc = cmErrMsg(&p->err,kUdpPortFailNetRC,"IP::port to socket address conversion failed.");
226
+      goto errLabel;
227
+    }
222 228
   }
223 229
 
224
-  return kOkNetRC;
230
+  np->flags = cmSetFlag(np->flags,kSockAddrNetFl);
231
+
232
+ errLabel:
233
+  return rc;
225 234
 }
226 235
 
227 236
 cmRtNetEnd_t* _cmRtNetFindNodeEnd(cmRtNetNode_t* np, const cmChar_t* endPtLabel )
@@ -296,6 +305,7 @@ cmRtNetRC_t _cmRtNetSendSyncMsg( cmRtNet_t* p, cmRtNetNode_t* np, cmRtNetSelId_t
296 305
 {
297 306
   cmRtNetSyncMsg_t m;
298 307
   cmRtNetRC_t      rc = kOkNetRC;
308
+  cmUdpRC_t        udpRC = kOkUdpRC;
299 309
 
300 310
   m.hdr.rtSubIdx = cmInvalidIdx;
301 311
   m.hdr.selId    = kNetSyncSelRtId;
@@ -315,12 +325,12 @@ cmRtNetRC_t _cmRtNetSendSyncMsg( cmRtNet_t* p, cmRtNetNode_t* np, cmRtNetSelId_t
315 325
   cmRtNetNodeState_t orgState = np->state;
316 326
   np->state = nextStId;
317 327
 
328
+  
318 329
   // send the msg
319
-  cmUdpRC_t udpRC;
320
-  if( cmIsFlag(np->flags,kSockAddrNetFl) )
321
-    udpRC = cmUdpSendTo(p->udpH, buf, n, &np->sockaddr );
322
-  else
330
+  if( cmIsFlag(np->flags,kSockAddrNetFl) == false )
323 331
     udpRC = cmUdpSend2(p->udpH, buf, n, np->addr, np->port );
332
+  else
333
+    udpRC = cmUdpSendTo(p->udpH, buf, n, &np->sockaddr );
324 334
 
325 335
   // check for send errors
326 336
   if( udpRC != kOkUdpRC )

Loading…
Cancel
Save