doxygen: fix a bunch of errors in parser, db_mysql and xmlrpc modules
[sip-router] / core_stats.h
1 /* 
2  * Copyright (C) 2010 iptelorg GmbH
3  *
4  * Permission to use, copy, modify, and distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16
17 /** 
18  * @brief Macros used for various core statistics
19  * 
20  * Macros used for various core statistics, (if USE_CORE_STATS is not defined
21  * they won't do anything).
22  * @file
23  * @ingroup core
24  */
25  
26 /*
27  * History:
28  * --------
29  *  2010-02-01  initial version (andrei)
30 */
31
32 #ifndef __core_stats_h
33 #define __core_stats_h
34
35 /* define USE_CORE_STATS to enable statistics events 
36    (SREV_CORE_STATS callbacks) */
37 /*#define USE_CORE_STATS */
38
39 #ifndef USE_CORE_STATS
40
41 #define STATS_REQ_FWD_DROP()
42 #define STATS_REQ_FWD_OK()
43 #define STATS_RPL_FWD_DROP()
44 #define STATS_RPL_FWD_OK()
45 #define STATS_BAD_MSG()
46 #define STATS_BAD_RPL()
47 #define STATS_BAD_URI()
48 #define STATS_BAD_MSG_HDR()
49
50 #else /* USE_CORE_STATS */
51
52 #include "events.h"
53
54 /** called each time a received request is dropped.
55  * The request might be dropped explicitly (e.g. pre script callback)
56  * or there might be an error while trying to forward it (e.g. send).
57  */
58 #define STATS_REQ_FWD_DROP() sr_event_exec(SREV_CORE_STATS, (void*)3)
59
60
61 /** called each time forwarding a request succeeds (send).*/
62 #define STATS_REQ_FWD_OK() sr_event_exec(SREV_CORE_STATS, (void*)1)
63
64
65 /** called each time forwarding a reply fails.
66  * The reply forwarding might fail due to send errors,
67  * pre script callbacks (module denying forwarding) or explicit script
68  * drop (drop or module function returning 0).
69  */
70 #define STATS_RPL_FWD_DROP() sr_event_exec(SREV_CORE_STATS, (void*)4)
71
72
73 /* called each time forwarding a reply succeeds. */
74 #define STATS_RPL_FWD_OK() sr_event_exec(SREV_CORE_STATS, (void*)2)
75
76
77 /** called each time a received request is too bad to process.
78   * For now it's called in case the message does not have any via.
79   */
80 #define STATS_BAD_MSG() sr_event_exec(SREV_CORE_STATS, (void*)5)
81
82
83 /** called each time a received reply is too bad to process.
84   * For now it's called in case the message does not have any via.
85   */
86 #define STATS_BAD_RPL() sr_event_exec(SREV_CORE_STATS, (void*)6)
87
88
89 /** called each time uri parsing fails. */
90 #define STATS_BAD_URI() sr_event_exec(SREV_CORE_STATS, (void*)7)
91
92
93 /** called each time parsing some header fails. */
94 #define STATS_BAD_MSG_HDR() sr_event_exec(SREV_CORE_STATS, (void*)8)
95
96
97
98 #endif /* USE_CORE_STATS */
99
100 #endif /*__core_stats_h*/
101
102 /* vi: set ts=4 sw=4 tw=79:ai:cindent: */