test-socket-signal: fix data size macros/usage
authorRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Tue, 19 Oct 2010 11:53:14 +0000 (14:53 +0300)
committerRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Tue, 19 Oct 2010 12:00:25 +0000 (15:00 +0300)
Utils/test-socket-signal/client.c
Utils/test-socket-signal/server.c

index 6cfe726..7b7e45a 100644 (file)
 #define DEFAULT_SERVER_LISTEN_PORT     43210
 #define DEFAULT_SERVER_HOST            "localhost"
 
-#define DATA_SIZE                      120
+#define PACKET_PAYLOAD_SIZE            120
 #define PACKET_INDEX_SIZE              sizeof(unsigned long long)
 #define PACKET_TIMESPEC_SIZE           sizeof(time_t)
+#define PACKET_SIZE            (PACKET_PAYLOAD_SIZE + PACKET_INDEX_SIZE + PACKET_TIMESPEC_SIZE)
 
 #define TIMER_FREQUENCY_SECS           1
 #define CLOCKID                                CLOCK_REALTIME
 #define SIG                            SIGRTMIN
 
-static char data[DATA_SIZE + PACKET_INDEX_SIZE + PACKET_TIMESPEC_SIZE];
+static char data[PACKET_SIZE];
 
 /* connection socket */
 static int connectfd;
@@ -37,7 +38,7 @@ static void init_buffer(void)
 
        srand(time(NULL));
 
-       for (i = 0; i < DATA_SIZE-1; i++)
+       for (i = 0; i < PACKET_PAYLOAD_SIZE-2; i++)
                data[i] = (char) (rand() % 26) + 'a';
        data[i] = '\0';
 }
@@ -55,17 +56,18 @@ static void fill_buffer(void)
 
        curr_time_secs = time(NULL);
 
-       ptr = data + DATA_SIZE;
+       ptr = data + PACKET_PAYLOAD_SIZE;
        * (unsigned long long *) ptr = index;
        ptr += PACKET_INDEX_SIZE;
        * (time_t *) ptr = curr_time_secs;
 
        index++;
+       printf("curr_time_secs: %lu, index: %llu\n", curr_time_secs, index);
 }
 
 static ssize_t send_buffer(int sockfd)
 {
-       return send(sockfd, data, DATA_SIZE, 0);
+       return send(sockfd, data, PACKET_SIZE, 0);
 }
 
 static void timer_handler(int sig, siginfo_t *si, void *uc)
@@ -94,7 +96,6 @@ static void schedule_timer(void)
        DIE(rc < 0, "sigaction");
 
        /* Block timer signal temporarily */
-       printf("Blocking signal %d\n", SIG);
        sigemptyset(&mask);
        sigaddset(&mask, SIG);
        rc = sigprocmask(SIG_SETMASK, &mask, NULL);
@@ -137,8 +138,6 @@ int main(void)
                sigsuspend(&mask);
        }
 
-       printf("\n--- data sent!\n");
-
        close(connectfd);
 
        return 0;
index 7c8bda7..b2cd28f 100644 (file)
 #define DEFAULT_SERVER_LISTEN_PORT     43210
 #define SERVER_BACKLOG                 5
 
-#define DATA_SIZE                      120
+#define PACKET_PAYLOAD_SIZE            120
 #define PACKET_INDEX_SIZE              sizeof(unsigned long long)
 #define PACKET_TIMESPEC_SIZE           sizeof(time_t)
+#define PACKET_SIZE            (PACKET_PAYLOAD_SIZE + PACKET_INDEX_SIZE + PACKET_TIMESPEC_SIZE)
 
-
-static char data[DATA_SIZE];
+static char data[PACKET_SIZE];
 
 static ssize_t receive_buffer(int sockfd)
 {
-       return recv(sockfd, data, DATA_SIZE, 0);
+       return recv(sockfd, data, PACKET_SIZE, 0);
 }
 
 static void print_buffer(void)
@@ -45,11 +45,14 @@ static void print_buffer_meta(void)
 
        curr_time_secs = time(NULL);
 
-       ptr = data + DATA_SIZE;
+       ptr = data + PACKET_PAYLOAD_SIZE;
        index = * (unsigned long long *) ptr;
        ptr += PACKET_INDEX_SIZE;
        sender_time_secs = * (time_t *) ptr;
 
+       printf("curr_time_secs: %lu, sender_time_secs: %lu\n",
+                       curr_time_secs, sender_time_secs);
+
        printf("received packet index %llu, ", index);
        if (sender_time_secs > curr_time_secs)
                printf("negative latency (weird)\n");