Provided by: trafficserver-dev_9.2.1+ds-1build1_amd64 bug

NAME

       TSHttpConnectPlugin  - allows the plugin to initiate an http connection. This will tag the
       HTTP state machine with extra  data  that  can  be  accessed  by  the  logging  interface.
       Additional  arguments  provide  buffer settings that are used when constructing IOBuffers.
       The connection is treated as an HTTP transaction as if it came from a client

SYNOPSIS

          #include <ts/ts.h>

       TSVConn TSHttpConnectPlugin(TSHttpConnectOptions *options);

DESCRIPTION

       This call attempts to create an HTTP state machine and a virtual connection to that  state
       machine.  This  is  more  efficient  than using TSNetConnect() because it avoids using the
       operating system stack via the loopback interface.

       options
              A TSHttpConnectOptions structure that contains  fields  that  provide  the  network
              address  of the target, a tag that can be passed through to the HTTP state machine,
              a plugin ID, a buffer index and buffer water mark.

       The virtual connection returned as the TSVConn is API  equivalent  to  a  network  virtual
       connection  both to the plugin and to internal mechanisms. Data is read and written to the
       connection (and thence to the target system)  by  reading  and  writing  on  this  virtual
       connection.

       NOTE:
          This  function  only  opens  the  connection.  To  drive the transaction an actual HTTP
          request must be sent and the HTTP response handled. The transaction  is  handled  as  a
          standard  HTTP  transaction  and  all of the standard configuration options and plugins
          will operate on it.

       The combination of tag and id is intended to enable correlation in  log  post  processing.
       The  tag  identifies  the  connection  as  related to the plugin and the id can be used in
       conjunction with plugin generated logs to correlate the log records.

NOTES

       The H2 implementation uses this to correlate client sessions with H2 streams. Each  client
       connection  is  assigned  a  distinct  numeric  identifier.  This is passed in the options
       structure via the member variable id to the TSHttpConnectPlugin() function.   The  tag  is
       selected  to  be  the  NPN  string  for  the  client session protocol, e.g. "h2". Log post
       processing can then count the number of connections for the  various  supported  protocols
       and the number of H2 virtual streams for each real client connection to Traffic Server.

SEE ALSO

       TSHttpConnectWithPluginId(3ts), TSHttpConnect(3ts), TSNetConnect(3ts), TSAPI(3ts)

COPYRIGHT

       2023, dev@trafficserver.apache.org