*/
switch(err) {
- case -1: /* on error */
+ case KNET_TRANSPORT_RX_ERROR: /* on error */
log_debug(knet_h, KNET_SUB_RX, "Transport reported error parsing packet");
goto exit_unlock;
break;
- case 0: /* packet is not data and we should continue the packet process loop */
+ case KNET_TRANSPORT_RX_NOT_DATA_CONTINUE: /* packet is not data and we should continue the packet process loop */
log_debug(knet_h, KNET_SUB_RX, "Transport reported no data, continue");
break;
- case 1: /* packet is not data and we should STOP the packet process loop */
+ case KNET_TRANSPORT_RX_NOT_DATA_STOP: /* packet is not data and we should STOP the packet process loop */
log_debug(knet_h, KNET_SUB_RX, "Transport reported no data, stop");
goto exit_unlock;
break;
- case 2: /* packet is data and should be parsed as such */
+ case KNET_TRANSPORT_RX_IS_DATA: /* packet is data and should be parsed as such */
/*
* processing incoming packets vs access lists
*/
}
_parse_recv_from_links(knet_h, sockfd, &msg[i]);
break;
+ case KNET_TRANSPORT_RX_OOB_DATA_CONTINUE:
+ log_debug(knet_h, KNET_SUB_RX, "Transport is processing sock OOB data, continue");
+ break;
+ case KNET_TRANSPORT_RX_OOB_DATA_STOP:
+ log_debug(knet_h, KNET_SUB_RX, "Transport has completed processing sock OOB data, stop");
+ goto exit_unlock;
+ break;
}
}
#include "common.h"
#include "transport_common.h"
#include "transport_udp.h"
+#include "transports.h"
#include "threads_common.h"
typedef struct udp_handle_info {
int udp_transport_rx_is_data(knet_handle_t knet_h, int sockfd, struct knet_mmsghdr *msg)
{
if (msg->msg_len == 0)
- return 0;
+ return KNET_TRANSPORT_RX_NOT_DATA_CONTINUE;
- return 2;
+ return KNET_TRANSPORT_RX_IS_DATA;
}
int udp_transport_link_dyn_connect(knet_handle_t knet_h, int sockfd, struct knet_link *kn_link)
#ifndef __KNET_TRANSPORTS_H__
#define __KNET_TRANSPORTS_H__
+#define KNET_TRANSPORT_RX_ERROR -1
+#define KNET_TRANSPORT_RX_NOT_DATA_CONTINUE 0
+#define KNET_TRANSPORT_RX_NOT_DATA_STOP 1
+#define KNET_TRANSPORT_RX_IS_DATA 2
+#define KNET_TRANSPORT_RX_OOB_DATA_CONTINUE 3
+#define KNET_TRANSPORT_RX_OOB_DATA_STOP 4
+
int start_all_transports(knet_handle_t knet_h);
void stop_all_transports(knet_handle_t knet_h);