]> rtime.felk.cvut.cz Git - frescor/forb.git/commitdiff
Added more debugging messages to protocols
authorMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 27 May 2009 17:03:12 +0000 (19:03 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 27 May 2009 20:30:16 +0000 (22:30 +0200)
src/iop.c
src/proto_inet.c

index f743a17baaa79bf6718f878229acca0a565f6283..7b90c50c1cbb0fbb2155cb5e17ff3a491f734dc0 100644 (file)
--- a/src/iop.c
+++ b/src/iop.c
@@ -149,6 +149,8 @@ forb_iop_process_message_header(forb_iop_message_header *mh, FORB_CDR_Codec *cod
                                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) ?
@@ -157,6 +159,8 @@ forb_iop_process_message_header(forb_iop_message_header *mh, FORB_CDR_Codec *cod
                        return true;
                        break;                  
                default:
+                       ul_logerr("rcvd wrong protocol versio: %d.%d\n",
+                                 mh->proto_version.major, mh->proto_version.minor);
                        return false;
        }
 }
@@ -536,6 +540,10 @@ void *forb_iop_receiver_thread(void *arg)
                                                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*/
index 771e371c3c172c0147890350e117023765e8a27d..a77da0ce1add7f72f3577a21c55e1357133402ea 100644 (file)
@@ -213,7 +213,7 @@ inet_send(forb_peer_t *peer, const void *buf, size_t len)
        }
 
        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) {
@@ -317,9 +317,10 @@ inet_recv(forb_port_t *port, void *buf, size_t len)
                                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;
@@ -349,21 +350,24 @@ inet_recv(forb_port_t *port, void *buf, size_t len)
                                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