.. 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. .. include:: ../common.defs .. _glossary: Glossary ******** .. glossary:: :sorted: continuation A callable object that contains state. This is a mechanism used by |TS| to implement callbacks and continued computations. Continued computations are critical to efficient processing of traffic because by avoiding any blocking operations that wait on external events. In any such case a continuation is used so that other processing can continue until the external event occurs. At that point the continuation is invoked to continue the suspended processing. This can be considered similar to co-routines. event loop Code that executes callbacks in continuations from a queue of events. event thread A thread created by |TS| that has an :term:`event loop`. Event loops drive activity in |TS| and are responsible for all network I/O handling, hook processing, and scheduled events. header heap A heap to manage transaction local memory for HTTP headers. session A single connection from a client to Traffic Server, covering all requests and responses on that connection. A session starts when the client connection opens, and ends when the connection closes. transaction A client request and response, either from the origin server or from the cache. A transaction begins when |TS| receives a request, and ends when |TS| sends the response. client request The HTTP request sent from the user agent (the client) to |TS|. proxy request The HTTP request sent from |TS| (the proxy) to the upstream. cache volume A user defined unit of persistent storage for the cache. Cache volumes are defined in :file:`volume.config`. A cache volume is by default spread across :term:`cache span`\ s to increase robustness. Each section of a cache volume on a specific cache span is a :term:`cache stripe`. cache stripe A homogeneous, persistent store for the cache in a single :term:`cache span`. A stripe always resides entirely on a single physical device and is treated as an undifferentiated span of bytes. This is the smallest independent unit of storage. cache span The physical storage described by a single line in :file:`storage.config`. cache key A byte sequence that is a globally unique identifier for an :term:`object ` in the cache. By default the URL for the object is used. cache ID A 128 bit value used as a fixed sized identifier for an object in the cache. This is computed from the :term:`cache key` using the `MD5 hashing function `_. cache tag The bottom few bits (12 currently) of the :term:`cache ID`. This is used in the :ref:`cache directory ` for a preliminary identity check before going to disk. cache object The minimal self contained unit of data in the cache. Cache objects are the stored version of equivalent content streams from an origin server. A single object can have multiple variants called :term:`alternates `. alternate A variant of a :term:`cache object`. This was originally created to handle the `VARY mechanism `_ but has since been used for additional purposes. All alternates of an object must be equivalent in some manner. That is, they are alternate forms of the same stream. The most common example is having normal and compressed versions of the stream. storage unit Obsolete term for :term:`cache span`. revalidation Verifying that a currently cached object is still valid. This is usually done using an `If-Modified-Since `_ request which allows the origin server to validate the content without resending the content. write cursor The location in a :term:`cache stripe` where new data is written. directory segment A contiguous group of :term:`buckets `. Each :term:`cache stripe` has a set of segments all of which have the same number of buckets, although the number of buckets per segment can vary between cache stripes. Segments are administrative in purpose to minimize the size of free list and hash bucket pointers. directory bucket A contiguous fixed sized group of :term:`directory entries `. This is used for hash bucket maintenance optimization. directory entry An in memory entry that describes a :term:`cache fragment`. cache fragment The unit of storage in the cache. All reads from the cache always read exactly one fragment. Fragments may be written in groups, but every write is always an integral number of fragments. Each fragment has a corresponding :term:`directory entry` which describes its location in the cache storage. object store The database of :term:`cache objects `. fresh The state of a :term:`cache object` which can be served directly from the the cache in response to client requests. Fresh objects have not met or passed their :term:`origin server` defined expiration time, nor have they reached the algorithmically determined :term:`stale` age. stale The state of a :term:`cache object` which is not yet expired, but has reached an algorithmically determined age at which the :term:`origin server` will be contacted to :term:`revalidate ` the freshness of the object. Contrast with :term:`fresh`. origin server An HTTP server which provides the original source of content being cached by Traffic Server. cache partition A subdivision of the cache storage in |TS| which is dedicated to objects for specific protocols, origins, or other rules. Defining and managing cache partitions is discussed in :ref:`partitioning-the-cache`. global plugin A plugin which operates on all transactions. Contrast with :term:`remap plugin`. remap plugin A plugin which operates only on transactions matching specific remap rules as defined in :file:`remap.config`. Contrast with :term:`global plugin`. variable sized class A class where the instances vary in size. This is done by allocating a block of memory at least as large as the class and then constructing a class instance at the start of the block. The class must be provided the size of this extended memory during construction and is presumed to use it as part of the instance. This generally requires calling a helper function to create the instance and extra care when de-allocating.