summaryrefslogtreecommitdiff
path: root/cesar/cp/msg
diff options
context:
space:
mode:
authormercadie2010-05-20 09:22:29 +0000
committerAleksandar Sutic2010-05-28 13:37:20 +0200
commit9638f41e78ace97dd078e58dad8bf8554a31d4ad (patch)
tree1c741aad1183647befea4757e5ea84baf78924c5 /cesar/cp/msg
parentb6d8e21d13cc753669ffc6b962ea56b8c289c75e (diff)
cesar/cp/lib/stats: add level parameter in VS_GET_STATS, closes #1003
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@7120 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/cp/msg')
-rw-r--r--cesar/cp/msg/inc/msg_vs.h7
-rw-r--r--cesar/cp/msg/src/msg_vs.c9
-rw-r--r--cesar/cp/msg/stub/src/msg_vs.c3
-rw-r--r--cesar/cp/msg/test/src/msg_vs.c21
4 files changed, 27 insertions, 13 deletions
diff --git a/cesar/cp/msg/inc/msg_vs.h b/cesar/cp/msg/inc/msg_vs.h
index 27ccb0344b..244e20fd3b 100644
--- a/cesar/cp/msg/inc/msg_vs.h
+++ b/cesar/cp/msg/inc/msg_vs.h
@@ -21,6 +21,7 @@
#include "cp/msg/inc/vs_get_snr.h"
#include "mac/common/tonemap.h"
+#include "lib/stats.h"
BEGIN_DECLS
@@ -197,7 +198,8 @@ cp_msg_vs_get_amp_map_cnf_send_end (cp_t *ctx, cp_mme_tx_t *mme);
* \return true on success.
*/
bool
-cp_msg_vs_get_stats_req_receive (cp_t *ctx, cp_mme_rx_t *mme, u8 *page_number);
+cp_msg_vs_get_stats_req_receive (cp_t *ctx, cp_mme_rx_t *mme,
+ u8 *page_number, u8* level);
/**
* Start sending of a VS_GET_STATS.CNF.
@@ -215,7 +217,8 @@ cp_msg_vs_get_stats_cnf_send_begin (cp_t *ctx, cp_mme_peer_t *peer);
* \param page the page to send.
*/
void
-cp_msg_vs_get_stats_cnf_send (cp_t *ctx, cp_mme_tx_t *mme, u8 page);
+cp_msg_vs_get_stats_cnf_send (cp_t *ctx, cp_mme_tx_t *mme, u8 page,
+ lib_stats_level_t level);
/**
* Ends sending the VS_GET_STATS.CNF
diff --git a/cesar/cp/msg/src/msg_vs.c b/cesar/cp/msg/src/msg_vs.c
index 45633343f2..9443fd9a12 100644
--- a/cesar/cp/msg/src/msg_vs.c
+++ b/cesar/cp/msg/src/msg_vs.c
@@ -519,7 +519,8 @@ cp_msg_vs_get_amp_map_cnf_send_end (cp_t *ctx, cp_mme_tx_t *mme)
* \return true on success.
*/
bool
-cp_msg_vs_get_stats_req_receive (cp_t *ctx, cp_mme_rx_t *mme, u8 *page_number)
+cp_msg_vs_get_stats_req_receive (cp_t *ctx, cp_mme_rx_t *mme,
+ u8 *page_number, u8* level)
{
dbg_assert (ctx);
dbg_assert (mme);
@@ -528,6 +529,7 @@ cp_msg_vs_get_stats_req_receive (cp_t *ctx, cp_mme_rx_t *mme, u8 *page_number)
if (cp_msg_mme_read_error (ctx, mme))
{
*page_number = bitstream_read (&mme->bitstream, 8);
+ *level = bitstream_read (&mme->bitstream, 8);
return true;
}
return false;
@@ -560,12 +562,13 @@ cp_msg_vs_get_stats_cnf_send_begin (cp_t *ctx, cp_mme_peer_t *peer)
* \param page the page to send.
*/
void
-cp_msg_vs_get_stats_cnf_send (cp_t *ctx, cp_mme_tx_t *mme, u8 page)
+cp_msg_vs_get_stats_cnf_send (cp_t *ctx, cp_mme_tx_t *mme, u8 page,
+ lib_stats_level_t level)
{
dbg_assert (ctx);
dbg_assert (mme);
- lib_stats_get_page (&mme->bitstream, page);
+ lib_stats_get_page (&mme->bitstream, page, level);
}
/**
diff --git a/cesar/cp/msg/stub/src/msg_vs.c b/cesar/cp/msg/stub/src/msg_vs.c
index 596e65b902..3a9080cc50 100644
--- a/cesar/cp/msg/stub/src/msg_vs.c
+++ b/cesar/cp/msg/stub/src/msg_vs.c
@@ -175,7 +175,8 @@ void
cp_msg_vs_get_amp_map_cnf_send_end (cp_t *ctx, cp_mme_tx_t *mme) {}
bool
-cp_msg_vs_get_stats_req_receive (cp_t *ctx, cp_mme_rx_t *mme, u8 *page_number)
+cp_msg_vs_get_stats_req_receive (cp_t *ctx, cp_mme_rx_t *mme,
+ u8 *page_number, u8* level)
{
return true;
}
diff --git a/cesar/cp/msg/test/src/msg_vs.c b/cesar/cp/msg/test/src/msg_vs.c
index 46834d27ee..3bb49da72e 100644
--- a/cesar/cp/msg/test/src/msg_vs.c
+++ b/cesar/cp/msg/test/src/msg_vs.c
@@ -1368,6 +1368,7 @@ test_case_msg_vs_get_stats (test_t test)
cp_mme_rx_t *rx_mme;
u8 page;
+ u8 level;
cp_msg_init (&cp);
@@ -1384,6 +1385,7 @@ test_case_msg_vs_get_stats (test_t test)
/*********************************/
test_write_header (false, &header, &stream);
bitstream_write (&stream, 0x12, 8);
+ bitstream_write (&stream, LIB_STATS_USER, 8);
bitstream_finalise (&stream);
/* Receive MME */
@@ -1391,10 +1393,11 @@ test_case_msg_vs_get_stats (test_t test)
test_fail_unless (rx_mme->mmtype == VS_GET_STATS_REQ);
test_fail_unless (bitstream_read (&rx_mme->bitstream, OUI_SIZE_BITS)
== SPC_OUI);
- data = cp_msg_vs_get_stats_req_receive (&cp, rx_mme, &page);
+ data = cp_msg_vs_get_stats_req_receive (&cp, rx_mme, &page, &level);
test_fail_unless (data == true);
test_fail_unless (page == 0x12);
+ test_fail_unless (level == LIB_STATS_USER);
slab_release(rx_mme);
@@ -1417,7 +1420,7 @@ test_case_msg_vs_get_stats (test_t test)
/* configure the test. */
mme = cp_msg_vs_get_stats_cnf_send_begin (&cp, &peer);
- cp_msg_vs_get_stats_cnf_send (&cp, mme, 1);
+ cp_msg_vs_get_stats_cnf_send (&cp, mme, 1, 0);
cp_msg_vs_get_stats_cnf_send_end (&cp, mme);
/* verify. */
@@ -1437,13 +1440,17 @@ test_case_msg_vs_get_stats (test_t test)
lib_stats_init ();
lib_stats_set_stat_value_notype ("value_u8", &value_u8,
- LIB_STATS_ACCESS_READ_ONLY);
+ LIB_STATS_ACCESS_READ_ONLY,
+ LIB_STATS_USER);
lib_stats_set_stat_value_notype ("value_u16", &value_u16,
- LIB_STATS_ACCESS_READ_ONLY);
+ LIB_STATS_ACCESS_READ_ONLY,
+ LIB_STATS_USER);
lib_stats_set_stat_value_notype ("value_u32", &value_u32,
- LIB_STATS_ACCESS_READ_ONLY);
+ LIB_STATS_ACCESS_READ_ONLY,
+ LIB_STATS_USER);
lib_stats_set_stat_value_notype ("value_u64", &value_u64,
- LIB_STATS_ACCESS_READ_ONLY);
+ LIB_STATS_ACCESS_READ_ONLY,
+ LIB_STATS_USER);
/* Request an existing page number */
test_begin (test, "CM_VS_GET_STATS.CNF send with content")
@@ -1460,7 +1467,7 @@ test_case_msg_vs_get_stats (test_t test)
/* configure the test. */
mme = cp_msg_vs_get_stats_cnf_send_begin (&cp, &peer);
- cp_msg_vs_get_stats_cnf_send (&cp, mme, 0);
+ cp_msg_vs_get_stats_cnf_send (&cp, mme, 0, 0);
cp_msg_vs_get_stats_cnf_send_end (&cp, mme);
/* verify. */