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"
 

Reply via email to