109 debug(
"wap.wtp_tid", 0,
"%ld items left in the tid cache",
127 debug(
"wap.wtp.tid", 0,
"starting validation");
135 if ((item =
tid_cached(resp_machine)) == NULL) {
140 debug(
"wap.wtp.tid", 0,
"empty cache");
150 last_tid = item->
tid;
153 info(0,
"WTP_TID: tid out of the window");
157 debug(
"wap.wtp.tid", 0,
"tid in the window");
164 info(0,
"WTP_TID: tid_new flag on");
207 debug(
"wap.wtp.tid", 0,
"tids were rcv_tid, %ld and last_tid, %ld" 240 item = gw_malloc(
sizeof(*item));
269 initiator_profile = b;
void info(int err, const char *fmt,...)
void * gwlist_search(List *list, void *pattern, int(*cmp)(void *, void *))
#define WTP_TID_WINDOW_SIZE
void gwlist_append(List *list, void *item)
static unsigned short rcv_tid(unsigned short tid)
long gwlist_len(List *list)
static Item * new_item(long producer, long num, long index)
void wtp_tid_set_by_machine(WTPRespMachine *resp_machine, long tid)
WAPAddrTuple * wap_addr_tuple_duplicate(WAPAddrTuple *tuple)
void wtp_tid_cache_init(void)
WAPAddrTuple * addr_tuple
void gwlist_unlock(List *list)
static WTPCached_tid * tid_cached(WTPRespMachine *resp_machine)
static WTPCached_tid * cache_item_create_empty(void)
static int tid_in_window(long rcv_tid, long last_tid)
static void add_tid(WTPRespMachine *resp_machine, long tid)
int wtp_tid_is_valid(WAPEvent *event, WTPRespMachine *resp_machine)
void wap_addr_tuple_destroy(WAPAddrTuple *tuple)
void wtp_tid_cache_shutdown(void)
void gwlist_lock(List *list)
T DUnitdata TR Invoke TR Invoke TR Result TR Abort S Connect S Suspend S Resume S Suspend S Resume S Disconnect S MethodInvoke S MethodInvoke S MethodResult S MethodInvoke S MethodResult S MethodAbort S Push S ConfirmedPush S ConfirmedPush S PushAbort RcvInvoke
int wap_addr_tuple_same(WAPAddrTuple *a, WAPAddrTuple *b)
static int tid_is_cached(void *a, void *b)
void debug(const char *place, int err, const char *fmt,...)
static void set_tid_by_item(WTPCached_tid *item, long tid)
static void cache_item_destroy(void *item)
void gwlist_destroy(List *list, gwlist_item_destructor_t *destructor)