Add a new struct member to sft structure named e_processed in order to
track the total number of events processed by sft applets.
sink_forward_oc_io_handler() and sink_forward_io_handler() now make use
of ring_dispatch_messages() optional value added in the previous commit
in order to increase the number of processed events.
struct server *srv; // used server
struct appctx *appctx; // appctx of current session
size_t ofs; // ring buffer reader offset
+ size_t e_processed; // processed events
struct sink *sink; // the associated sink
struct sink_forward_target *next;
__decl_thread(HA_SPINLOCK_T lock); // lock to protect current struct
struct sink *sink = sft->sink;
struct ring *ring = sink->ctx.ring;
size_t ofs, last_ofs;
+ size_t processed;
int ret = 0;
if (unlikely(se_fl_test(appctx->sedesc, (SE_FL_EOS|SE_FL_ERROR)))) {
MT_LIST_DELETE(&appctx->wait_entry);
ret = ring_dispatch_messages(ring, appctx, &sft->ofs, &last_ofs, 0,
- msg_handler, NULL);
+ msg_handler, &processed);
+ sft->e_processed += processed;
if (ret) {
/* let's be woken up once new data arrive */