New API added for debugging rmr rx queue
[ric-plt/lib/rmr.git] / src / rmr / si / include / rmr_si_private.h
index ee71409..86dea88 100644 (file)
@@ -122,7 +122,7 @@ struct uta_ctx {
        int     shutdown;                               // thread notification if we need to tell them to stop
        int max_mlen;                           // max message length payload+header
        int     max_plen;                               // max payload length
-       int     flags;                                  // CTXFL_ constants
+       int     flags;                                  // CFL_ constants
        int nrtele;                                     // number of elements in the routing table
        int send_retries;                       // number of retries send_msg() should attempt if eagain/timeout indicated by nng
        int     trace_data_len;                 // number of bytes to allocate in header for trace data
@@ -132,6 +132,11 @@ struct uta_ctx {
        int rtable_ready;                       // set to true when rt is received or loaded
        int snarf_rt_fd;                        // the file des where we save the last rt from RM
        int dcount;                                     // drop counter when app is slow
+
+       uint64_t acc_dcount;            // accumulated drop counter when app is slow
+       uint64_t acc_ecount;            // accumulated enqueue counter
+
+       char*   seed_rt_fname;          // the static/seed route table; name captured at start
        route_table_t* rtable;          // the active route table
        route_table_t* old_rtable;      // the previously used rt, sits here to allow for draining
        route_table_t* new_rtable;      // route table under construction
@@ -209,4 +214,7 @@ static endpoint_t*  fd2ep_get( uta_ctx_t* ctx, int fd );
 static void fd2ep_init( uta_ctx_t* ctx );
 static void fd2ep_add( uta_ctx_t* ctx, int fd, endpoint_t* ep );
 
+// ------ misc ---------------------------------------------------
+static inline void incr_ep_counts( int state, endpoint_t* ep );                // must declare for static includes, but after headers
+
 #endif