+static u8 *
+format_tls_listener_ctx (u8 * s, va_list * args)
+{
+ session_t *tls_listener;
+ app_listener_t *al;
+ tls_ctx_t *ctx;
+
+ ctx = va_arg (*args, tls_ctx_t *);
+
+ al = app_listener_get_w_handle (ctx->tls_session_handle);
+ tls_listener = app_listener_get_session (al);
+ s = format (s, "[%d:%d][TLS] app_wrk %u engine %u tcp %d:%d",
+ ctx->c_thread_index, ctx->c_s_index,
+ ctx->parent_app_wrk_index, ctx->tls_ctx_engine,
+ tls_listener->thread_index, tls_listener->session_index);
+
+ return s;
+}
+
+static u8 *
+format_tls_ctx_state (u8 * s, va_list * args)
+{
+ tls_ctx_t *ctx;
+ session_t *ts;
+
+ ctx = va_arg (*args, tls_ctx_t *);
+ ts = session_get (ctx->c_s_index, ctx->c_thread_index);
+ if (ts->session_state == SESSION_STATE_LISTENING)
+ s = format (s, "%s", "LISTEN");
+ else
+ {
+ if (ts->session_state >= SESSION_STATE_TRANSPORT_CLOSED)
+ s = format (s, "%s", "CLOSED");
+ else if (ts->session_state == SESSION_STATE_APP_CLOSED)
+ s = format (s, "%s", "APP-CLOSED");
+ else if (ts->session_state >= SESSION_STATE_TRANSPORT_CLOSING)
+ s = format (s, "%s", "CLOSING");
+ else if (tls_ctx_handshake_is_over (ctx))
+ s = format (s, "%s", "ESTABLISHED");
+ else
+ s = format (s, "%s", "HANDSHAKE");
+ }
+
+ return s;
+}
+