MCPcopy Create free account
hub / github.com/apache/trafficserver / state_done

Function state_done

example/plugins/c-api/protocol/TxnSM.cc:804–892  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

802}
803
804int
805state_done(TSCont contp, TSEvent event ATS_UNUSED, TSVIO vio ATS_UNUSED)
806{
807 TxnSM *txn_sm = static_cast<TxnSM *>(TSContDataGet(contp));
808
809 Dbg(dbg_ctl, "enter state_done");
810
811 if (txn_sm->q_pending_action && !TSActionDone(txn_sm->q_pending_action)) {
812 Dbg(dbg_ctl, "cancelling pending action %p", txn_sm->q_pending_action);
813 TSActionCancel(txn_sm->q_pending_action);
814 } else if (txn_sm->q_pending_action) {
815 Dbg(dbg_ctl, "action is done %p", txn_sm->q_pending_action);
816 }
817
818 txn_sm->q_pending_action = nullptr;
819 txn_sm->q_mutex = nullptr;
820
821 if (txn_sm->q_client_request_buffer) {
822 if (txn_sm->q_client_request_buffer_reader) {
823 TSIOBufferReaderFree(txn_sm->q_client_request_buffer_reader);
824 }
825 TSIOBufferDestroy(txn_sm->q_client_request_buffer);
826 txn_sm->q_client_request_buffer = nullptr;
827 txn_sm->q_client_request_buffer_reader = nullptr;
828 }
829
830 if (txn_sm->q_client_response_buffer) {
831 if (txn_sm->q_client_response_buffer_reader) {
832 TSIOBufferReaderFree(txn_sm->q_client_response_buffer_reader);
833 }
834
835 TSIOBufferDestroy(txn_sm->q_client_response_buffer);
836 txn_sm->q_client_response_buffer = nullptr;
837 txn_sm->q_client_response_buffer_reader = nullptr;
838 }
839
840 if (txn_sm->q_cache_read_buffer) {
841 if (txn_sm->q_cache_read_buffer_reader) {
842 TSIOBufferReaderFree(txn_sm->q_cache_read_buffer_reader);
843 }
844 TSIOBufferDestroy(txn_sm->q_cache_read_buffer);
845 txn_sm->q_cache_read_buffer = nullptr;
846 txn_sm->q_cache_read_buffer_reader = nullptr;
847 }
848
849 if (txn_sm->q_server_request_buffer) {
850 if (txn_sm->q_server_request_buffer_reader) {
851 TSIOBufferReaderFree(txn_sm->q_server_request_buffer_reader);
852 }
853 TSIOBufferDestroy(txn_sm->q_server_request_buffer);
854 txn_sm->q_server_request_buffer = nullptr;
855 txn_sm->q_server_request_buffer_reader = nullptr;
856 }
857
858 if (txn_sm->q_server_response_buffer) {
859 TSIOBufferDestroy(txn_sm->q_server_response_buffer);
860 txn_sm->q_server_response_buffer = nullptr;
861 }

Callers 3

prepare_to_dieFunction · 0.85

Calls 8

TSContDataGetFunction · 0.85
TSActionDoneFunction · 0.85
TSActionCancelFunction · 0.85
TSIOBufferReaderFreeFunction · 0.85
TSIOBufferDestroyFunction · 0.85
TSfreeFunction · 0.85
TSCacheKeyDestroyFunction · 0.85
TSContDestroyFunction · 0.85

Tested by

no test coverage detected