]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
setsockopt to prioritize the newtwork packets
authorDavide Gerhard <rainbow@irh.it>
Mon, 8 Feb 2021 07:09:11 +0000 (08:09 +0100)
committerDavide Gerhard <rainbow@irh.it>
Mon, 8 Feb 2021 07:50:10 +0000 (08:50 +0100)
new_protocol.c
old_protocol.c

index 64cabfe29be8ced9b49b2464ff99f983a3e391b5..55695e8c15443dbfb62a85b64c63abb3ebf6b0b1 100644 (file)
@@ -594,6 +594,17 @@ void new_protocol_init(int pixels) {
     int optval = 1;
     setsockopt(data_socket, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval));
     setsockopt(data_socket, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval));
+#ifdef __APPLE__
+    optval = 0x10;  // IPTOS_LOWDELAY
+    if(setsockopt(data_socket, IPPROTO_IP, IP_TOS, &optval, sizeof(optval))<0) {
+      perror("data_socket: SO_PRIORITY");
+    }
+#else
+    optval = 6;
+    if(setsockopt(data_socket, SOL_SOCKET, SO_PRIORITY, &optval, sizeof(optval))<0) {
+      perror("data_socket: SO_PRIORITY");
+    }
+#endif
 
     // bind to the interface
     if(bind(data_socket,(struct sockaddr*)&radio->info.network.interface_address,radio->info.network.interface_length)<0) {
index ee1cc0f865c454da926216fcaff180467a7d7c2f..99f0a3c0331b8d77b9a65a53fe1562d6c0c8af1b 100644 (file)
@@ -439,6 +439,17 @@ static void open_udp_socket() {
     if (setsockopt(tmp, SOL_SOCKET, SO_RCVBUF, &optval, sizeof(optval))<0) {
       perror("data_socket: SO_RCVBUF");
     }
+#ifdef __APPLE__
+    optval = 0x10;  // IPTOS_LOWDELAY
+    if(setsockopt(tmp, IPPROTO_IP, IP_TOS, &optval, sizeof(optval))<0) {
+      perror("data_socket: SO_PRIORITY");
+    }
+#else
+    optval = 6;
+    if(setsockopt(tmp, SOL_SOCKET, SO_PRIORITY, &optval, sizeof(optval))<0) {
+      perror("data_socket: SO_PRIORITY");
+    }
+#endif
 
     //
     // set a timeout for receive
@@ -502,6 +513,17 @@ static void open_tcp_socket() {
     if (setsockopt(tmp, SOL_SOCKET, SO_RCVBUF, &optval, sizeof(optval))<0) {
       perror("tcp_socket: SO_RCVBUF");
     }
+#ifdef __APPLE__
+    optval = 0x10;  // IPTOS_LOWDELAY
+    if(setsockopt(tmp, IPPROTO_IP, IP_TOS, &optval, sizeof(optval))<0) {
+      perror("data_socket: SO_PRIORITY");
+    }
+#else
+    optval = 6;
+    if(setsockopt(tmp, SOL_SOCKET, SO_PRIORITY, &optval, sizeof(optval))<0) {
+      perror("data_socket: SO_PRIORITY");
+    }
+#endif
     tcp_socket=tmp;
     g_print("TCP socket established: %d\n", tcp_socket);
 }