diff --git a/server/include/node.h b/server/include/node.h index f2cf396c2..bfa0d5774 100644 --- a/server/include/node.h +++ b/server/include/node.h @@ -21,6 +21,12 @@ #include "msg.h" #include "tc.h" +/** Static node initialization */ +#define NODE_INIT(n) { \ + .sd = -1, \ + .name = n \ +} + /** The datastructure for a node. * * Every entity which exchanges messages is represented by a node. diff --git a/server/src/random.c b/server/src/random.c index 4b2d4799e..0f882d03d 100644 --- a/server/src/random.c +++ b/server/src/random.c @@ -41,11 +41,7 @@ int main(int argc, char *argv[]) } int rate = atoi(argv[2]); - struct msg msg = { - .length = atoi(argv[1]), - .sequence = 0, - .data = { 0 } - }; + struct msg m = MSG_INIT(atoi(argv[1])); /* Setup signals */ struct sigaction sa_tick = { @@ -61,7 +57,7 @@ int main(int argc, char *argv[]) struct sigevent sev = { .sigev_notify = SIGEV_SIGNAL, .sigev_signo = SIG, - .sigev_value.sival_ptr = &msg + .sigev_value.sival_ptr = &m }; double period = 1.0 / rate; diff --git a/server/src/receive.c b/server/src/receive.c index 4ad9ee548..7001f5444 100644 --- a/server/src/receive.c +++ b/server/src/receive.c @@ -31,11 +31,6 @@ void quit(int sig, siginfo_t *si, void *ptr) int main(int argc, char *argv[]) { - struct node n = { - .name ="node" - }; - struct msg m; - if (argc != 2) { printf("Usage: %s LOCAL\n", argv[0]); printf(" LOCAL is a IP:PORT combination of the local host\n\n"); @@ -44,6 +39,9 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + struct node n = NODE_INIT("remote"); + struct msg m; + /* Setup signals */ struct sigaction sa_quit = { .sa_flags = SA_SIGINFO, diff --git a/server/src/send.c b/server/src/send.c index f33351460..110e4bc29 100644 --- a/server/src/send.c +++ b/server/src/send.c @@ -41,14 +41,8 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } - struct node n = { - .name = "node" - }; - struct msg m = { - .version = MSG_VERSION, - .type = MSG_TYPE_DATA, - .length = atoi(argv[1]) - }; + struct node n = NODE_INIT("remote"); + struct msg m = MSG_INIT(atoi(argv[1])); /* Setup signals */ struct sigaction sa_quit = { diff --git a/server/src/test.c b/server/src/test.c index 9036367b5..b73764e22 100644 --- a/server/src/test.c +++ b/server/src/test.c @@ -28,10 +28,6 @@ void quit(int sig, siginfo_t *si, void *ptr) int main(int argc, char *argv[]) { - struct node n; - - memset(&n, 0, sizeof(struct node)); - if (argc != 4) { printf("Usage: %s TEST LOCAL REMOTE\n", argv[0]); printf(" TEST has to be 'latency' for now\n"); @@ -42,6 +38,8 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + struct node n = NODE_INIT("remote"); + /* Setup signals */ struct sigaction sa_quit = { .sa_flags = SA_SIGINFO, @@ -65,9 +63,7 @@ int main(int argc, char *argv[]) debug(1, "We sent to %s:%u", inet_ntoa(n.remote.sin_addr), ntohs(n.remote.sin_port)); if (!strcmp(argv[1], "latency")) { - struct msg m = { - .sequence = 0 - }; + struct msg m = MSG_INIT(sizeof(struct timespec) / sizeof(float)); struct timespec *ts1 = (struct timespec *) &m.data; struct timespec *ts2 = malloc(sizeof(struct timespec));