static void stats_process_read(TSCont contp, TSEvent event, stats_state *my_state) { TSDebug(PLUGIN_TAG, "stats_process_read(%d)", event); if (event == TS_EVENT_VCONN_READ_READY) { my_state->output_bytes = stats_add_data_to_resp_buffer(RESP_HEADER, my_state); TSVConnShutdown(my_state->net_vc, 1, 0); my_state->write_vio = TSVConnWrite(my_state->net_vc, contp, my_state->resp_reader, INT64_MAX); } else if (event == TS_EVENT_ERROR) TSError("stats_process_read: Received TS_EVENT_ERROR\n"); else if (event == TS_EVENT_VCONN_EOS) /* client may end the connection, simply return */ return; else if (event == TS_EVENT_NET_ACCEPT_FAILED) TSError("stats_process_read: Received TS_EVENT_NET_ACCEPT_FAILED\n"); else { printf("Unexpected Event %d\n", event); TSReleaseAssert(!"Unexpected Event"); } }
static int stats_add_resp_header(stats_state * my_state) { return stats_add_data_to_resp_buffer(RESP_HEADER, my_state); }