From 0d60a0f8280fa7c902230a38956b1653e1ec7f3e Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 29 Jun 2018 02:02:08 -0700 Subject: session: send tx notification to app Does some session node cleanup as well Change-Id: Ifd52b07b28ba4dec1f6f729476decc76eb963837 Signed-off-by: Florin Coras --- src/vnet/session/session.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/vnet/session/session.c') diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 6559e318ca8..e486c2b0326 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -503,6 +503,32 @@ session_enqueue_notify (stream_session_t * s, u8 block) return 0; } +int +session_dequeue_notify (stream_session_t * s) +{ + application_t *app; + svm_queue_t *q; + + app = application_get (s->app_index); + if (application_is_builtin (app)) + return 0; + + q = app->event_queue; + if (PREDICT_TRUE (q->cursize < q->maxsize)) + { + session_fifo_event_t evt = { + .event_type = FIFO_EVENT_APP_TX, + .fifo = s->server_tx_fifo + }; + svm_queue_add (app->event_queue, (u8 *) & evt, SVM_Q_WAIT); + } + else + { + return -1; + } + return 0; +} + /** * Flushes queue of sessions that are to be notified of new data * enqueued events. -- cgit 1.2.3-korg