Changeset 5445


Ignore:
Timestamp:
Oct 5, 2016 9:52:39 AM (3 years ago)
Author:
riza
Message:

Re #1964: Implement QoS for darwin OS which supports SO_NET_SERVICE_TYPE.

Location:
pjproject/trunk
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/aconfigure

    r5431 r5445  
    58255825                ;; 
    58265826        esac 
     5827        # QoS 
     5828        case $target in 
     5829          *darwin*) 
     5830                ;; 
     5831          *) 
     5832                ac_os_objs="$ac_os_objs sock_qos_bsd.o" 
     5833                ;; 
     5834        esac 
    58275835        # UUID 
    58285836        case $target in 
     
    58435851case $target in 
    58445852  *darwin*) 
    5845         ac_os_objs="$ac_os_objs os_core_darwin.o" 
     5853        ac_os_objs="$ac_os_objs sock_qos_darwin.o os_core_darwin.o" 
    58465854        ;; 
    58475855esac 
  • pjproject/trunk/aconfigure.ac

    r5431 r5445  
    463463                ;; 
    464464        esac 
     465        # QoS 
     466        case $target in 
     467          *darwin*) 
     468                ;; 
     469          *) 
     470                ac_os_objs="$ac_os_objs sock_qos_bsd.o" 
     471                ;; 
     472        esac 
    465473        # UUID 
    466474        case $target in 
     
    481489case $target in 
    482490  *darwin*) 
    483         ac_os_objs="$ac_os_objs os_core_darwin.o" 
     491        ac_os_objs="$ac_os_objs sock_qos_darwin.o os_core_darwin.o" 
    484492        ;; 
    485493esac 
  • pjproject/trunk/pjlib/build/Makefile

    r4727 r5445  
    3535        guid.o hash.o ip_helper_generic.o list.o lock.o log.o os_time_common.o \ 
    3636        os_info.o pool.o pool_buf.o pool_caching.o pool_dbg.o rand.o \ 
    37         rbtree.o sock_common.o sock_qos_common.o sock_qos_bsd.o \ 
     37        rbtree.o sock_common.o sock_qos_common.o \ 
    3838        ssl_sock_common.o ssl_sock_ossl.o ssl_sock_dump.o \ 
    3939        string.o timer.o types.o 
  • pjproject/trunk/pjlib/build/os-darwinos.mak

    r4656 r5445  
    1919export PJLIB_OBJS += file_access_unistd.o file_io_ansi.o 
    2020 
     21export PJLIB_OBJS += sock_qos_darwin.o 
     22 
    2123# 
    2224# TEST_OBJS are operating system specific object files to be included in 
  • pjproject/trunk/pjlib/build/os-linux-kernel.mak

    r4656 r5445  
    2121export PJLIB_OBJS +=    ioqueue_epoll.o  
    2222#export PJLIB_OBJS +=   ioqueue_select.o  
     23 
     24export PJLIB_OBJS +=    sock_qos_bsd.o 
    2325 
    2426# 
  • pjproject/trunk/pjlib/build/os-linux.mak

    r4656 r5445  
    2121endif 
    2222 
     23export PJLIB_OBJS += sock_qos_bsd.o 
     24 
    2325# 
    2426# TEST_OBJS are operating system specific object files to be included in 
  • pjproject/trunk/pjlib/build/os-rtems.mak

    r4656 r5445  
    1919export PJLIB_OBJS += ioqueue_select.o  
    2020export PJLIB_OBJS += file_access_unistd.o file_io_ansi.o 
     21export PJLIB_OBJS += sock_qos_bsd.o 
    2122 
    2223# 
  • pjproject/trunk/pjlib/build/os-sunos.mak

    r4656 r5445  
    1818#export PJLIB_OBJS += ioqueue_epoll.o 
    1919 
     20export PJLIB_OBJS += sock_qos_bsd.o 
     21 
    2022# 
    2123# TEST_OBJS are operating system specific object files to be included in 
  • pjproject/trunk/pjlib/build/os-win32.mak

    r4656 r5445  
    2020#export PJLIB_OBJS +=   file_io_ansi.o 
    2121 
     22export PJLIB_OBJS +=    sock_qos_bsd.o 
     23 
    2224# 
    2325# TEST_OBJS are operating system specific object files to be included in 
  • pjproject/trunk/pjlib/include/pj/compat/socket.h

    r5420 r5445  
    160160#  define OSERR_ENOTCONN       WSAENOTCONN 
    161161#  define OSERR_EAFNOSUPPORT   WSAEAFNOSUPPORT 
     162#  define OSERR_ENOPROTOOPT    WSAENOPROTOOPT 
    162163#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 
    163164#  define OSERR_EWOULDBLOCK    -1 
     
    166167#  define OSERR_ENOTCONN       -1 
    167168#  define OSERR_EAFNOSUPPORT   -1 
     169#  define OSERR_ENOPROTOOPT    -1 
    168170#else 
    169171#  define OSERR_EWOULDBLOCK    EWOULDBLOCK 
     
    172174#  define OSERR_ENOTCONN       ENOTCONN 
    173175#  define OSERR_EAFNOSUPPORT   EAFNOSUPPORT 
     176#  define OSERR_ENOPROTOOPT    ENOPROTOOPT 
    174177#endif 
    175178 
  • pjproject/trunk/pjlib/include/pj/config.h

    r5396 r5445  
    842842/** QoS backend for Symbian */ 
    843843#define PJ_QOS_SYMBIAN      4 
     844 
     845/** QoS backend for Darwin */ 
     846#define PJ_QOS_DARWIN       5 
    844847 
    845848/** 
  • pjproject/trunk/pjlib/include/pj/sock_qos.h

    r3553 r5445  
    122122     { 
    123123        PJ_QOS_TYPE_BEST_EFFORT, 
    124         PJ_QOS_TYPE_BACKGROUND, 
     124        PJ_QOS_TYPE_BACKGROUND,  
    125125        PJ_QOS_TYPE_VIDEO, 
    126126        PJ_QOS_TYPE_VOICE, 
    127         PJ_QOS_TYPE_CONTROL 
     127        PJ_QOS_TYPE_CONTROL, 
     128        PJ_QOS_TYPE_SIGNALLING 
    128129     } pj_qos_type; 
    129130    \endcode 
     
    142143    VOICE               0x30            VO (Voice)              6 
    143144    CONTROL             0x38            VO (Voice)              7 
     145    SIGNALLING          0x28            VI (Video)              5 
    144146    ================================================================= 
    145147    \endcode 
     
    236238                                     Any QoS function calls with specifying 
    237239                                     this value are effectively no-op   */ 
    238     PJ_QOS_TYPE_BACKGROUND,     /**< Background traffic.                */ 
     240    PJ_QOS_TYPE_BACKGROUND,     /**< Background traffic.                */     
    239241    PJ_QOS_TYPE_VIDEO,          /**< Video traffic.                     */ 
    240242    PJ_QOS_TYPE_VOICE,          /**< Voice traffic.                     */ 
    241     PJ_QOS_TYPE_CONTROL         /**< Control traffic.                   */ 
     243    PJ_QOS_TYPE_CONTROL,        /**< Control traffic.                   */ 
     244    PJ_QOS_TYPE_SIGNALLING      /**< Signalling traffic.                */ 
    242245} pj_qos_type; 
    243246 
  • pjproject/trunk/pjlib/src/pj/sock_qos_common.c

    r3553 r5445  
    3232    /* flags    dscp  prio wmm_prio */ 
    3333    {ALL_FLAGS, 0x00, 0,    PJ_QOS_WMM_PRIO_BULK_EFFORT},   /* BE */ 
    34     {ALL_FLAGS, 0x08, 2,    PJ_QOS_WMM_PRIO_BULK},          /* BK */ 
     34    {ALL_FLAGS, 0x08, 2,    PJ_QOS_WMM_PRIO_BULK},          /* BK */     
    3535    {ALL_FLAGS, 0x28, 5,    PJ_QOS_WMM_PRIO_VIDEO},         /* VI */ 
    3636    {ALL_FLAGS, 0x30, 6,    PJ_QOS_WMM_PRIO_VOICE},         /* VO */ 
    37     {ALL_FLAGS, 0x38, 7,    PJ_QOS_WMM_PRIO_VOICE}          /* CO */ 
     37    {ALL_FLAGS, 0x38, 7,    PJ_QOS_WMM_PRIO_VOICE},         /* CO */ 
     38    {ALL_FLAGS, 0x28, 5,    PJ_QOS_WMM_PRIO_VIDEO}          /* SIG */ 
    3839}; 
    3940 
Note: See TracChangeset for help on using the changeset viewer.