logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

TSAPI Types - TSTypes API function

Description

       The  Apache  Traffic Server API provides large number of types. Many of them are specific to a particular
       API function or function group, but others are used more widely. Those are described on this page.

       typeink_hrtimetypeINK_MD5
              Buffer type sufficient to contain an MD5 hash value.

       classINK_MD5
              See INK_MD5.

       classRecRawStatBlock
              A data block intended to contain Traffic Server statistics.

       typeTSActiontypeTSCacheKeytypeTSConfigtypeTSCont
              An opaque type that represents a Traffic Server continuation.

       typeTSEventFunctypeTSFiletypeTSHostLookupResult
              A type representing the result of a call to TSHostLookup(). Use with TSHostLookupResultAddrGet().

       typeTSHRTime
              "High Resolution Time"

              A 64 bit time value, measured in nanoseconds.

       typeTSHttpConnectOptions
              A type that encapsulates options passed into the TSHttpConnectPlugin() function.

              TSConnectTypeconnect_type
                     The type of data represented in the struct.

              sockaddrconst*addr
                     Network address of the target of the connection.

              constchar*tag
                     Tag that is passed through to the HTTP state machine.

              int64_tid
                     Numeric identifier passed through to the HTTP state machine.

              TSIOBufferSizeIndexbuffer_index
                     A numeric buffer size index used to derive actual sizes used when  constructing  IOBuffers;
                     see TSIOBufferSizeIndex.

              TSIOBufferWaterMarkbuffer_water_mark
                     A  numeric value specifying the minimum number of bytes that must be written to an IOBuffer
                     before  any  continuation  is  called  back   to   read   from   the   buffer.    See   the
                     TSIOBufferWaterMarkGet() and TSIOBufferWaterMarkSet() functions for further detail.

       typeTSConnectType
              Enumeration that specifies the type of data within a TSHttpConnectOptions structure.

       typeTSHttpParsertypeTSHttpSsn
              An opaque type that represents a Traffic Server session.

       typeTSHttpTxn
              An opaque type that represents a Traffic Server HTTP transaction.

       typeTSIOBuffertypeTSIOBufferBlocktypeTSIOBufferReadertypeTSIOBufferSizeIndextypeTSIOBufferWaterMark
              An enumeration that contains valid watermark values, currently only defaults.

       typeTSLifecycleHookID
              An enumeration that identifies a lifecyclehook.

       typeTSMBuffer
              Internally,  data for a transaction is stored in one or more headerheaps. These are storage local
              to the transaction, and generally each HTTP header is stored in a separate one.  This  type  is  a
              handle  to a header heap, and is provided or required by functions that locate HTTP header related
              data.

       typeTSMgmtCountertypeTSMgmtFloat
              The  type  used  internally  for  a  floating  point  value.  This  corresponds   to   the   value
              TS_RECORDDATATYPE_FLOAT for TSRecordDataType.

       typeTSMgmtInt
              The  type  used internally for an integer. This corresponds to the value TS_RECORDDATATYPE_INT for
              TSRecordDataType.

       typeTSMgmtStringtypeTSMimeParsertypeTSMLoc
              This is a memory location relative to a headerheap represented by a TSMBuffer and must always  be
              used  in  conjunction  with  that  TSMBuffer  instance.  It  identifies  a  specific object in the
              TSMBuffer. This indirection is needed so that  the  TSMBuffer  can  reallocate  space  as  needed.
              Therefore  a  raw  address  obtained  from  a TSMLoc should be considered volatile that may become
              invalid across any API call.

       TSMLocTS_NULL_MLOC
              A predefined null valued TSMLoc used to indicate the absence of an TSMLoc.

       typeTSMutextypeTSPluginRegistrationInfo
              The following struct is used by TSPluginRegister().

              It stores registration information about the plugin.

       typeTSRemapInterface
              Data passed to a remap plugin via TSRemapInit().

              unsignedlongsize
                     The size of the structure in bytes, including this member.

              unsignedlongtsremap_version
                     The API version of the C API. The lower 16 bits are the minor version, and the  upper  bits
                     the major version.

       typeTSRemapRequestInfo
              Data passed to a remap plugin during the invocation of a remap rule.

              TSMBufferrequestBufp
                     The client request. All of the other TSMLoc values use this as the base buffer.

              TSMLocrequestHdrp
                     The client request.

              TSMLocmapFromUrl
                     The match URL in the remap rule.

              TSMLocmapToUrl
                     The target URL in the remap rule.

              TSMLocrequestUrl
                     The  current  request  URL. The remap rule and plugins listed earlier in the remap rule can
                     modify this from the client request URL. Remap plugins are expected to modify this value to
                     perform the remapping of the request. Note this is the same TSMLoc as would be obtained  by
                     calling TSHttpTxnClientReqGet().

              intredirect
                     Flag  for  using  the remapped URL as an explicit redirection. This can be set by the remap
                     plugin.

       typeTSSecretID
              Contains the data for a TLS certificate and key.

              constchar*cert_name;
                     The TLS certificate name.

              size_tcert_name_len;
                     The length of the TLS certificate name.

              constchar*key_name;
                     The name of the TLS key.

              size_tkey_name_len;
                     The length of the name of the TLS key.

       typeTSSslX509
              This type represents the X509 object created from an SSL certificate.

       typeTSTextLogObject
              This type represents a custom log file that you create with TSTextLogObjectCreate().

              Your plugin writes entries into this log file using TSTextLogObjectWrite().

       typeTSThread
              This represents an internal Traffic Server thread, created by the Traffic Server core.  It  is  an
              opaque  type  which  can  be  used  only  to  check  for  equality / inequality, and passed to API
              functions. An instance that refers to the current thread can be obtained with TSThreadSelf().

       typeTSEventThread
              This type represents an eventthread. It is an opaque which is used to specify a particular  event
              processing thread in Traffic Server. If plugin code is executing in an event thread (which will be
              true if called from a hook or a scheduled event) then the current event thread can be obtained via
              TSEventThreadSelf().

              A  TSEventThread  is  also  a  TSThread  and can be passed as an argument to any parameter of type
              TSThread.

       typeTSThreadFunctypeTSUserArgType
              An enum for the supported types of user arguments.

       enumTSUuidVersion
              A version value for at TSUuid.

              enumeratorTS_UUID_V4
                     A version 4 UUID. Currently only this value is used.

       size_tTS_UUID_STRING_LEN
              Length of a UUID string.

       typeTSVConn
              A virtual connection. This is the basic  mechanism  for  abstracting  I/O  operations  in  Traffic
              Server.

       typeTSNetVConnection
              A subtype of TSVConn that provides additional IP network information and operations.

       typeTSVIOtypeModuleVersion
              A module version.

       typeModuleVersion
              A module version.

       template<typenameT>classDLL
              An anchor for a double linked intrusive list of instance of T.

       template<typenameT>classQueuetypeTSAcceptortemplate<typenameT>classLINKclassVersionNumber
              A two part version number, defined in include/tscore/I_Version.h.

              shortintink_major
                     Major version number.

              shortintink_minor
                     Minor version number.

       typeTSFetchUrlParams_ttypeTSFetchSMtypeTSFetchEventtypeTSHttpPriority
              The abstract type of the various HTTP priority implementations.

              uint8_tpriority_type
                     The  reference  to  the  concrete  HTTP  priority implementation. This will be a value from
                     TSHttpPriorityType

              uint8_tdata[7]
                     The space allocated for the concrete priority implementation.

                     Note that this has to take padding into account. There is a static_assert in  InkAPI.cc  to
                     verify that TSHttpPriority is at least as large as TSHttp2Priority. As other structures are
                     added  that  are  represented  by  TSHttpPriority  add  more  static_asserts to verify that
                     TSHttpPriority is as large as it needs to be.

       typeTSHttp2Priority
              A structure for HTTP/2 priority. For an explanation of these terms with respect to HTTP/2, see RFC7540, section 5.3.

              uint8_tpriority_type
                     HTTP_PROTOCOL_TYPE_HTTP_2

              uint8_tweightint32_tstream_dependency
                     The stream dependency. Per spec, see RFC7540 section 6.2, this is 31 bits. We use a signed
                     32 bit structure to store either a valid dependency or -1 if the stream has no dependency.

Name

       TSAPI Types - TSTypes API function

Synopsis

          #include <ts/ts.h>
          #include <ts/remap.h>

See Also