Changeset 5113:1bf3bca6cb51 in roaraudio


Ignore:
Timestamp:
08/01/11 00:42:17 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added roar_socket_set_tos()

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/socket.h

    r5109 r5113  
    7676int roar_socket_decnet_set_timeout (int fh, time_t sec, int usec); 
    7777int roar_socket_recvbuf(int fh, int len); 
     78int roar_socket_set_tos(int fh); 
    7879 
    7980int roar_socket_dup_udp_local_end (int fh); 
  • libroar/socket.c

    r5109 r5113  
    5757#ifdef ROAR_HAVE_IPV4 
    5858 int fh; 
    59 #ifndef ROAR_TARGET_WIN32 
    60  int opt = IPTOS_LOWDELAY; 
    61 #endif 
    6259#if defined(TCP_NODELAY) && !defined(ROAR_TARGET_WIN32) 
    6360 int t   = 1; 
     
    6865 fh = socket(AF_INET, SOCK_STREAM, 0); 
    6966 
    70 #ifndef ROAR_TARGET_WIN32 
    71  setsockopt(fh, IPPROTO_IP, IP_TOS, &opt, sizeof(int)); 
    72 #endif 
     67 roar_socket_set_tos(fh); 
    7368#if defined(TCP_NODELAY) && !defined(ROAR_TARGET_WIN32) 
    7469 setsockopt(fh, IPPROTO_TCP, TCP_NODELAY, &t, sizeof(int)); 
     
    8479#ifdef ROAR_HAVE_IPV4 
    8580 int fh; 
    86 #ifndef ROAR_TARGET_WIN32 
    87  int opt = IPTOS_LOWDELAY; 
    88 #endif 
    8981 
    9082 roar_socket_win32_init(); 
     
    9284 fh = socket(AF_INET, SOCK_DGRAM, 0); 
    9385 
    94 #ifndef ROAR_TARGET_WIN32 
    95  setsockopt(fh, IPPROTO_IP, IP_TOS, &opt, sizeof(int)); 
    96 #endif 
     86 roar_socket_set_tos(fh); 
    9787 
    9888 return fh; 
     
    10595#ifdef ROAR_HAVE_IPV6 
    10696 int fh; 
    107  int opt = IPTOS_LOWDELAY; 
    10897 
    10998 roar_socket_win32_init(); 
     
    111100 fh = socket(AF_INET6, SOCK_STREAM, 0); 
    112101 
    113  setsockopt(fh, IPPROTO_IP, IP_TOS, &opt, sizeof(int)); 
     102 roar_socket_set_tos(fh); 
    114103 
    115104 return fh; 
     
    122111#ifdef ROAR_HAVE_IPV6 
    123112 int fh; 
    124  int opt = IPTOS_LOWDELAY; 
    125113 
    126114 roar_socket_win32_init(); 
     
    128116 fh = socket(AF_INET6, SOCK_DGRAM, 0); 
    129117 
    130  setsockopt(fh, IPPROTO_IP, IP_TOS, &opt, sizeof(int)); 
     118 roar_socket_set_tos(fh); 
    131119 
    132120 return fh; 
     
    174162 
    175163 return setsockopt(fh, SOL_SOCKET, SO_RCVBUF, (void *)&len, sizeof(len)); 
     164#else 
     165 return -1; 
     166#endif 
     167} 
     168 
     169int roar_socket_set_tos(int fh) { 
     170#ifndef ROAR_TARGET_WIN32 
     171 int opt = IPTOS_LOWDELAY; 
     172 int ret; 
     173 
     174 roar_err_clear_errno(); 
     175 ret = setsockopt(fh, IPPROTO_IP, IP_TOS, &opt, sizeof(int)); 
     176 if ( ret < 0 ) 
     177  roar_err_from_errno(); 
     178 
     179 return ret; 
    176180#else 
    177181 return -1; 
Note: See TracChangeset for help on using the changeset viewer.