case forb_iop_HELLO:
break;
default:
+ ul_logerr("rcvd wrong message type: %d\n",
+ mh->message_type);
return false;
}
codec->data_endian = (mh->flags && forb_iop_LITTLE_ENDIAN) ?
return true;
break;
default:
+ ul_logerr("rcvd wrong protocol versio: %d.%d\n",
+ mh->proto_version.major, mh->proto_version.minor);
return false;
}
}
ul_logerr("Header doesn't start at 8 byte bounday\n");
}
header_received = forb_iop_process_message_header(&mh, c);
+ if (!header_received) {
+ ul_logerr("Wrong header received\n");
+ /* TODO: We should probably reset the buffer here */
+ }
len = FORB_CDR_data_size(c);
} else {
break; /* Wait for more data to arrive*/
}
sent = 0;
- ul_logdeb("send fd=%d\n", ipeer->socket);
+ ul_logdeb("send fd=%d len=%d\n", ipeer->socket, len);
do {
ret = send(ipeer->socket, buf, len, 0);
if (ret < 0) {
return -1;
if (ev.data.fd == iport->listen_socket) {
ret = inet_accept_connection(port);
- if (ret)
+ if (ret) {
+ ul_logerr("inet_accept_connection error: %s\n", strerror(errno));
return -1;
- else
+ } else
continue;
} else {
iport->last_recv_fd = ev.data.fd;
forb_peer_put(peer);
port->new_peer = NULL;
}
- if (errno == EAGAIN) {
- iport->last_recv_fd = -1;
- continue;
+ if (errno != EAGAIN) {
+ ul_logerr("recv fd=%d error: %s\n", iport->last_recv_fd, strerror(errno));
}
+ iport->last_recv_fd = -1;
+ continue;
}
if (ret == 0) {
if (exported_new_peer) {
forb_peer_put(peer);
port->new_peer = NULL;
}
+ ul_logdeb("recv fd=%d disconnect\n", iport->last_recv_fd);
close(iport->last_recv_fd);
/* TODO: Notify FORB about peer disconnect */
iport->last_recv_fd = -1;
continue;
}
+ ul_logdeb("recv fd=%d len=%d\n", iport->last_recv_fd, ret);
return ret;
}
#else