trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r780509 - in /websites/staging/trafficserver/trunk/content/docs/trunk/sdk: getting-started/ how-to-create-trafficserver-plugins/ preface/
Date Mon, 13 Dec 2010 00:21:28 GMT
Author: buildbot
Date: Mon Dec 13 00:21:28 2010
New Revision: 780509

Log:
Staging update by buildbot

Modified:
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/a-simple-plugin.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/index.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/naming-conventions.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/plugin-registration-and-version-checking.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/index.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/how-to-use-this-book.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/index.en.html
    websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/typographical-conventions.en.html

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/a-simple-plugin.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/a-simple-plugin.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/a-simple-plugin.en.html Mon Dec 13 00:21:28 2010
@@ -16,7 +16,7 @@
     <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      <p><a href="../getting-started">Prev</a> - Chapter 1. Getting Started</p>
+      <p><a href="../getting-started">Prev</a> - Getting Started</p>
 <p>Update the <code>plugin.config</code> File - <a href="plugin-registration-and-version-checking">Next</a></p>
 <h2 id="a_simple_plugin">A Simple Plugin</h2>
 <p>This section describes how to write, compile, configure, and run a simple Traffic

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/index.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/index.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/index.en.html Mon Dec 13 00:21:28 2010
@@ -18,7 +18,7 @@
   <div id="content">
       <p><a href="../preface/typographical-conventions">Prev</a> - Typographical Conventions</p>
 <p>A Simple Plugin - <a href="a-simple-plugin">Next</a></p>
-<h2 id="chapter_1_getting_started">Chapter 1. Getting Started</h2>
+<h2 id="getting_started">Getting Started</h2>
 <p>The Traffic Server API enables you to create plugins, using the C programming
 language, that customize the behavior of your Traffic Server installation.
 This chapter contains the following sections:</p>
@@ -48,10 +48,10 @@ naming conventions. For guidelines on cr
 traffic, such as DNS and HTTP requests and responses.</p>
 <p>Traffic Server itself consists of an event-driven loop that can be simplified
 as follows:</p>
-<div class="codehilite"><pre><span class="k">for</span> <span class="p">(;;)</span> <span class="p">{</span>
-<span class="n">event</span> <span class="o">=</span> <span class="n">get_next_event</span><span class="p">();</span>
-<span class="n">handle_event</span> <span class="p">(</span><span class="n">event</span><span class="p">);</span>
-<span class="p">}</span>
+<div class="codehilite"><pre>   <span class="k">for</span> <span class="p">(;;)</span> <span class="p">{</span>
+        <span class="n">event</span> <span class="o">=</span> <span class="n">get_next_event</span><span class="p">();</span>
+        <span class="n">handle_event</span> <span class="p">(</span><span class="n">event</span><span class="p">);</span>
+   <span class="p">}</span>
 </pre></div>
 
 
@@ -61,13 +61,13 @@ Server loads when it is started. Your pl
 are registered for specific Traffic Server events. When Traffic Server needs
 to process an event, it invokes any and all call-back functions you've registered
 for that event type.</p>
-<p>![[Caution]][images/docbook/caution.png]
+<p><img alt="[Caution]" src="images/docbook/caution.png" />
 <strong>Caution</strong></p>
 <p>Since plugins add object code to Traffic Server, programming errors in a plugin
 can have serious implications. Bugs in your plugin, such as an out-of-range
 pointer, can cause Traffic Server processes to crash and may ultimately result
 in unpredictable behavior.</p>
-<p><strong>Figure 1.1. Plugin Process</strong></p>
+<h4 id="PluginProcess">Plugin Process</h4>
 <p>![Plugin Process][images/plugin_process.jpg]</p>
 <h3 id="possible_uses_for_plugins">Possible Uses for Plugins</h3>
 <p>Possible uses for plugins include the following:</p>

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/naming-conventions.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/naming-conventions.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/naming-conventions.en.html Mon Dec 13 00:21:28 2010
@@ -17,7 +17,7 @@
 
   <div id="content">
       <p><a href="plugin-registration-and-version-checking">Prev</a> - Plugin Registration and Version Checking</p>
-<p>Chapter 2. How to Create Traffic Server Plugins - <a href="../how-to-create-trafficserver-plugins">Next</a></p>
+<p>How to Create Traffic Server Plugins - <a href="../how-to-create-trafficserver-plugins">Next</a></p>
 <h2 id="naming_conventions">Naming Conventions</h2>
 <p>The Traffic Server API adheres to the following naming conventions:</p>
 <ul>

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/plugin-registration-and-version-checking.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/plugin-registration-and-version-checking.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/getting-started/plugin-registration-and-version-checking.en.html Mon Dec 13 00:21:28 2010
@@ -8,63 +8,46 @@
     
     <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 &quot;License&quot;); 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 &quot;AS IS&quot; 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>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      <h1 id="apache_traffic_server+_software_developers_kit">Apache Traffic Server™ Software Developers Kit</h1>
-<p>Notice:    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.</p>
-<p><a href="a-simple-plugin">Prev</a> - A simple Plugin</p>
+      <p><a href="a-simple-plugin">Prev</a> - A simple Plugin</p>
 <p>Naming Conventions - <a href="naming-conventions">Next</a></p>
 <h2 id="plugin_registration_and_version_checking">Plugin Registration and Version Checking</h2>
 <p>Make sure that the functions in your plugin are supported in your version of
 Traffic Server.</p>
 <p>Use the following interfaces:</p>
 <ul>
-<li><a href="TSPluginRegister.html">TSPluginRegister</a></li>
-<li><a href="TSTrafficServerVersionGet.html">TSTrafficServerVersionGet</a></li>
+<li><a href="link/to/doxygen">TSPluginRegister</a></li>
+<li><a href="link/to/doxygen">TSTrafficServerVersionGet</a></li>
 </ul>
 <p>The following version of <code>hello-world</code> registers the plugin and ensures it's
 running with a compatible version of Traffic Server.</p>
-<div class="codehilite"><pre><span class="c1">#include &lt;stdio.h&gt;</span>
-<span class="c1">#include &lt;ts/ts.h&gt;</span>
-<span class="nb">int</span>
-<span class="n">check_ts_version</span><span class="p">()</span>
+<div class="codehilite"><pre><span class="cp">#include &lt;stdio.h&gt;</span>
+<span class="cp">#include &lt;ts/ts.h&gt;</span>
+<span class="kt">int</span>
+<span class="nf">check_ts_version</span><span class="p">()</span>
 <span class="p">{</span>
 
- <span class="n">const</span> <span class="n">char</span> <span class="o">*</span><span class="n">ts_version</span> <span class="o">=</span> <span class="n">TSTrafficServerVersionGet</span><span class="p">();</span>
- <span class="nb">int</span> <span class="n">result</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+ <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">ts_version</span> <span class="o">=</span> <span class="n">TSTrafficServerVersionGet</span><span class="p">();</span>
+ <span class="kt">int</span> <span class="n">result</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
 
    <span class="k">if</span> <span class="p">(</span><span class="n">ts_version</span><span class="p">)</span> <span class="p">{</span>
-    <span class="nb">int</span> <span class="n">major_ts_version</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
-    <span class="nb">int</span> <span class="n">minor_ts_version</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
-    <span class="nb">int</span> <span class="n">patch_ts_version</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+    <span class="kt">int</span> <span class="n">major_ts_version</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+    <span class="kt">int</span> <span class="n">minor_ts_version</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+    <span class="kt">int</span> <span class="n">patch_ts_version</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
 
    <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span><span class="p">(</span><span class="n">ts_version</span><span class="p">,</span> <span class="s">&quot;%d.%d.%d&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">major_ts_version</span><span class="p">,</span>
       <span class="o">&amp;</span><span class="n">minor_ts_version</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">patch_ts_version</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">3</span><span class="p">)</span> <span class="p">{</span>
       <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
   <span class="p">}</span>
 
-  <span class="sr">/* We need at least Traffic Server 2.0 */</span>
+  <span class="cm">/* We need at least Traffic Server 2.0 */</span>
 
    <span class="k">if</span> <span class="p">(</span><span class="n">major_ts_version</span> <span class="o">&gt;=</span> <span class="mi">2</span><span class="p">)</span> <span class="p">{</span>
       <span class="n">result</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
@@ -75,26 +58,26 @@ running with a compatible version of Tra
   <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
 <span class="p">}</span>
 
-<span class="n">void</span>
-<span class="n">TSPluginInit</span> <span class="p">(</span><span class="nb">int</span> <span class="n">argc</span><span class="p">,</span> <span class="n">const</span> <span class="n">char</span> <span class="o">*</span><span class="n">argv</span><span class="o">[]</span><span class="p">)</span>
+<span class="kt">void</span>
+<span class="nf">TSPluginInit</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span>
 <span class="p">{</span>
 
       <span class="n">TSPluginRegistrationInfo</span> <span class="n">info</span><span class="p">;</span>
 
-      <span class="n">info</span><span class="o">.</span><span class="n">plugin_name</span> <span class="o">=</span> <span class="s">&quot;hello-world&quot;</span><span class="p">;</span>
-      <span class="n">info</span><span class="o">.</span><span class="n">vendor_name</span> <span class="o">=</span> <span class="s">&quot;MyCompany&quot;</span><span class="p">;</span>
-      <span class="n">info</span><span class="o">.</span><span class="n">support_email</span> <span class="o">=</span> <span class="s">&quot;ts-api-support@MyCompany.com&quot;</span><span class="p">;</span>
+      <span class="n">info</span><span class="p">.</span><span class="n">plugin_name</span> <span class="o">=</span> <span class="s">&quot;hello-world&quot;</span><span class="p">;</span>
+      <span class="n">info</span><span class="p">.</span><span class="n">vendor_name</span> <span class="o">=</span> <span class="s">&quot;MyCompany&quot;</span><span class="p">;</span>
+      <span class="n">info</span><span class="p">.</span><span class="n">support_email</span> <span class="o">=</span> <span class="s">&quot;ts-api-support@MyCompany.com&quot;</span><span class="p">;</span>
 
       <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">TSPluginRegister</span> <span class="p">(</span><span class="n">TS_SDK_VERSION_2_0</span> <span class="p">,</span> <span class="o">&amp;</span><span class="n">info</span><span class="p">))</span> <span class="p">{</span>
-         <span class="n">TSError</span> <span class="p">(</span><span class="s">&quot;Plugin registration failed. \n&quot;</span><span class="p">);</span>
+         <span class="n">TSError</span> <span class="p">(</span><span class="s">&quot;Plugin registration failed. </span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
       <span class="p">}</span>
 
       <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">check_ts_version</span><span class="p">())</span> <span class="p">{</span>
-         <span class="n">TSError</span> <span class="p">(</span><span class="s">&quot;Plugin requires Traffic Server 2.0 or later\n&quot;</span><span class="p">);</span>
+         <span class="n">TSError</span> <span class="p">(</span><span class="s">&quot;Plugin requires Traffic Server 2.0 or later</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
          <span class="k">return</span><span class="p">;</span>
       <span class="p">}</span>
 
-      <span class="n">TSDebug</span> <span class="p">(</span><span class="s">&quot;debug-hello&quot;</span><span class="p">,</span> <span class="s">&quot;Hello World!\n&quot;</span><span class="p">);</span>
+      <span class="n">TSDebug</span> <span class="p">(</span><span class="s">&quot;debug-hello&quot;</span><span class="p">,</span> <span class="s">&quot;Hello World!</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
 <span class="p">}</span>
 </pre></div>
   </div>

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/index.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/index.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/index.en.html Mon Dec 13 00:21:28 2010
@@ -8,224 +8,188 @@
     
     <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 &quot;License&quot;); 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 &quot;AS IS&quot; 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>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      <p>![][images/docbook/ts75.png]
-Prev
-Next
-The Asynchronous Event Model
-HTTP Transaction
-Types of Hooks
-Roadmap for Creating Plugins
-roadmap for writing plugins
-Traffic Server Internals
- HTTP Transaction State Diagram
-HTTP Hooks and Transactions
-Simplified HTTP Transaction
-Simplified HTTP Transaction
-Blacklist Plugin
-Header-Based Plugin Examples
-HTTP Transformation Plugins
-Notice:    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.</p>
-<p><a href="/index.html">![][images/docbook/ts75.png]</a>™</p>
-<h1 id="apache_traffic_server+_software_developers_kit">Apache Traffic Server™ Software Developers Kit</h1>
-<p><a href="NamingConventions.html">Prev</a> - Naming Conventions</p>
-<p>Roadmap for Creating Plugins - <a href="Roadmap_CreatingPlugins.html">Next</a></p>
-<h2 id="" />
-<p>Chapter 2. How to Create Traffic Server Plugins</p>
-<p><strong>Table of Contents</strong></p>
-<ul>
-<li>
-<p><a href="CreatingTSPlugins.html#AsynchronousEventModel">The Asynchronous Event Model</a> </p>
+      <p><a href="../getting-started/naming-conventions">Prev</a> - Naming Conventions</p>
+<p>Roadmap for Creating Plugins - <a href="roadmap-for-creating-plugins">Next</a></p>
+<h2 id="HowtoCreateTSPlugins">How to Create Traffic Server Plugins</h2>
+<div class="toc">
+<ul>
+<li><a href="#HowtoCreateTSPlugins">How to Create Traffic Server Plugins</a><ul>
+<li><a href="#TheAsynchronousEventModel">The Asynchronous Event Model</a><ul>
+<li><a href="#traffic_server_internals__tsinternals">Traffic Server Internals #### {TSInternals}</a><ul>
+<li><a href="#traffic_server_with_plugins__tswithplugins">Traffic Server with Plugins #### {TSwithPlugins}</a></li>
+</ul>
 </li>
-<li>
-<p><a href="CreatingTSPlugins.html#HTTPTransaction_WhatIs">HTTP Transaction</a>
- <a href="CreatingTSPlugins.html##TypesOfHooks">Types of Hooks</a></p>
+<li><a href="#TSHTTPStateMachine">Traffic Server HTTP State Machine</a><ul>
+<li><a href="#HTTPTransaction">HTTP Transaction</a></li>
+<li><a href="#SimplifiedHTTPTransaction">Simplified HTTP Transaction</a></li>
+<li><a href="#APIHooksCorrespondingtoStates">API Hooks Corresponding to States</a></li>
+<li><a href="#BlacklistPlugin">Blacklist Plugin</a></li>
+<li><a href="#TypesofHooks">Types of Hooks</a></li>
+</ul>
 </li>
-<li>
-<p><a href="Roadmap_CreatingPlugins.html">Roadmap for Creating Plugins</a></p>
+</ul>
 </li>
 </ul>
-<p>This chapter provides a foundation for designing and writing plugins. Reading 
+</li>
+</ul>
+</div>
+<p>This chapter provides a foundation for designing and writing plugins. Reading
 this chapter will help you to understand:</p>
 <ul>
-<li />
-</ul>
-<p>The asynchronous event mode. This is the design paradigm used throughout Traffic 
-Server; plugins must also follow this design. It includes the callback mechanism 
+<li>
+<p>The asynchronous event mode. This is the design paradigm used throughout Traffic
+Server; plugins must also follow this design. It includes the callback mechanism
 for Traffic Server to "wake up" your plugin and put it to work.</p>
-<ul>
-<li />
-</ul>
-<p>Traffic Server's HTTP processing, with an overview of the HTTP state machine. </p>
-<ul>
-<li />
-</ul>
-<p>How plugins can hook onto and modify/extend Traffic Server's HTTP processing. </p>
-<ul>
-<li />
-</ul>
-<p>A <a href="Roadmap_CreatingPlugins.html">roadmap for writing plugins</a>, with an overview 
+</li>
+<li>
+<p>Traffic Server's HTTP processing, with an overview of the HTTP state machine.</p>
+</li>
+<li>
+<p>How plugins can hook onto and modify/extend Traffic Server's HTTP processing.</p>
+</li>
+<li>
+<p>A <a href="roadmap-for-creating-plugins">roadmap for writing plugins</a>, with an overview
 of the functionality provided by the Traffic Server API.</p>
-<h2 id="_1" />
-<p>The Asynchronous Event Model</p>
-<p>Traffic Server is a multi-threaded process. There are two main reasons why 
+</li>
+</ul>
+<h2 id="TheAsynchronousEventModel">The Asynchronous Event Model</h2>
+<p>Traffic Server is a multi-threaded process. There are two main reasons why
 a server might use multiple threads:</p>
 <ul>
-<li />
-</ul>
-<p>To take advantage of the concurrency available with multiple CPUs and multiple 
+<li>
+<p>To take advantage of the concurrency available with multiple CPUs and multiple
 I/O devices.</p>
-<ul>
-<li />
-</ul>
-<p>To manage concurrency from having many simultaneous client connections. For 
-example, a server could create one thread for each connection, allowing the 
+</li>
+<li>
+<p>To manage concurrency from having many simultaneous client connections. For
+example, a server could create one thread for each connection, allowing the
 operating system (OS) to control switching between threads.</p>
-<p>Traffic Server uses multiple threads for the first reason. However, Traffic 
-Server does not use a separate OS thread per transaction because it would not 
+</li>
+</ul>
+<p>Traffic Server uses multiple threads for the first reason. However, Traffic
+Server does not use a separate OS thread per transaction because it would not
 be efficient when handling thousands of simultaneous connections.</p>
-<p>Instead, Traffic Server provides special event-driven mechanisms for efficiently 
-scheduling work: the event system and continuations. The <strong>event system</strong> is 
-used to schedule work to be done on threads. A <strong>continuation</strong> is a passive, 
-event-driven state machine that can do some work until it reaches a waiting 
-point; it then sleeps until it receives notification that conditions are right 
-for doing more work. For example, HTTP state machines (which handle HTTP transactions) 
+<p>Instead, Traffic Server provides special event-driven mechanisms for efficiently
+scheduling work: the event system and continuations. The <strong>event system</strong> is
+used to schedule work to be done on threads. A <strong>continuation</strong> is a passive,
+event-driven state machine that can do some work until it reaches a waiting
+point; it then sleeps until it receives notification that conditions are right
+for doing more work. For example, HTTP state machines (which handle HTTP transactions)
 are implemented as continuations.</p>
-<p>Continuation objects are used throughout Traffic Server. Some might live for 
-the duration of the Traffic Server process, while others are created (perhaps 
-by other continuations) for specific needs and then destroyed. <a href="CreatingTSPlugins.html#Fig_TSInternals Figure 2.1. Traffic Server 
-Internals">Traffic Server 
-Internals</a> (below) shows how the major components of Traffic Server interact. 
-Traffic Server has several <strong>processors</strong>, such as <em>cache processor</em> and <em>net 
-processor</em>, that consolidate cache or network I/O tasks. Processors talk to 
-the event system and schedule work on threads. An executing thread calls back 
-a continuation by sending it an event. When a continuation receives an event, 
-it wakes up, does some work, and either destroys itself or goes back to sleep 
-&amp; waits for the next event.</p>
-<p><strong>Figure 2.1. Traffic Server Internals</strong></p>
-<p>![Traffic Server Internals][images/event_sys80.jpg]</p>
-<p>Plugins are typically implemented as continuations. All of the sample code 
-plugins (except <code>hello-world</code>) are continuations that are created when Traffic 
-Server starts up; they then wait for events that trigger them into activity. </p>
-<p><strong>Figure 2.2. Traffic Server with Plugins</strong></p>
-<p>![Traffic Server with Plugins][images/evt_plugin120.jpg]</p>
-<p>A plugin may consist of just one static continuation that is called whenever 
-certain events happen. Examples of such plugins include <code>blacklist-1.c</code>, <code>basic-auth.c</code>, 
-and <code>redirect-1.c</code>. Alternatively, a plugin might dynamically create other 
-continuations as needed. Transform plugins are built in this manner: a static 
-parent continuation checks all transactions to see if any are transformable; 
-when a transaction is transformable, the static continuation creates a type 
-of continuation called a <strong>vconnection</strong>. The vconnection lives as long as 
-it takes to complete the transform and then destroys itself. This design can 
-be seen in all of the sample transform plugins. Plugins that support new protocols 
-also have this architecture: a static continuation listens for incoming client 
-connections and then creates transaction state machines to handle each protocol 
+<p>Continuation objects are used throughout Traffic Server. Some might live for
+the duration of the Traffic Server process, while others are created (perhaps
+by other continuations) for specific needs and then destroyed.
+<a href="#TSInternals">Traffic Server Internals</a> (below) shows how the major
+components of Traffic Server interact. Traffic Server has several <strong>processors</strong>,
+such as <em>cache processor</em> and <em>net processor</em>, that consolidate cache or network
+I/O tasks. Processors talk to the event system and schedule work on threads.
+An executing thread calls back a continuation by sending it an event. When
+a continuation receives an event, it wakes up, does some work, and either destroys
+itself or goes back to sleep &amp; waits for the next event.</p>
+<h4 id="traffic_server_internals__tsinternals">Traffic Server Internals #### {TSInternals}</h4>
+<p><img alt="Traffic Server Internals" src="images/event_sys80.jpg" /></p>
+<p>Plugins are typically implemented as continuations. All of the sample code
+plugins (except <code>hello-world</code>) are continuations that are created when Traffic
+Server starts up; they then wait for events that trigger them into activity.</p>
+<h4 id="traffic_server_with_plugins__tswithplugins">Traffic Server with Plugins #### {TSwithPlugins}</h4>
+<p><img alt="Traffic Server with Plugins" src="images/evt_plugin120.jpg" /></p>
+<p>A plugin may consist of just one static continuation that is called whenever
+certain events happen. Examples of such plugins include <code>blacklist-1.c</code>, <code>basic-auth.c</code>,
+and <code>redirect-1.c</code>. Alternatively, a plugin might dynamically create other
+continuations as needed. Transform plugins are built in this manner: a static
+parent continuation checks all transactions to see if any are transformable;
+when a transaction is transformable, the static continuation creates a type
+of continuation called a <strong>vconnection</strong>. The vconnection lives as long as
+it takes to complete the transform and then destroys itself. This design can
+be seen in all of the sample transform plugins. Plugins that support new protocols
+also have this architecture: a static continuation listens for incoming client
+connections and then creates transaction state machines to handle each protocol
 transaction.</p>
-<p>When you write plugins, there are several ways to send events to continuations. 
-For HTTP plugins, there is a "hook" mechanism that enables the Traffic Server 
-HTTP state machine to send your plugin wakeup calls when needed. Additionally, 
-several Traffic Server API functions trigger Traffic Server sub-processes to 
-send events to plugins: <code>INKContCall</code>, <code>INKVConnRead</code>, <code>INKCacheWrite</code>, and 
-<code>INKMgmtUpdateRegister</code>, to name a few.</p>
-<h3 id="_2" />
-<p>Traffic Server HTTP State Machine</p>
-<p>Traffic Server performs sophisticated HTTP caching and proxying. Important 
-features include checking for alternates and document freshness, filtering, 
-supporting cache hierarchies, and hosting. Traffic Server handles thousands 
-of client requests at a time and each request is handled by an HTTP state machine. 
-These machines follow a complex state diagram that includes all of the states 
-required to support Traffic Server's features. The Traffic Server API provides 
-hooks to a subset of these states, chosen for their relevance to plugins. You 
-can view the API hooks and corresponding HTTP states in the <a href="HTTPHooksAndTransactions.html#Fig_HHTTPTxStateDiag Figure 8.1. 
-HTTP Transaction State Diagram"> HTTP Transaction 
-State Diagram</a>.</p>
-<p>The example in this section (below) explains how a plugin typically intervenes 
-and extends Traffic Server's processing of an HTTP transaction. Complete details 
-about hooking on to Traffic Server processes are provided in <a href="HTTPHooksAndTransactions.html Chapter 8. HTTP Hooks and Transactions">HTTP Hooks and 
-Transactions</a>. </p>
-<h4 id="_3" />
-<p>HTTP Transaction</p>
-<p>An HTTP transaction consists of a client request for a web document and Traffic 
-Server's response. The response could be the requested web server content or 
-it could be an error message. The content could come from the Traffic Server 
-cache or Traffic Server might fetch it from the origin server. The following 
-diagram shows some states in a typical transaction - specifically, the scenario 
+<p>When you write plugins, there are several ways to send events to continuations.
+For HTTP plugins, there is a "hook" mechanism that enables the Traffic Server
+HTTP state machine to send your plugin wakeup calls when needed. Additionally,
+several Traffic Server API functions trigger Traffic Server sub-processes to
+send events to plugins: <code>TSContCall</code>, <code>TSVConnRead</code>, <code>TSCacheWrite</code>, and
+<code>TSMgmtUpdateRegister</code>, to name a few.</p>
+<h3 id="TSHTTPStateMachine">Traffic Server HTTP State Machine</h3>
+<p>Traffic Server performs sophisticated HTTP caching and proxying. Important
+features include checking for alternates and document freshness, filtering,
+supporting cache hierarchies, and hosting. Traffic Server handles thousands
+of client requests at a time and each request is handled by an HTTP state machine.
+These machines follow a complex state diagram that includes all of the states
+required to support Traffic Server's features. The Traffic Server API provides
+hooks to a subset of these states, chosen for their relevance to plugins. You
+can view the API hooks and corresponding HTTP states in the
+<a href="../http-hoooks-and-transactions#HHTTPTransactionStateDiagram">HTTP Transaction State Diagram</a>.</p>
+<p>The example in this section (below) explains how a plugin typically intervenes
+and extends Traffic Server's processing of an HTTP transaction. Complete details
+about hooking on to Traffic Server processes are provided in <a href="HTTPHooksAndTransactions.html">HTTP Hooks and
+Transactions</a>.</p>
+<h4 id="HTTPTransaction">HTTP Transaction</h4>
+<p>An HTTP transaction consists of a client request for a web document and Traffic
+Server's response. The response could be the requested web server content or
+it could be an error message. The content could come from the Traffic Server
+cache or Traffic Server might fetch it from the origin server. The following
+diagram shows some states in a typical transaction - specifically, the scenario
 wherein content is served from cache.</p>
-<p><strong>Figure 2.3. Simplified HTTP Transaction</strong></p>
-<p>![Simplified HTTP Transaction][images/transact75.jpg]</p>
-<p>In the diagram above, Traffic Server accepts the client connection, reads the 
-request headers, looks up the origin server's IP address, and looks for the 
-requested content in the cache. If the content is not in the cache (a "miss"), 
-then Traffic Server opens a connection to the origin server and issues a request 
-for the content. If the content is in the cache (a "hit"), then Traffic Server 
+<h4 id="SimplifiedHTTPTransaction">Simplified HTTP Transaction</h4>
+<p><img alt="Simplified HTTP Transaction" src="images/transact75.jpg" /></p>
+<p>In the diagram above, Traffic Server accepts the client connection, reads the
+request headers, looks up the origin server's IP address, and looks for the
+requested content in the cache. If the content is not in the cache (a "miss"),
+then Traffic Server opens a connection to the origin server and issues a request
+for the content. If the content is in the cache (a "hit"), then Traffic Server
 checks it for freshness.</p>
-<p>If the content is fresh, then Traffic Server sends a reply header to the client. 
-If the content is stale, then Traffic Server opens a connection to the origin 
-server and requests the content. The figure above, <a href="CreatingTSPlugins.html#Fig_HTTPTransaction 
-Figure 2.3. Simplified HTTP Transaction">Simplified HTTP Transaction</a>, does <em>not</em> show behavior in the event 
-of an error. If there is an error at a any stage, then the HTTP state machine 
-jumps to the "send reply header" state and sends a reply. If the reply is an 
-error, then the transaction closes. If the reply is not an error, then Traffic 
-Server first sends the response content before it closes the transaction.</p>
-<p><strong>Figure 2.4. API Hooks Corresponding to States Listed in the previous <a href="CreatingTSPlugins.html#Fig_HTTPTransaction Figure 2.3. Simplified 
-HTTP Transaction">Simplified 
-HTTP Transaction</a> Diagram</strong></p>
-<p>![API Hooks Corresponding to States Listed in][images/transact_hook75.jpg] </p>
-<p>You use hooks as triggers to start your plugin. The name of a hook reflects 
-the Traffic Server state that was <em>just completed</em>. For example, the "OS DNS 
-lookup" hook wakes up a plugin right <em>after</em> the origin server DNS lookup. 
-For a plugin that requires the IP address of the requested origin server, this 
-hook is the right one to use. The Blacklist plugin works in this manner, as 
-shown in the <a href="CreatingTSPlugins.html#Fig_BlacklistPlugin 
-Figure 2.5. Blacklist Plugin">Blacklist Plugin</a> diagram below.</p>
-<p><strong>Figure 2.5. Blacklist Plugin</strong></p>
-<p>![Blacklist Plugin][images/blacklist75.jpg]</p>
-<p>Traffic Server calls the Blacklist plugin right after the origin server DNS 
-lookup. The plugin checks the requested host against a list of blacklisted 
-servers; if the request is allowed, then the transaction proceeds. If the host 
-is forbidden, then the Blacklist plugin sends the transaction into an error 
-state. When the HTTP state machine gets to the "send reply header" state, it 
-then calls the Blacklist plugin to provide the error message that's sent to 
+<p>If the content is fresh, then Traffic Server sends a reply header to the client.
+If the content is stale, then Traffic Server opens a connection to the origin
+server and requests the content. The figure above,
+<a href="#SimplifiedHTTPTransaction">Simplified HTTP Transaction</a>,
+does <em>not</em> show behavior in the event of an error. If there is an error at
+a any stage, then the HTTP state machine jumps to the "send reply header" state
+and sends a reply. If the reply is an error, then the transaction closes. If
+the reply is not an error, then Traffic Server first sends the response content
+before it closes the transaction.</p>
+<h4 id="APIHooksCorrespondingtoStates">API Hooks Corresponding to States</h4>
+<p><img alt="API Hooks Corresponding to States Listed in" src="images/transact_hook75.jpg" /></p>
+<p>You use hooks as triggers to start your plugin. The name of a hook reflects
+the Traffic Server state that was <em>just completed</em>. For example, the "OS DNS
+lookup" hook wakes up a plugin right <em>after</em> the origin server DNS lookup.
+For a plugin that requires the IP address of the requested origin server, this
+hook is the right one to use. The Blacklist plugin works in this manner, as
+shown in the <a href="#BlacklistPlugin">Blacklist Plugin</a>
+diagram below.</p>
+<h4 id="BlacklistPlugin">Blacklist Plugin</h4>
+<p><img alt="Blacklist Plugin" src="/images/blacklist75.jpg" /></p>
+<p>Traffic Server calls the Blacklist plugin right after the origin server DNS
+lookup. The plugin checks the requested host against a list of blacklisted
+servers; if the request is allowed, then the transaction proceeds. If the host
+is forbidden, then the Blacklist plugin sends the transaction into an error
+state. When the HTTP state machine gets to the "send reply header" state, it
+then calls the Blacklist plugin to provide the error message that's sent to
 the client.</p>
-<h4 id="_4" />
-<p>Types of Hooks</p>
-<p>The Blacklist plugin's hook to the "origin server DNS lookup" state is a <strong><em><em>global 
-hook</em></em></strong>, meaning that the plugin is called <em>every time</em> there's an HTTP transaction 
-with a DNS lookup event. The plugin's hook to the "send reply header" state 
-is a <strong>tr</strong><em><strong>ansaction hook</strong></em>, meaning that this hook is only invoked for 
-<em>specified transactions</em> (in the Blacklist example, it's only used for requests 
-to blacklisted servers). Several examples of setting up hooks are provided 
-in the code example chapters: <a href="HeaderBasedPluginEx.html 
-Chapter 4. Header-Based Plugin Examples">Header-Based Plugin Examples</a> and <a href="HTTPTransformationPlugins.html 
-Chapter 5. HTTP Transformation Plugins">HTTP Transformation Plugins</a>.</p>
-<p><strong>Header manipulation plugins</strong>, such as filtering, basic authorization, or 
-redirects, usually have a global hook to the DNS lookup or the read request 
-header states. If specific actions need to be done to the transaction further 
-on, then the plugin adds itself to a transaction hook. <strong>Transformation plugins</strong> 
-require a <strong>global hook </strong>to check all transactions for transformability followed 
-by a <strong>transform hook</strong>, which is a type of transaction hook used specifically 
+<h4 id="TypesofHooks">Types of Hooks</h4>
+<p>The Blacklist plugin's hook to the "origin server DNS lookup" state is a <strong><em><em>global
+hook</em></em></strong>, meaning that the plugin is called <em>every time</em> there's an HTTP transaction
+with a DNS lookup event. The plugin's hook to the "send reply header" state
+is a <strong>tr</strong><em><strong>ansaction hook</strong></em>, meaning that this hook is only invoked for
+<em>specified transactions</em> (in the Blacklist example, it's only used for requests
+to blacklisted servers). Several examples of setting up hooks are provided
+in the code example chapters: <a href="../header-based-plugin-examples">Header-Based Plugin Examples</a>
+and <a href="../http-transformation-plugin">HTTP Transformation Plugins</a></p>
+<p><strong>Header manipulation plugins</strong>, such as filtering, basic authorization, or
+redirects, usually have a global hook to the DNS lookup or the read request
+header states. If specific actions need to be done to the transaction further
+on, then the plugin adds itself to a transaction hook. <strong>Transformation plugins</strong>
+require a <strong>global hook </strong>to check all transactions for transformability followed
+by a <strong>transform hook</strong>, which is a type of transaction hook used specifically
 for transforms.</p>
   </div>
 

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.html Mon Dec 13 00:21:28 2010
@@ -8,122 +8,85 @@
     
     <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 &quot;License&quot;); 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 &quot;AS IS&quot; 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>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      <p>![][images/docbook/ts75.png]
-Prev
-Next
-HTTP Transaction State Diagram
-Header-Based Plugin Examples
-HTTP Transformation Plugins
-Getting Started
-Notice:    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.</p>
-<p><a href="/index.html">![][images/docbook/ts75.png]</a>™</p>
-<h1 id="apache_traffic_server+_software_developers_kit">Apache Traffic Server™ Software Developers Kit</h1>
-<p><a href="CreatingTSPlugins.html">Prev</a> - Chapter 2. How to Create Traffic Server Plugins</p>
-<p>Chapter 3. Remap Plugin - <a href="ch03.html">Next</a></p>
-<h2 id="" />
-<p>Roadmap for Creating Plugins</p>
-<p>This chapter has provided an overview of Traffic Server's HTTP processing, 
-API hooks, and the asynchronous event model. Next, you must understand the 
+      <p><a href="../how-to-create-trafficserver-plugins">Prev</a> - How to Create Traffic Server Plugins</p>
+<p>Remap Plugin - <a href="../remap-plugin">Next</a></p>
+<h2 id="RoadmapforCreatingPlugins">Roadmap for Creating Plugins</h2>
+<p>This chapter has provided an overview of Traffic Server's HTTP processing,
+API hooks, and the asynchronous event model. Next, you must understand the
 capabilities of Traffic Server API functions. These are quite broad:</p>
 <ul>
-<li />
-</ul>
-<p><strong>HTTP header manipulation functions</strong></p>
-<p>Obtain information about and manipulate HTTP headers, URLs, &amp; MIME headers. </p>
-<ul>
-<li />
-</ul>
-<p><strong>HTTP transaction functions</strong></p>
-<p>Get information about and modify HTTP transactions (for example: get the client 
-IP associated to the transaction; get the server IP; get parent proxy information) </p>
-<ul>
-<li />
-</ul>
-<p><strong>IO functions</strong></p>
-<p>Manipulate vconnections (virtual connections, used for network and disk I/O) </p>
-<ul>
-<li />
-</ul>
-<p><strong>Network connection functions</strong></p>
-<p>Open connections to remote servers.</p>
-<ul>
-<li />
+<li>
+<p><strong>HTTP header manipulation functions</strong>
+Obtain information about and manipulate HTTP headers, URLs, &amp; MIME headers.</p>
+</li>
+<li>
+<p><strong>HTTP transaction functions</strong>
+Get information about and modify HTTP transactions (for example: get the client
+IP associated to the transaction; get the server IP; get parent proxy information)</p>
+</li>
+<li>
+<p><strong>IO functions</strong>
+Manipulate vconnections (virtual connections, used for network and disk I/O)</p>
+</li>
+<li>
+<p><strong>Network connection functions</strong>
+Open connections to remote servers.</p>
+</li>
+<li>
+<p><strong>Statistics functions</strong>
+Define and compute statistics for your plugin's activity.</p>
+</li>
+<li>
+<p><strong>Traffic Server management functions</strong>
+Obtain values for Traffic Server configuration and statistics variables.</p>
+</li>
 </ul>
-<p><strong>Statistics functions</strong></p>
-<p>Define and compute statistics for your plugin's activity.</p>
-<ul>
-<li />
-</ul>
-<p><strong>Traffic Server management functions</strong></p>
-<p>Obtain values for Traffic Server configuration and statistics variables.</p>
 <p>Below are some guidelines for creating a plugin:</p>
 <ol>
-<li />
-</ol>
-<p>Decide what you want your plugin to do, based on the capabilities of the API 
-and Traffic Server. Two main kinds of example plugins provided with this SDK 
-are HTTP-based (includes header-based and response transform plugins), and 
-non-HTTP-based (a protocol plugin). These examples are discussed in the next 
+<li>
+<p>Decide what you want your plugin to do, based on the capabilities of the API
+and Traffic Server. Two main kinds of example plugins provided with this SDK
+are HTTP-based (includes header-based and response transform plugins), and
+non-HTTP-based (a protocol plugin). These examples are discussed in the next
 three chapters.</p>
-<ol>
-<li />
-</ol>
-<p>Determine where your plugin needs to hook on to Traffic Server's HTTP processing 
-(view the <a href="HTTPHooksAndTransactions.html#Fig_HHTTPTxStateDiag 
-Figure 8.1. HTTP Transaction State Diagram">HTTP Transaction State Diagram</a>).</p>
-<ol>
-<li />
-</ol>
-<p>Read <a href="HeaderBasedPluginEx.html Chapter 4. Header-Based 
-Plugin Examples">Header-Based Plugin Examples</a> to learn the basics of writing plugins: creating continuations 
-and setting up hooks. If you want to write a plugin that transforms data, then 
-read <a href="HTTPTransformationPlugins.html Chapter 5. 
-HTTP Transformation Plugins">HTTP Transformation Plugins</a>.</p>
-<ol>
-<li />
-</ol>
-<p>Figure out what parts of the Traffic Server API you need to use and then read 
+</li>
+<li>
+<p>Determine where your plugin needs to hook on to Traffic Server's HTTP processing
+(view the <a href="../http-hoooks-and-transactions#HTTPTransactionStateDiagram">HTTP Transaction State Diagram</a></p>
+</li>
+<li>
+<p>Read <a href="../header-based-plugin-examples">Header-Based Plugin Examples</a> to learn the
+basics of writing plugins: creating continuations and setting up hooks. If
+you want to write a plugin that transforms data, then read <a href="HTTPTransformationPlugins.html">HTTP Transformation
+Plugins</a>.</p>
+</li>
+<li>
+<p>Figure out what parts of the Traffic Server API you need to use and then read
 about the details of those APIs in this manual's reference chapters.</p>
-<ol>
-<li />
-</ol>
-<p>Compile and load your plugin (see <a href="GetingStarted.html#GettingStarted">Getting Started</a>). </p>
-<ol>
-<li />
-</ol>
-<p>Depending on your plugin's functionality, you might start testing it by issuing 
-requests by hand and checking for the desired behavior in Traffic Server log 
-files. See the <em><strong>Traffic Server Administrator's Guide</strong></em> for information about 
+</li>
+<li>
+<p>Compile and load your plugin (see <a href="../getting-started">Getting Started</a></p>
+</li>
+<li>
+<p>Depending on your plugin's functionality, you might start testing it by issuing
+requests by hand and checking for the desired behavior in Traffic Server log
+files. See the <em><strong>Traffic Server Administrator's Guide</strong></em> for information about
 Traffic Server logs.</p>
-<ol>
-<li />
+</li>
+<li>
+<p>You can test the performance of Traffic Server running with your plugin using
+SDKTest. You can also customize SDKTest to perform functional testing on your
+plugin; for more information see the <em><strong>Traffic Server SDKTest User's Guide</strong></em>.</p>
+</li>
 </ol>
-<p>You can test the performance of Traffic Server running with your plugin using 
-SDKTest. You can also customize SDKTest to perform functional testing on your 
-plugin; for more information see the <em><strong>Traffic Server SDKTest User's Guide</strong></em>. </p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/how-to-use-this-book.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/how-to-use-this-book.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/how-to-use-this-book.en.html Mon Dec 13 00:21:28 2010
@@ -43,8 +43,8 @@ and use the remaining chapters as needed
 provides details about plugins that work on HTTP headers, while
 <a href="../http-transformation-plugin">HTTP Transformation Plugins</a> explains how to
 write a plugin that transforms or scans the body of an HTTP response.
-<a href="../new-protocol-plugins">New Protocol Plugins</a>provides essential information if
-you want to support your own protocol on Traffic Server.</p>
+<a href="../new-protocol-plugins">New Protocol Plugins</a> provides essential information
+if you want to support your own protocol on Traffic Server.</p>
 <p>You can look up information in the following reference sections:</p>
 <ul>
 <li><a href="concept-index">Index</a>: lists information by subject</li>

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/index.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/index.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/index.en.html Mon Dec 13 00:21:28 2010
@@ -20,8 +20,8 @@
 <p>How to Use This Book - <a href="how-to-use-this-book">Next</a></p>
 <h2 id="preface">Preface</h2>
 <p><strong>Table of Contents</strong></p>
-<p><a href="pr01s02.html">How to Use This Book</a>
-<a href="Conventions.html">Typographical Conventions</a></p>
+<p><a href="how-to-use-this-book">How to Use This Book</a>
+<a href="typographical-conventions">Typographical Conventions</a></p>
 <p>The <em>Traffic Server Software Developer's Kit</em> is a reference for creating plugins.
 <strong>Plugins</strong> are programs that add services (such as filtering or content transformation)
 or entire features (such as new protocol support) to Traffic Server. If you

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/typographical-conventions.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/typographical-conventions.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/preface/typographical-conventions.en.html Mon Dec 13 00:21:28 2010
@@ -17,11 +17,9 @@
 
   <div id="content">
       <p><a href="how-to-use-this-book">Prev</a> - How to Use This Book</p>
-<p>Chapter 1. Getting Started - <a href="../getting-started">Next</a></p>
+<p>Getting Started - <a href="../getting-started">Next</a></p>
 <h2 id="typographical_conventions">Typographical Conventions</h2>
 <p>This document uses the following typographic conventions:</p>
-<p><strong>Table 1. Typographical Conventions</strong></p>
-<p><strong>Convention</strong> <strong>Purpose</strong> </p>
 <dl>
 <dt>_italics _ or <strong> bold</strong></dt>
 <dd>Used to introduce terms.</dd>



Mime
View raw message