Changes in / [967:bbc08d58325a:968:652713ce3596] in freeDiameter
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
include/freeDiameter/libfdcore.h
r947 r968 385 385 int fd_peer_get_state(struct peer_hdr *peer); 386 386 387 /* 388 * FUNCTION: fd_peer_get_load_pending 389 * 390 * PARAMETERS: 391 * peer : The peer which load to read 392 * 393 * DESCRIPTION: 394 * Returns the current number of requests sent to this peer 395 * that have not been answered yet. This is an empirical indication 396 * of the workload of this peer. 397 * 398 * RETURN VALUE: 399 * 0 : The load parameter has been updated. (it should have a positive value always) 400 * !0 : An error occurred 401 */ 402 int fd_peer_get_load_pending(struct peer_hdr *peer, int * load); 403 387 404 /* 388 405 * FUNCTION: fd_peer_validate_register -
libfdcore/fdcore-internal.h
r928 r938 126 126 struct fd_list srs; /* requests ordered by hop-by-hop id */ 127 127 struct fd_list exp; /* requests that have a timeout set, ordered by timeout */ 128 int cnt; /* number of requests in the srs list */ 128 129 pthread_mutex_t mtx; /* mutex to protect these lists */ 129 130 pthread_cond_t cnd; /* cond var used by the thread that handles timeouts */ -
libfdcore/fdd.l
r961 r968 52 52 yylloc->first_column = yylloc->last_column + 1; \ 53 53 yylloc->last_column = yylloc->first_column + yyleng - 1; \ 54 TRACE_DEBUG_ERROR(\54 fd_log_debug( \ 55 55 "(%d:%d-%d:%d) matched rule %d, length=%d, txt='%s'\n", \ 56 56 yylloc->first_line, yylloc->first_column, \ -
libfdcore/p_sr.c
r837 r938 226 226 *req = NULL; 227 227 fd_list_insert_before(next, &sr->chain); 228 srlist->cnt++; 228 229 srl_dump("Saved new request, ", &srlist->srs); 229 230 … … 281 282 /* Unlink */ 282 283 fd_list_unlink(&sr->chain); 284 srlist->cnt--; 283 285 fd_list_unlink(&sr->expire); 284 286 *req = sr->req; … … 300 302 struct sentreq * sr = (struct sentreq *)(srlist->srs.next); 301 303 fd_list_unlink(&sr->chain); 304 srlist->cnt--; 302 305 fd_list_unlink(&sr->expire); 303 306 if (fd_msg_is_routable(sr->req)) { -
libfdcore/peers.c
r961 r968 257 257 } 258 258 259 /* Return the value of srlist->cnt */ 260 int fd_peer_get_load_pending(struct peer_hdr *peer, int * load) 261 { 262 struct fd_peer * p = (struct fd_peer *)peer; 263 TRACE_ENTRY("%p %p", peer, load); 264 CHECK_PARAMS(CHECK_PEER(peer) && load); 265 266 CHECK_POSIX( pthread_mutex_lock(&p->p_sr.mtx) ); 267 *load = p->p_sr.cnt; 268 CHECK_POSIX( pthread_mutex_unlock(&p->p_sr.mtx) ); 269 270 return 0; 271 } 272 273 259 274 /* Destroy a structure once cleanups have been performed (fd_psm_abord, ...) */ 260 275 int fd_peer_free(struct fd_peer ** ptr) … … 395 410 } 396 411 397 fd_log_debug("> %s\t%s ", STATE_STR(fd_peer_getstate(peer)), peer->p_hdr.info.pi_diamid);412 fd_log_debug("> %s\t%s\t[%dsr]", STATE_STR(fd_peer_getstate(peer)), peer->p_hdr.info.pi_diamid, peer->p_sr.cnt); 398 413 if (details > INFO) { 399 414 fd_log_debug("\t(rlm:%s)", peer->p_hdr.info.runtime.pir_realm ?: "<unknown>");
Note: See TracChangeset
for help on using the changeset viewer.