Author: buildbot
Date: Mon Jan 31 00:09:23 2011
New Revision: 784423
Log:
Staging update by buildbot
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/STATUS
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/STATUS
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/STATUS (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/STATUS Mon Jan 31
00:09:23 2011
@@ -58,7 +58,7 @@ http-transformation-plugin -- igalic
new-protocol-plugins -- igalic
cache-plugin -- igalic
http-hooks-and-transactions -- igalic
-misc-interface-guide
+misc-interface-guide -- igalic
http-headers
mutex-guide
continuations
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
Mon Jan 31 00:09:23 2011
@@ -24,8 +24,8 @@
<h2 id="Header-BasedPluginExamples">Header-Based Plugin Examples</h2>
<p><strong>Table of Contents</strong></p>
<ul>
-<li><a href="blacklist-plugin">The Blacklist Plugin</a></li>
-<li><a href="blacklist-plugin#CreatingParentContinuation">Creating the Parent
Continuation</a><ul>
+<li><a href="blacklist-plugin">The Blacklist Plugin</a><ul>
+<li><a href="blacklist-plugin#CreatingParentContinuation">Creating the Parent
Continuation</a></li>
<li><a href="blacklist-plugin/setting-a-global-hook">Setting a Global
Hook</a></li>
<li><a href="blacklist-plugin/setting-up-ui-update-callbacks">Setting Up UI
Update Callbacks</a></li>
<li><a
href="blacklist-plugin/accessing-the-transaction-being-processed">Accessing the
Transaction Being Processed</a></li>
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
Mon Jan 31 00:09:23 2011
@@ -39,7 +39,7 @@ to a transaction. See <a href="../header
<li>
<p><strong>Transformation hooks</strong>
Transformation hooks are a special case of transaction hooks. See
-%method TSVConnCacheObjectSizeGet%
+<a href="link/to/doxygen">TSVConnCacheObjectSizeGet</a>
for more information about transformation hooks. You add a transformation hook
using <code>TSHttpTxnHookAdd</code>, as described in <a
href="HTTP_Transactions.html">HTTP Transactions</a>.</p>
</li>
@@ -124,7 +124,7 @@ a client connects to Traffic Server and
or a previous client connection that was left open for keep alive has new data
available.</dd>
</dl>
-<p>The function you use to add a global HTTP hook is %method
TSHttpHookAdd%.</p>
+<p>The function you use to add a global HTTP hook is <a
href="link/to/doxygen">TSHttpHookAdd</a>.</p>
</div>
<div id="footer">
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
Mon Jan 31 00:09:23 2011
@@ -180,16 +180,16 @@ for the alternate.</p>
<p>The HTTP alternate selection functions are:</p>
<ul>
<li>
-<p>%method TSHttpAltInfoCachedReqGet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoCachedReqGet</a></p>
</li>
<li>
-<p>%method TSHttpAltInfoCachedRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoCachedRespGet</a></p>
</li>
<li>
-<p>%method TSHttpAltInfoClientReqGet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoClientReqGet</a></p>
</li>
<li>
-<p>%method TSHttpAltInfoQualitySet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoQualitySet</a></p>
</li>
</ul>
</div>
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
Mon Jan 31 00:09:23 2011
@@ -50,8 +50,8 @@ then use <code>TSHttpSsnHookAdd</code>.<
a session hook.</p>
<p>The session hook functions are listed below:</p>
<ul>
-<li>%method TSHttpSsnHookAdd%</li>
-<li>%method TSHttpSsnReenable%</li>
+<li><a href="link/to/doxygen">TSHttpSsnHookAdd</a></li>
+<li><a href="link/to/doxygen">TSHttpSsnReenable</a></li>
</ul>
</div>
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
Mon Jan 31 00:09:23 2011
@@ -153,68 +153,68 @@ for an illustration of the steps involve
<p>The HTTP transaction functions are:</p>
<ul>
<li>
-<p>%method TSHttpTxnCacheLookupStatusGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnCacheLookupStatusGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnCachedReqGet% - Note that it is an error to modify cached
headers.</p>
+<p><a href="link/to/doxygen">TSHttpTxnCachedReqGet</a> - Note that it is an
error to modify cached headers.</p>
</li>
<li>
-<p>%method TSHttpTxnCachedRespGet% - Note that it is an error to modify cached
headers.</p>
+<p><a href="link/to/doxygen">TSHttpTxnCachedRespGet</a> - Note that it is an
error to modify cached headers.</p>
</li>
<li>
-<p>%method TSHttpTxnClientIncomingPortGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientIncomingPortGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnClientIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientIPGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnClientRemotePortGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientRemotePortGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnClientReqGet% - Plugins that must read client request
headers
+<p><a href="link/to/doxygen">TSHttpTxnClientReqGet</a> - Plugins that must
read client request headers
use this call to retrieve the HTTP header.</p>
</li>
<li>
-<p>%method TSHttpTxnClientRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientRespGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnErrorBodySet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnErrorBodySet</a></p>
</li>
<li>
-<p>%method TSHttpTxnHookAdd%</p>
+<p><a href="link/to/doxygen">TSHttpTxnHookAdd</a></p>
</li>
<li>
-<p>%method TSHttpTxnNextHopIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnNextHopIPGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnNextHopIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnNextHopIPGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnParentProxySet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnParentProxySet</a></p>
</li>
<li>
-<p>%method TSHttpTxnReenable%</p>
+<p><a href="link/to/doxygen">TSHttpTxnReenable</a></p>
</li>
<li>
-<p>%method TSHttpTxnServerIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnServerIPGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnServerReqGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnServerReqGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnServerRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnServerRespGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnSsnGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnSsnGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnTransformedRespCache%</p>
+<p><a href="link/to/doxygen">TSHttpTxnTransformedRespCache</a></p>
</li>
<li>
-<p>%method TSHttpTxnTransformRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnTransformRespGet</a></p>
</li>
<li>
-<p>%method TSHttpTxnUntransformedRespCache%</p>
+<p><a href="link/to/doxygen">TSHttpTxnUntransformedRespCache</a></p>
</li>
</ul>
</div>
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
Mon Jan 31 00:09:23 2011
@@ -26,7 +26,7 @@
<p>This function enables plugins to initiate HTTP transactions. The initiate
HTTP
connection function is:</p>
<ul>
-<li>%method TSHttpConnect%</li>
+<li><a href="link/to/doxygen">TSHttpConnect</a></li>
</ul>
</div>
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
Mon Jan 31 00:09:23 2011
@@ -29,7 +29,7 @@ intercepting HTTP transaction function a
as well as using alternative transports to the origin server.The intercepting
HTTP transaction functions are:</p>
<ul>
-<li>%method TSHttpTxnIntercept%</li>
+<li><a href="link/to/doxygen">TSHttpTxnIntercept</a></li>
</ul>
</div>
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
<link rel="stylesheet" href="/styles/pygments_style.css" />
- <title></title>
-
+ <title>Apache Traffic Server⢠Software Developers Kit</title>
+ <!-- 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. -->
</head>
<body>
@@ -15,11 +15,57 @@
<span id="ts_logo">
<a href="http://trafficserver.apache.org/"><img alt="Apache
Traffic Server" src="/images/ts75.png" /></a>
</span>
- <h1></h1>
+ <h1>Apache Traffic Server⢠Software Developers Kit</h1>
</div>
<div id="content">
-
+ <p><a href="HTTPAlternateSelection.html">Prev</a> - HTTP Alternate
Selection</p>
+<p>The TSfopen Family - <a href="TSfopenFamily.html">Next</a></p>
+<h2 id="MiscellaneousInterfaceGuide">Miscellaneous Interface Guide</h2>
+<p>Most of the functions in the Traffic Server API provide an interface to
specific
+code modules within Traffic Server. The miscellaneous functions described in
+this chapter provide some useful general capabilities. They are categorized
+as follows:</p>
+<ul>
+<li>
+<p><a href="#DebuggingFunctions">Debugging Functions</a></p>
+</li>
+<li>
+<p><a href="tsfopen-family">The TSfopen Family</a></p>
+</li>
+<li>
+<p><a href="memory-allocation">Memory Allocation</a></p>
+</li>
+<li>
+<p><a href="thread-functions">Thread Functions</a></p>
+</li>
+</ul>
+<p>The C library already provides functions such as <code>printf</code>,
<code>malloc</code>, and <code>fopen</code>
+to perform these tasks. The Traffic Server API versions, however, overcome
+various C library limitations (such as portability to all Traffic
Server-support
+platforms).</p>
+<h2 id="DebuggingFunctions">Debugging Functions</h2>
+<ul>
+<li>
+<p><a href="link/to/doxygen">TSDebug</a> prints out a formatted statement
+if you are running Traffic Server in debug mode.</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSIsDebugTagSet</a> checks to see if a debug tag
is set.
+If the debug tag is set, then Traffic Server prints out all debug statements
+associated with the tag.</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSError</a> prints error messages to Traffic
Server's error log</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSAssert</a> enables the use of assertion in a
plugin.</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSReleaseAssert</a> enables the use of assertion
in a
+plugin.</p>
+</li>
+</ul>
</div>
<div id="footer">
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
<link rel="stylesheet" href="/styles/pygments_style.css" />
- <title></title>
-
+ <title>Apache Traffic Server⢠Software Developers Kit</title>
+ <!-- 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. -->
</head>
<body>
@@ -15,11 +15,41 @@
<span id="ts_logo">
<a href="http://trafficserver.apache.org/"><img alt="Apache
Traffic Server" src="/images/ts75.png" /></a>
</span>
- <h1></h1>
+ <h1>Apache Traffic Server⢠Software Developers Kit</h1>
</div>
<div id="content">
-
+ <p><a href="tsfopen-family">Prev</a> - The TSfopen Family</p>
+<p>Thread Functions - <a href="thread-functions">Next</a></p>
+<h2 id="MemoryAllocation">Memory Allocation</h2>
+<p>Traffic Server provides five routines for allocating and freeing memory.
These
+routines correspond to similar routines in the C library. For example,
<code>TSrealloc</code>
+behaves like the C library routine <code>realloc</code>.</p>
+<p>There are two main reasons for using the routines provided by Traffic
Server.
+The first is portability: the Traffic Server API routines behave the same on
+all of Traffic Server's supported platforms. For example, <code>realloc</code>
does not
+accept an argument of <code>NULL</code> on some platforms. The second reason
is that the
+Traffic Server routines actually track the memory allocations by file and line
+number. This tracking is very efficient, always turned on, and quite useful
+when tracking down memory leaks.</p>
+<p>The memory allocation functions are:</p>
+<ul>
+<li>
+<p><a href="link/to/doxygen">TSfree</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSmalloc</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSrealloc</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSstrdup</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSstrndup</a></p>
+</li>
+</ul>
</div>
<div id="footer">
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
<link rel="stylesheet" href="/styles/pygments_style.css" />
- <title></title>
-
+ <title>Apache Traffic Server⢠Software Developers Kit</title>
+ <!-- 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. -->
</head>
<body>
@@ -15,11 +15,25 @@
<span id="ts_logo">
<a href="http://trafficserver.apache.org/"><img alt="Apache
Traffic Server" src="/images/ts75.png" /></a>
</span>
- <h1></h1>
+ <h1>Apache Traffic Server⢠Software Developers Kit</h1>
</div>
<div id="content">
-
+ <p><a href="memory-allocation">Prev</a> - Memory Allocation</p>
+<p>Chapter 10. HTTP Headers - <a href="../http-headers">Next</a></p>
+<h2 id="ThreadFunctions">Thread Functions</h2>
+<p>The Traffic Server API thread functions enable you to create, destroy, and
+identify threads within Traffic Server. Multithreading enables a single program
+to have more than one stream of execution and to process more than one
transaction
+at a time. Threads serialize their access to shared resources and data using
+the <code>TSMutex</code> type, as described in <a
href="../mutex-guide/#Mutexes">Mutexes</a>.</p>
+<p>The thread functions are listed below:</p>
+<ul>
+<li><a href="link/to/doxygen">TSThreadCreate</a></li>
+<li><a href="link/to/doxygen">TSThreadDestroy</a></li>
+<li><a href="link/to/doxygen">TSThreadInit</a></li>
+<li><a href="link/to/doxygen">TSThreadSelf</a></li>
+</ul>
</div>
<div id="footer">
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html
Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
<link rel="stylesheet" href="/styles/pygments_style.css" />
- <title></title>
-
+ <title>Apache Traffic Server⢠Software Developers Kit</title>
+ <!-- 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. -->
</head>
<body>
@@ -15,11 +15,50 @@
<span id="ts_logo">
<a href="http://trafficserver.apache.org/"><img alt="Apache
Traffic Server" src="/images/ts75.png" /></a>
</span>
- <h1></h1>
+ <h1>Apache Traffic Server⢠Software Developers Kit</h1>
</div>
<div id="content">
-
+ <p><a href="../misc-interface-guide">Prev</a> - iscellaneous Interface
Guide</p>
+<p>Memory Allocation - <a href="memory-allocation">Next</a></p>
+<h2 id="TSfopenFamily">The TSfopen Family</h2>
+<p>The <code>fopen</code> family of functions in C is normally used for
reading configuration
+files, since <code>fgets</code> is an easy way to parse files on a
line-by-line basis.
+The <code>TSfopen</code> family of functions aims at solving the same problem
of buffered
+IO and line at a time IO in a platform-independent manner. The
<code>fopen</code> family
+of C library functions can only open a file if a file descriptor less than
+256 is available. Since Traffic Server often has more than 2000 file
descriptors
+open at once, however, the likelihood of an available file descriptor less
+than 256 very small. To solve this problem, the <code>TSfopen</code> family
can open
+files with descriptors greater than 256.</p>
+<p>The <code>TSfopen</code> family of routines is not intended for high speed
IO or flexibility -
+they are blocking APIs (not asynchronous). For performance reasons, you should
+not directly use these APIs on a Traffic Server thread (when being called back
+on an HTTP hook); it is better to use a separate thread for doing the blocking
+IO. The <code>TSfopen</code> family is intended for reading and writing
configuration
+information when corresponding usage of the <code>fopen</code> family of
functions is
+inappropriate due to file descriptor and portability limitations. The
<code>TSfopen</code>
+family of functions consists of the following:</p>
+<ul>
+<li>
+<p><a href="link/to/doxygen">TSfclose</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfflush</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfgets</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfopen</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfread</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfwrite</a></p>
+</li>
+</ul>
</div>
<div id="footer">