This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new f691fdc1a5 Removes experimental.h, moving remaining declarations to
ts.h (#10918)
f691fdc1a5 is described below
commit f691fdc1a5e2db2e8c52871286db5cfc57ea430a
Author: Leif Hedstrom <[email protected]>
AuthorDate: Tue Jan 23 09:43:35 2024 -0700
Removes experimental.h, moving remaining declarations to ts.h (#10918)
---
.../api/functions/TSHttpTxnRedoCacheLookup.en.rst | 4 -
.../api/functions/TSIpStringToAddr.en.rst | 5 -
example/plugins/c-api/cache_scan/cache_scan.cc | 1 -
include/api/InkAPIInternal.h | 1 -
include/ts/experimental.h | 256 ---------------------
include/ts/ts.h | 201 ++++++++++++++++
plugins/lua/ts_lua_common.h | 1 -
plugins/xdebug/xdebug.cc | 1 -
src/api/CMakeLists.txt | 1 -
src/api/InkAPI.cc | 4 -
src/api/InkAPITest.cc | 1 -
src/tscpp/api/AsyncHttpFetch.cc | 1 -
12 files changed, 201 insertions(+), 276 deletions(-)
diff --git a/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst
b/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst
index 49f61d6dec..7725a02b9f 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst
@@ -24,10 +24,6 @@ TSHttpTxnRedoCacheLookup
Synopsis
========
-.. code-block:: cpp
-
- #include <ts/experimental.h>
-
.. function:: TSReturnCode TSHttpTxnRedoCacheLookup(TSHttpTxn txnp, const char
*url, int length)
Description
diff --git a/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst
b/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst
index 2b74ed1d16..a2258a71df 100644
--- a/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst
+++ b/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst
@@ -24,10 +24,6 @@ TSIpStringToAddr
Synopsis
========
-.. code-block:: cpp
-
- #include <ts/experimental.h>
-
.. function:: TSReturnCode TSIpStringToAddr(const char * str, int str_len,
sockaddr* addr)
Description
@@ -53,4 +49,3 @@ Notes
=====
This API may be changed in the future version since it is experimental.
-
diff --git a/example/plugins/c-api/cache_scan/cache_scan.cc
b/example/plugins/c-api/cache_scan/cache_scan.cc
index 89d94dc2b2..951b4f4520 100644
--- a/example/plugins/c-api/cache_scan/cache_scan.cc
+++ b/example/plugins/c-api/cache_scan/cache_scan.cc
@@ -31,7 +31,6 @@
#include <cstdlib>
#include "ts/ts.h"
-#include "ts/experimental.h"
#include "tscore/ink_defs.h"
#define PLUGIN_NAME "cache_scan"
diff --git a/include/api/InkAPIInternal.h b/include/api/InkAPIInternal.h
index d17fb28a81..26cdfc745a 100644
--- a/include/api/InkAPIInternal.h
+++ b/include/api/InkAPIInternal.h
@@ -39,7 +39,6 @@
#include "swoc/swoc_file.h"
#include "ts/InkAPIPrivateIOCore.h"
-#include "ts/experimental.h"
#include <typeinfo>
diff --git a/include/ts/experimental.h b/include/ts/experimental.h
deleted file mode 100644
index 4f06353968..0000000000
--- a/include/ts/experimental.h
+++ /dev/null
@@ -1,256 +0,0 @@
-/** @file
-
- A brief file description
-
- @section license License
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * Interfaces in this header file are experimental, undocumented and
- * are subject to change even across minor releases of Traffic Server.
- * None of the interfaces in this file are committed to be stable
- * unless they are migrated to ts/ts.h If you require stable APIs to
- * Traffic Server, DO NOT USE anything in this file.
- */
-
-#pragma once
-
-namespace tsapi
-{
-namespace c
-{
-
- /* Cache APIs that are not yet fully supported and/or frozen nor complete. */
- TSReturnCode TSCacheBufferInfoGet(TSCacheTxn txnp, uint64_t *length,
uint64_t *offset);
-
- TSCacheHttpInfo TSCacheHttpInfoCreate();
- void TSCacheHttpInfoReqGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*obj);
- void TSCacheHttpInfoRespGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*obj);
- void TSCacheHttpInfoReqSet(TSCacheHttpInfo infop, TSMBuffer bufp, TSMLoc
obj);
- void TSCacheHttpInfoRespSet(TSCacheHttpInfo infop, TSMBuffer bufp, TSMLoc
obj);
- void TSCacheHttpInfoKeySet(TSCacheHttpInfo infop, TSCacheKey key);
- void TSCacheHttpInfoSizeSet(TSCacheHttpInfo infop, int64_t size);
- int TSCacheHttpInfoVector(TSCacheHttpInfo infop, void *data, int length);
- time_t TSCacheHttpInfoReqSentTimeGet(TSCacheHttpInfo infop);
- time_t TSCacheHttpInfoRespReceivedTimeGet(TSCacheHttpInfo infop);
- int64_t TSCacheHttpInfoSizeGet(TSCacheHttpInfo infop);
-
- /* Protocols APIs */
- void TSVConnCacheHttpInfoSet(TSVConn connp, TSCacheHttpInfo infop);
-
- /****************************************************************************
- * Allow to set the body of a POST request.
-
****************************************************************************/
- void TSHttpTxnServerRequestBodySet(TSHttpTxn txnp, char *buf, int64_t
buflength);
-
- TSReturnCode TSHttpTxnCachedRespTimeGet(TSHttpTxn txnp, time_t *resp_time);
-
- /* ===== Cache ===== */
- TSReturnCode TSCacheKeyDataTypeSet(TSCacheKey key, TSCacheDataType type);
-
- /* ===== CacheHttpInfo ===== */
-
- TSCacheHttpInfo TSCacheHttpInfoCopy(TSCacheHttpInfo infop);
- void TSCacheHttpInfoReqGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*offset);
- void TSCacheHttpInfoRespGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*offset);
- void TSCacheHttpInfoDestroy(TSCacheHttpInfo infop);
-
- /* Get Arbitrary Txn info such as cache lookup details etc as defined in
TSHttpTxnInfoKey */
- /**
- Return the particular txn info requested.
-
- @param txnp the transaction pointer
- @param key the requested txn info.
- @param TSMgmtInt a pointer to a integer where the return value is stored
-
- @return @c TS_SUCCESS if the requested info is supported, TS_ERROR
otherwise
-
- */
- TSReturnCode TSHttpTxnInfoIntGet(TSHttpTxn txnp, TSHttpTxnInfoKey key,
TSMgmtInt *value);
-
- /****************************************************************************
- * TSHttpTxnCacheLookupCountGet
- * Return: TS_SUCCESS/TS_ERROR
-
****************************************************************************/
- TSReturnCode TSHttpTxnCacheLookupCountGet(TSHttpTxn txnp, int *lookup_count);
- TSReturnCode TSHttpTxnServerRespIgnore(TSHttpTxn txnp);
- TSReturnCode TSHttpTxnShutDown(TSHttpTxn txnp, TSEvent event);
- TSReturnCode TSHttpTxnCloseAfterResponse(TSHttpTxn txnp, int should_close);
-
- /****************************************************************************
- * ??
- * Return ??
-
****************************************************************************/
- int TSHttpTxnClientReqIsServerStyle(TSHttpTxn txnp);
-
- /****************************************************************************
- * ??
- * Return ??
-
****************************************************************************/
- TSReturnCode TSHttpTxnUpdateCachedObject(TSHttpTxn txnp);
-
- /**
- Attempt to attach the contp continuation to sockets that have already been
- opened by the traffic Server and defined as belonging to plugins (based on
- records.yaml configuration). If a connection is successfully accepted,
- the TS_EVENT_NET_ACCEPT is delivered to the continuation. The event
- data will be a valid TSVConn bound to the accepted connection.
- In order to configure such a socket, add the "plugin" keyword to a port
- in proxy.config.http.server_ports like "8082:plugin"
- Transparency/IP settings can also be defined, but a port cannot have
- both the "ssl" or "plugin" keywords configured.
-
- Need to update records.yaml comments on proxy.config.http.server_ports
- when this option is promoted from experimental.
- */
- TSReturnCode TSPluginDescriptorAccept(TSCont contp);
-
- /**
- Opens a network connection to the host specified by the 'to' sockaddr
- spoofing the client addr to equal the 'from' sockaddr.
- If the connection is successfully opened, contp
- is called back with the event TS_EVENT_NET_CONNECT and the new
- network vconnection will be passed in the event data parameter.
- If the connection is not successful, contp is called back with
- the event TS_EVENT_NET_CONNECT_FAILED.
-
- Note: It is possible to receive TS_EVENT_NET_CONNECT
- even if the connection failed, because of the implementation of
- network sockets in the underlying operating system. There is an
- exception: if a plugin tries to open a connection to a port on
- its own host machine, then TS_EVENT_NET_CONNECT is sent only
- if the connection is successfully opened. In general, however,
- your plugin needs to look for an TS_EVENT_VCONN_WRITE_READY to
- be sure that the connection is successfully opened.
-
- @return TSAction which allows you to check if the connection is complete,
- or cancel the attempt to connect.
-
- */
- TSAction TSNetConnectTransparent(
- TSCont contp, /**< continuation that is called back when the attempted net
connection either succeeds or fails. */
- struct sockaddr const *from, /**< Address to spoof as connection origin */
- struct sockaddr const *to /**< Address to which to connect. */
- );
-
- TSReturnCode TSMgmtConfigFileAdd(const char *parent, const char *fileName);
-
- /**
- * Extended FetchSM's AIPs
- */
-
- /*
- * Create FetchSM, this API will enable stream IO automatically.
- *
- * @param contp: continuation to be callbacked.
- * @param method: request method.
- * @param url: scheme://host[:port]/path.
- * @param version: client http version, eg: "HTTP/1.1".
- * @param client_addr: client addr sent to log.
- * @param flags: can be bitwise OR of several TSFetchFlags.
- *
- * return TSFetchSM which should be destroyed by TSFetchDestroy().
- */
- TSFetchSM TSFetchCreate(TSCont contp, const char *method, const char *url,
const char *version,
- struct sockaddr const *client_addr, int flags);
-
- /*
- * Set fetch flags to FetchSM Context
- *
- * @param fetch_sm: returned value of TSFetchCreate().
- * @param flags: can be bitwise OR of several TSFetchFlags.
- *
- * return void
- */
- void TSFetchFlagSet(TSFetchSM fetch_sm, int flags);
-
- /*
- * Create FetchSM, this API will enable stream IO automatically.
- *
- * @param fetch_sm: returned value of TSFetchCreate().
- * @param name: name of header.
- * @param name_len: len of name.
- * @param value: value of header.
- * @param name_len: len of value.
- *
- * return TSFetchSM which should be destroyed by TSFetchDestroy().
- */
- void TSFetchHeaderAdd(TSFetchSM fetch_sm, const char *name, int name_len,
const char *value, int value_len);
-
- /*
- * Write data to FetchSM
- *
- * @param fetch_sm: returned value of TSFetchCreate().
- * @param data/len: data to be written to fetch sm.
- */
- void TSFetchWriteData(TSFetchSM fetch_sm, const void *data, size_t len);
-
- /*
- * Read up to *len* bytes from FetchSM into *buf*.
- *
- * @param fetch_sm: returned value of TSFetchCreate().
- * @param buf/len: buffer to contain data from fetch sm.
- */
- ssize_t TSFetchReadData(TSFetchSM fetch_sm, void *buf, size_t len);
-
- /*
- * Launch FetchSM to do http request, before calling this API,
- * you should append http request header into fetch sm through
- * TSFetchWriteData() API
- *
- * @param fetch_sm: comes from returned value of TSFetchCreate().
- */
- void TSFetchLaunch(TSFetchSM fetch_sm);
-
- /*
- * Destroy FetchSM
- *
- * @param fetch_sm: returned value of TSFetchCreate().
- */
- void TSFetchDestroy(TSFetchSM fetch_sm);
-
- /*
- * Set user-defined data in FetchSM
- */
- void TSFetchUserDataSet(TSFetchSM fetch_sm, void *data);
-
- /*
- * Get user-defined data in FetchSM
- */
- void *TSFetchUserDataGet(TSFetchSM fetch_sm);
-
- /*
- * Get client response hdr mbuffer
- */
- TSMBuffer TSFetchRespHdrMBufGet(TSFetchSM fetch_sm);
-
- /*
- * Get client response hdr mloc
- */
- TSMLoc TSFetchRespHdrMLocGet(TSFetchSM fetch_sm);
-
- /*
- * Print as a MIME header date string.
- */
- TSReturnCode TSMimeFormatDate(time_t const value_time, char *const
value_str, int *const value_len);
-
-} // end namespace c
-} // end namespace tsapi
-
-using namespace ::tsapi::c;
diff --git a/include/ts/ts.h b/include/ts/ts.h
index fa31683725..e8fc431113 100644
--- a/include/ts/ts.h
+++ b/include/ts/ts.h
@@ -1090,6 +1090,11 @@ namespace c
TSReturnCode TSMimeHdrFieldValueDelete(TSMBuffer bufp, TSMLoc hdr, TSMLoc
field, int idx);
const char *TSMimeHdrStringToWKS(const char *str, int length);
+ /*
+ * Print as a MIME header date string.
+ */
+ TSReturnCode TSMimeFormatDate(time_t const value_time, char *const
value_str, int *const value_len);
+
/* --------------------------------------------------------------------------
HTTP headers */
TSHttpParser TSHttpParserCreate(void);
@@ -1250,6 +1255,8 @@ namespace c
cache url */
TSReturnCode TSCacheUrlSet(TSHttpTxn txnp, const char *url, int length);
+ TSReturnCode TSCacheKeyDataTypeSet(TSCacheKey key, TSCacheDataType type);
+
/* --------------------------------------------------------------------------
Configuration */
unsigned int TSConfigSet(unsigned int id, void *data, TSConfigDestroyFunc
funcp);
@@ -1257,6 +1264,8 @@ namespace c
void TSConfigRelease(unsigned int id, TSConfig configp);
void *TSConfigDataGet(TSConfig configp);
+ TSReturnCode TSMgmtConfigFileAdd(const char *parent, const char *fileName);
+
/* --------------------------------------------------------------------------
Management */
void TSMgmtUpdateRegister(TSCont contp, const char *plugin_name, const char
*plugin_file_name = nullptr);
@@ -1830,6 +1839,100 @@ namespace c
TSFetchWakeUpOptions callback_options, TSFetchEvent
event);
void TSFetchPages(TSFetchUrlParams_t *params);
+ /**
+ * Extended FetchSM's AIPs
+ */
+
+ /*
+ * Create FetchSM, this API will enable stream IO automatically.
+ *
+ * @param contp: continuation to be callbacked.
+ * @param method: request method.
+ * @param url: scheme://host[:port]/path.
+ * @param version: client http version, eg: "HTTP/1.1".
+ * @param client_addr: client addr sent to log.
+ * @param flags: can be bitwise OR of several TSFetchFlags.
+ *
+ * return TSFetchSM which should be destroyed by TSFetchDestroy().
+ */
+ TSFetchSM TSFetchCreate(TSCont contp, const char *method, const char *url,
const char *version,
+ struct sockaddr const *client_addr, int flags);
+
+ /*
+ * Set fetch flags to FetchSM Context
+ *
+ * @param fetch_sm: returned value of TSFetchCreate().
+ * @param flags: can be bitwise OR of several TSFetchFlags.
+ *
+ * return void
+ */
+ void TSFetchFlagSet(TSFetchSM fetch_sm, int flags);
+
+ /*
+ * Create FetchSM, this API will enable stream IO automatically.
+ *
+ * @param fetch_sm: returned value of TSFetchCreate().
+ * @param name: name of header.
+ * @param name_len: len of name.
+ * @param value: value of header.
+ * @param name_len: len of value.
+ *
+ * return TSFetchSM which should be destroyed by TSFetchDestroy().
+ */
+ void TSFetchHeaderAdd(TSFetchSM fetch_sm, const char *name, int name_len,
const char *value, int value_len);
+
+ /*
+ * Write data to FetchSM
+ *
+ * @param fetch_sm: returned value of TSFetchCreate().
+ * @param data/len: data to be written to fetch sm.
+ */
+ void TSFetchWriteData(TSFetchSM fetch_sm, const void *data, size_t len);
+
+ /*
+ * Read up to *len* bytes from FetchSM into *buf*.
+ *
+ * @param fetch_sm: returned value of TSFetchCreate().
+ * @param buf/len: buffer to contain data from fetch sm.
+ */
+ ssize_t TSFetchReadData(TSFetchSM fetch_sm, void *buf, size_t len);
+
+ /*
+ * Launch FetchSM to do http request, before calling this API,
+ * you should append http request header into fetch sm through
+ * TSFetchWriteData() API
+ *
+ * @param fetch_sm: comes from returned value of TSFetchCreate().
+ */
+ void TSFetchLaunch(TSFetchSM fetch_sm);
+
+ /*
+ * Destroy FetchSM
+ *
+ * @param fetch_sm: returned value of TSFetchCreate().
+ */
+ void TSFetchDestroy(TSFetchSM fetch_sm);
+
+ /*
+ * Set user-defined data in FetchSM
+ */
+ void TSFetchUserDataSet(TSFetchSM fetch_sm, void *data);
+
+ /*
+ * Get user-defined data in FetchSM
+ */
+ void *TSFetchUserDataGet(TSFetchSM fetch_sm);
+
+ /*
+ * Get client response hdr mbuffer
+ */
+ TSMBuffer TSFetchRespHdrMBufGet(TSFetchSM fetch_sm);
+
+ /*
+ * Get client response hdr mloc
+ */
+ TSMLoc TSFetchRespHdrMLocGet(TSFetchSM fetch_sm);
+
/* Check if HTTP State machine is internal or not */
int TSHttpTxnIsInternal(TSHttpTxn txnp);
int TSHttpSsnIsInternal(TSHttpSsn ssnp);
@@ -1900,6 +2003,22 @@ namespace c
TSAction TSNetAccept(TSCont contp, int port, int domain, int accept_threads);
+ /**
+ Attempt to attach the contp continuation to sockets that have already been
+ opened by the traffic Server and defined as belonging to plugins (based on
+ records.yaml configuration). If a connection is successfully accepted,
+ the TS_EVENT_NET_ACCEPT is delivered to the continuation. The event
+ data will be a valid TSVConn bound to the accepted connection.
+ In order to configure such a socket, add the "plugin" keyword to a port
+ in proxy.config.http.server_ports like "8082:plugin"
+ Transparency/IP settings can also be defined, but a port cannot have
+ both the "ssl" or "plugin" keywords configured.
+
+ Need to update records.yaml comments on proxy.config.http.server_ports
+ when this option is promoted from experimental.
+ */
+ TSReturnCode TSPluginDescriptorAccept(TSCont contp);
+
/**
Listen on all SSL ports for connections for the specified protocol name.
@@ -2031,6 +2150,30 @@ namespace c
TSReturnCode TSCacheReady(int *is_ready);
TSAction TSCacheScan(TSCont contp, TSCacheKey key, int KB_per_second);
+ /* Cache APIs that are not yet fully supported and/or frozen nor complete. */
+ TSReturnCode TSCacheBufferInfoGet(TSCacheTxn txnp, uint64_t *length,
uint64_t *offset);
+
+ TSCacheHttpInfo TSCacheHttpInfoCreate();
+ void TSCacheHttpInfoReqGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*obj);
+ void TSCacheHttpInfoRespGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*obj);
+ void TSCacheHttpInfoReqSet(TSCacheHttpInfo infop, TSMBuffer bufp, TSMLoc
obj);
+ void TSCacheHttpInfoRespSet(TSCacheHttpInfo infop, TSMBuffer bufp, TSMLoc
obj);
+ void TSCacheHttpInfoKeySet(TSCacheHttpInfo infop, TSCacheKey key);
+ void TSCacheHttpInfoSizeSet(TSCacheHttpInfo infop, int64_t size);
+ int TSCacheHttpInfoVector(TSCacheHttpInfo infop, void *data, int length);
+ int64_t TSCacheHttpInfoSizeGet(TSCacheHttpInfo infop);
+
+ void TSVConnCacheHttpInfoSet(TSVConn connp, TSCacheHttpInfo infop);
+
+ TSCacheHttpInfo TSCacheHttpInfoCopy(TSCacheHttpInfo infop);
+ void TSCacheHttpInfoReqGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*offset);
+ void TSCacheHttpInfoRespGet(TSCacheHttpInfo infop, TSMBuffer *bufp, TSMLoc
*offset);
+ void TSCacheHttpInfoDestroy(TSCacheHttpInfo infop);
+
+ time_t TSCacheHttpInfoReqSentTimeGet(TSCacheHttpInfo infop);
+ time_t TSCacheHttpInfoRespReceivedTimeGet(TSCacheHttpInfo infop);
+ TSReturnCode TSHttpTxnCachedRespTimeGet(TSHttpTxn txnp, time_t *resp_time);
+
/* --------------------------------------------------------------------------
VIOs */
void TSVIOReenable(TSVIO viop);
@@ -2404,6 +2547,11 @@ namespace c
int64_t TSHttpTxnClientRespBodyBytesGet(TSHttpTxn txnp);
int TSVConnIsSslReused(TSVConn sslp);
+ /****************************************************************************
+ * Allow to set the body of a POST request.
+
****************************************************************************/
+ void TSHttpTxnServerRequestBodySet(TSHttpTxn txnp, char *buf, int64_t
buflength);
+
/**
Return the current (if set) SSL Cipher. This is still owned by the
core, and must not be free'd.
@@ -2875,6 +3023,59 @@ namespace c
*/
TSTxnType TSHttpTxnTypeGet(TSHttpTxn txnp);
+ /* Get Arbitrary Txn info such as cache lookup details etc as defined in
TSHttpTxnInfoKey */
+ /**
+ Return the particular txn info requested.
+
+ @param txnp the transaction pointer
+ @param key the requested txn info.
+ @param TSMgmtInt a pointer to a integer where the return value is stored
+
+ @return @c TS_SUCCESS if the requested info is supported, TS_ERROR
otherwise
+
+ */
+ TSReturnCode TSHttpTxnInfoIntGet(TSHttpTxn txnp, TSHttpTxnInfoKey key,
TSMgmtInt *value);
+
+ /****************************************************************************
+ * TSHttpTxnCacheLookupCountGet
+ * Return: TS_SUCCESS/TS_ERROR
+
****************************************************************************/
+ TSReturnCode TSHttpTxnCacheLookupCountGet(TSHttpTxn txnp, int *lookup_count);
+ TSReturnCode TSHttpTxnServerRespIgnore(TSHttpTxn txnp);
+ TSReturnCode TSHttpTxnShutDown(TSHttpTxn txnp, TSEvent event);
+ TSReturnCode TSHttpTxnCloseAfterResponse(TSHttpTxn txnp, int should_close);
+
+ int TSHttpTxnClientReqIsServerStyle(TSHttpTxn txnp);
+ TSReturnCode TSHttpTxnUpdateCachedObject(TSHttpTxn txnp);
+
+ /**
+ Opens a network connection to the host specified by the 'to' sockaddr
+ spoofing the client addr to equal the 'from' sockaddr.
+ If the connection is successfully opened, contp
+ is called back with the event TS_EVENT_NET_CONNECT and the new
+ network vconnection will be passed in the event data parameter.
+ If the connection is not successful, contp is called back with
+ the event TS_EVENT_NET_CONNECT_FAILED.
+
+ Note: It is possible to receive TS_EVENT_NET_CONNECT
+ even if the connection failed, because of the implementation of
+ network sockets in the underlying operating system. There is an
+ exception: if a plugin tries to open a connection to a port on
+ its own host machine, then TS_EVENT_NET_CONNECT is sent only
+ if the connection is successfully opened. In general, however,
+ your plugin needs to look for an TS_EVENT_VCONN_WRITE_READY to
+ be sure that the connection is successfully opened.
+
+ @return TSAction which allows you to check if the connection is complete,
+ or cancel the attempt to connect.
+
+ */
+ TSAction TSNetConnectTransparent(
+ TSCont contp, /**< continuation that is called back when the attempted net
connection either succeeds or fails. */
+ struct sockaddr const *from, /**< Address to spoof as connection origin */
+ struct sockaddr const *to /**< Address to which to connect. */
+ );
+
} // end namespace c
template <typename T>
diff --git a/plugins/lua/ts_lua_common.h b/plugins/lua/ts_lua_common.h
index 13a34515f9..a96ea6a737 100644
--- a/plugins/lua/ts_lua_common.h
+++ b/plugins/lua/ts_lua_common.h
@@ -30,7 +30,6 @@ extern "C" {
} // extern "C"
#include <ts/ts.h>
-#include <ts/experimental.h>
#include <ts/remap.h>
#include "ts_lua_coroutine.h"
diff --git a/plugins/xdebug/xdebug.cc b/plugins/xdebug/xdebug.cc
index 7a818cc8cd..b6bcd4e26e 100644
--- a/plugins/xdebug/xdebug.cc
+++ b/plugins/xdebug/xdebug.cc
@@ -32,7 +32,6 @@
#include <unistd.h>
#include <ts/ts.h>
-#include "ts/experimental.h"
#include "tscore/ink_defs.h"
#include "tsutil/PostScript.h"
#include "swoc/TextView.h"
diff --git a/src/api/CMakeLists.txt b/src/api/CMakeLists.txt
index 3f00e974f2..fc4e7e9fa8 100644
--- a/src/api/CMakeLists.txt
+++ b/src/api/CMakeLists.txt
@@ -26,7 +26,6 @@ set(TSAPI_PUBLIC_HEADERS
${PROJECT_SOURCE_DIR}/include/ts/parentselectdefs.h
${PROJECT_SOURCE_DIR}/include/ts/parentselectdefs.h
${PROJECT_BINARY_DIR}/include/ts/apidefs.h
- ${PROJECT_SOURCE_DIR}/include/ts/experimental.h
)
target_link_libraries(tsapi PRIVATE libswoc::libswoc yaml-cpp::yaml-cpp
PCRE::PCRE OpenSSL::SSL)
diff --git a/src/api/InkAPI.cc b/src/api/InkAPI.cc
index 17429cf0a6..47657c11f6 100644
--- a/src/api/InkAPI.cc
+++ b/src/api/InkAPI.cc
@@ -6575,10 +6575,6 @@ tsapi::c::TSPluginVCIOBufferWaterMarkGet(TSHttpTxn txnp)
return TS_IOBUFFER_WATER_MARK_PLUGIN_VC_DEFAULT;
}
-// The API below require timer values as TSHRTime parameters
-// which are in nanoseconds. Use the TS_HRTIME macros defined
-// in ts/experimental.h until they are promoted to stable
-// api.
/* Net VConnections */
void
tsapi::c::TSVConnInactivityTimeoutSet(TSVConn connp, TSHRTime timeout)
diff --git a/src/api/InkAPITest.cc b/src/api/InkAPITest.cc
index 3ce15e8ca4..ed5dd35f67 100644
--- a/src/api/InkAPITest.cc
+++ b/src/api/InkAPITest.cc
@@ -43,7 +43,6 @@
#include "tscore/Regression.h"
#include "tscore/Filenames.h"
#include "ts/ts.h"
-#include "ts/experimental.h"
#include "records/RecCore.h"
#include "../iocore/net/P_Net.h"
diff --git a/src/tscpp/api/AsyncHttpFetch.cc b/src/tscpp/api/AsyncHttpFetch.cc
index add00c70b5..299ffb1dcd 100644
--- a/src/tscpp/api/AsyncHttpFetch.cc
+++ b/src/tscpp/api/AsyncHttpFetch.cc
@@ -24,7 +24,6 @@
#include <arpa/inet.h>
#include "tscpp/api/AsyncHttpFetch.h"
#include "ts/ts.h"
-#include "ts/experimental.h"
#include "logging_internal.h"
#include "utils_internal.h"