Integrate changes on tests
[swifty.git] / test / server.c
index 32b9be6..8d62f0b 100644 (file)
@@ -7,9 +7,13 @@
 #include <netinet/in.h>
 #include <stdlib.h>
 
+#define ADDR 0x8182A8C0
+#define NUM_BUF 10
+
 int main(int argc, const char *argv[])
 {
     int sock;
+       int i;
 
     if (argc != 2) {
         fprintf(stderr, "USAGE: %s listening_port\n", argv[0]);
@@ -36,25 +40,30 @@ int main(int argc, const char *argv[])
         return -1;
     }
 
-    char buf[256];
-    struct iovec iov[1];
+    char buf[NUM_BUF][10240];
+    struct iovec iov[NUM_BUF];
     struct msghdr msg;
+       size += (NUM_BUF - 1) * sizeof(struct swift_dest);
     struct sockaddr_swift *from = malloc(size);
 
     memset(&msg, 0, sizeof(msg));
     memset(&iov, 0, sizeof(iov));
     memset(from, 0, size);
 
-    iov[0].iov_base = buf;
-    iov[0].iov_len = sizeof(buf);
+       for (i = 0; i < NUM_BUF; i++) {
+               iov[i].iov_base = buf[i];
+               iov[i].iov_len = sizeof(buf[i]);
+       }
 
     msg.msg_iov = iov;
-    msg.msg_iovlen = 1;
+    msg.msg_iovlen = 10;
     msg.msg_name = from;
     msg.msg_namelen = size;
 
     int ret, fromlen;
 
+       sleep(20);
+
     ret = recvmsg(sock, &msg, 0);
     if (ret < 0) {
         perror("Failed to recv on socket");
@@ -62,7 +71,9 @@ int main(int argc, const char *argv[])
     }
 
     printf("Received %d bytes on socket\n", ret);
-    printf("buf=%s\n", buf);
+       for (i = 0; i < from->count; i++) {
+               printf("buf=%s from %s:%d\n", buf[i], inet_ntoa(from->dests[i].addr), from->dests[i].port);
+       }
 
     if (close(sock) < 0) {
         perror("Failed to close socket");