MCPcopy Create free account
hub / github.com/EIPStackGroup/OpENer / GetNextNonControlMasterConnection

Function GetNextNonControlMasterConnection

source/src/cip/appcontype.c:363–392  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

361}
362
363CipConnectionObject *GetNextNonControlMasterConnection(
364 const EipUint32 input_point) {
365 DoublyLinkedListNode *node = connection_list.first;
366
367 while (NULL != node) {
368 CipConnectionObject *next_non_control_master_connection =
369 node->data;
370 if ( true ==
371 ConnectionObjectIsTypeNonLOIOConnection(
372 next_non_control_master_connection)
373 && kConnectionObjectStateEstablished ==
374 ConnectionObjectGetState(next_non_control_master_connection)
375 && input_point ==
376 next_non_control_master_connection->produced_path.instance_id
377 && kConnectionObjectConnectionTypeMulticast ==
378 ConnectionObjectGetTToOConnectionType(
379 next_non_control_master_connection)
380 && (kEipInvalidSocket ==
381 next_non_control_master_connection->socket[
382 kUdpCommuncationDirectionProducing
383 ]) ) {
384 /* we have a connection that produces the same input assembly,
385 * is a multicast producer and does not manage the connection.
386 */
387 return next_non_control_master_connection;
388 }
389 node = node->next;
390 }
391 return NULL;
392}
393
394void CloseAllConnectionsForInputWithSameType(const EipUint32 input_point,
395 const ConnectionObjectInstanceType instance_type)

Callers 2

CloseIoConnectionFunction · 0.85

Tested by

no test coverage detected