int ts_lua_transform_entry(TSCont contp, TSEvent event, void *edata) { TSVIO input_vio; ts_lua_transform_ctx *transform_ctx = (ts_lua_transform_ctx*)TSContDataGet(contp); if (TSVConnClosedGet(contp)) { TSContDestroy(contp); ts_lua_destroy_transform_ctx(transform_ctx); return 0; } switch (event) { case TS_EVENT_ERROR: input_vio = TSVConnWriteVIOGet(contp); TSContCall(TSVIOContGet(input_vio), TS_EVENT_ERROR, input_vio); break; case TS_EVENT_VCONN_WRITE_COMPLETE: TSVConnShutdown(TSTransformOutputVConnGet(contp), 0, 1); break; case TS_EVENT_VCONN_WRITE_READY: default: ts_lua_transform_handler(contp, transform_ctx); break; } return 0; }
int ts_lua_transform_entry(TSCont contp, TSEvent ev, void *edata) { int n, event; TSVIO input_vio; ts_lua_http_transform_ctx *transform_ctx; event = (int)ev; transform_ctx = (ts_lua_http_transform_ctx *)TSContDataGet(contp); if (TSVConnClosedGet(contp)) { ts_lua_destroy_http_transform_ctx(transform_ctx); return 0; } n = 0; switch (event) { case TS_EVENT_ERROR: input_vio = TSVConnWriteVIOGet(contp); TSContCall(TSVIOContGet(input_vio), TS_EVENT_ERROR, input_vio); break; case TS_EVENT_VCONN_WRITE_COMPLETE: TSVConnShutdown(TSTransformOutputVConnGet(contp), 0, 1); break; case TS_LUA_EVENT_COROUTINE_CONT: n = (intptr_t)edata; /* FALL THROUGH */ case TS_EVENT_VCONN_WRITE_READY: default: ts_lua_transform_handler(contp, transform_ctx, event, n); break; } return 0; }