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

Function HandleReceivedListIdentityCommandUdp

source/src/enet_encap/encap.c:404–432  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

402}
403
404void HandleReceivedListIdentityCommandUdp(const int socket,
405 const struct sockaddr_in *const from_address,
406 const EncapsulationData *const receive_data,
407 ENIPMessage *const outgoing_message) {
408 DelayedEncapsulationMessage *delayed_message_buffer = NULL;
409 ENIPMessage* p_outgoing_message = NULL;
410
411 for (size_t i = 0; i < ENCAP_NUMBER_OF_SUPPORTED_DELAYED_ENCAP_MESSAGES;
412 i++) {
413 if (kEipInvalidSocket == g_delayed_encapsulation_messages[i].socket) {
414 delayed_message_buffer = &(g_delayed_encapsulation_messages[i]);
415
416 p_outgoing_message = &(delayed_message_buffer->outgoing_message);
417 InitializeENIPMessage(p_outgoing_message);
418 break;
419 }
420 }
421
422 if (NULL != delayed_message_buffer) {
423 delayed_message_buffer->socket = socket;
424 memcpy( (&delayed_message_buffer->receiver), from_address,
425 sizeof(struct sockaddr_in) );
426
427 DetermineDelayTime(receive_data->communication_buffer_start,
428 delayed_message_buffer);
429
430 EncapsulateListIdentityResponseMessage(receive_data, p_outgoing_message);
431 }
432}
433
434void EncapsulateListIdentityResponseMessage(
435 const EncapsulationData *const receive_data,

Callers 1

Calls 3

InitializeENIPMessageFunction · 0.85
DetermineDelayTimeFunction · 0.85

Tested by

no test coverage detected