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

Function handleServerEvent

plugins/esi/combo_handler.cc:747–822  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

745}
746
747static int
748handleServerEvent(TSCont contp, TSEvent event, void *edata)
749{
750 InterceptData *int_data = static_cast<InterceptData *>(TSContDataGet(contp));
751 bool write_response = false;
752
753 switch (event) {
754 case TS_EVENT_NET_ACCEPT_FAILED:
755 LOG_DEBUG("Received net accept failed event; going to abort continuation");
756 int_data->read_complete = int_data->write_complete = true;
757 break;
758
759 case TS_EVENT_NET_ACCEPT:
760 LOG_DEBUG("Received net accept event");
761 if (!initRequestProcessing(*int_data, edata, write_response)) {
762 LOG_ERROR("Could not initialize request processing");
763 return 0;
764 }
765 break;
766
767 case TS_EVENT_VCONN_READ_READY:
768 LOG_DEBUG("Received read ready event");
769 if (!readInterceptRequest(*int_data)) {
770 LOG_ERROR("Error while reading from input vio");
771 return 0;
772 }
773 break;
774
775 case TS_EVENT_VCONN_READ_COMPLETE:
776 case TS_EVENT_VCONN_EOS:
777 LOG_DEBUG("Received read complete/eos event %d", event);
778 int_data->read_complete = true;
779 break;
780
781 case TS_EVENT_VCONN_WRITE_READY:
782 LOG_DEBUG("Received write ready event");
783 break;
784
785 case TS_EVENT_VCONN_WRITE_COMPLETE:
786 LOG_DEBUG("Received write complete event");
787 int_data->write_complete = true;
788 break;
789
790 case TS_EVENT_ERROR:
791 LOG_ERROR("Received error event!");
792 break;
793
794 default:
795 if (int_data->fetcher && int_data->fetcher->isFetchEvent(event)) {
796 if (!int_data->fetcher->handleFetchEvent(event, edata)) {
797 LOG_ERROR("Couldn't handle fetch request event %d", event);
798 }
799 write_response = int_data->fetcher->isFetchComplete();
800 } else {
801 LOG_DEBUG("Unexpected event %d", event);
802 }
803 break;
804 }

Callers

nothing calls this directly

Calls 8

TSContDataGetFunction · 0.85
initRequestProcessingFunction · 0.85
readInterceptRequestFunction · 0.85
writeResponseFunction · 0.85
TSContDestroyFunction · 0.85
isFetchEventMethod · 0.80
handleFetchEventMethod · 0.80
isFetchCompleteMethod · 0.80

Tested by

no test coverage detected