Ignore:
Timestamp:
Mar 21, 2007 1:24:02 PM (17 years ago)
Author:
bennylp
Message:

ICE complete, ready for testing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjnath/include/pjnath/ice.h

    r1090 r1092  
    2626#include <pjnath/types.h> 
    2727#include <pjnath/stun_session.h> 
    28 #include <pjlib-util/resolver.h> 
    2928#include <pj/sock.h> 
    3029#include <pj/timer.h> 
     
    4847{ 
    4948    PJ_ICE_CAND_TYPE_HOST, 
    50     PJ_ICE_CAND_TYPE_MAPPED, 
    51     PJ_ICE_CAND_TYPE_PEER_MAPPED, 
     49    PJ_ICE_CAND_TYPE_SRFLX, 
     50    PJ_ICE_CAND_TYPE_PRFLX, 
    5251    PJ_ICE_CAND_TYPE_RELAYED 
    5352} pj_ice_cand_type; 
     
    5958{ 
    6059    PJ_ICE_HOST_PREF        = 126, 
    61     PJ_ICE_MAPPED_PREF      = 100, 
    62     PJ_ICE_PEER_MAPPED_PREF = 110, 
     60    PJ_ICE_SRFLX_PREF       = 100, 
     61    PJ_ICE_PRFLX_PREF      = 110, 
    6362    PJ_ICE_RELAYED_PREF     = 0 
    6463}; 
     
    7877{ 
    7978    unsigned         comp_id; 
    80     pj_sock_t        sock; 
    8179    pj_stun_session *stun_sess; 
    8280    pj_sockaddr      local_addr; 
     81    int              nominated_check_id; 
    8382} pj_ice_comp; 
    8483 
     
    141140typedef struct pj_ice_cb 
    142141{ 
    143     pj_status_t (*on_send_pkt)(pj_ice *ice,  
    144                                const void *pkt, pj_size_t size, 
    145                                const pj_sockaddr_t *dst_addr, 
    146                                unsigned addr_len); 
     142    void        (*on_ice_complete)(pj_ice *ice, pj_status_t status); 
     143    pj_status_t (*on_tx_pkt)(pj_ice *ice, unsigned comp_id, 
     144                             const void *pkt, pj_size_t size, 
     145                             const pj_sockaddr_t *dst_addr, 
     146                             unsigned dst_addr_len); 
     147    pj_status_t (*on_rx_data)(pj_ice *ice, unsigned comp_id, 
     148                              void *pkt, pj_size_t size, 
     149                              const pj_sockaddr_t *src_addr, 
     150                              unsigned src_addr_len); 
    147151} pj_ice_cb; 
    148152 
     
    166170    int                  sock_type; 
    167171    pj_ice_role          role; 
     172    pj_bool_t            is_complete; 
     173    pj_status_t          ice_status; 
    168174    pj_ice_cb            cb; 
    169175 
     
    194200    unsigned             valid_cnt; 
    195201    unsigned             valid_list[PJ_ICE_MAX_CHECKS]; 
    196  
    197     /* STUN servers */ 
    198     pj_dns_resolver     *resv; 
    199     pj_dns_async_query  *resv_q; 
    200     pj_bool_t            relay_enabled; 
    201     pj_sockaddr          stun_srv; 
    202202}; 
    203203 
     
    211211                                   pj_ice **p_ice); 
    212212PJ_DECL(pj_status_t) pj_ice_destroy(pj_ice *ice); 
    213 PJ_DECL(pj_status_t) pj_ice_set_srv(pj_ice *ice, 
    214                                     pj_bool_t enable_relay, 
    215                                     pj_dns_resolver *resolver, 
    216                                     const pj_str_t *domain); 
    217 PJ_DECL(pj_status_t) pj_ice_set_srv_addr(pj_ice *ice, 
    218                                          pj_bool_t enable_relay, 
    219                                          const pj_sockaddr_t *srv_addr, 
    220                                          unsigned addr_len); 
    221213PJ_DECL(pj_status_t) pj_ice_add_comp(pj_ice *ice, 
    222214                                     unsigned comp_id, 
     
    231223                                            const pj_str_t *remote_ufrag, 
    232224                                            const pj_str_t *remote_pass); 
    233 PJ_DECL(pj_status_t) pj_ice_start_gather(pj_ice *ice, 
    234                                          unsigned flags); 
    235  
    236225PJ_DECL(pj_status_t) pj_ice_add_cand(pj_ice *ice, 
    237226                                     unsigned comp_id, 
     
    259248                                              unsigned rem_cand_cnt, 
    260249                                              const pj_ice_cand rem_cand[]); 
    261  
    262250PJ_DECL(pj_status_t) pj_ice_start_check(pj_ice *ice); 
    263251 
     252PJ_DECL(pj_status_t) pj_ice_send_data(pj_ice *ice, 
     253                                      unsigned comp_id, 
     254                                      const void *data, 
     255                                      pj_size_t data_len); 
     256PJ_DECL(pj_status_t) pj_ice_on_rx_pkt(pj_ice *ice, 
     257                                      unsigned comp_id, 
     258                                      void *pkt, 
     259                                      pj_size_t pkt_size, 
     260                                      const pj_sockaddr_t *src_addr, 
     261                                      int src_addr_len); 
     262 
     263 
    264264 
    265265/** 
Note: See TracChangeset for help on using the changeset viewer.