You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bu...@apache.org on 2013/06/21 01:29:45 UTC
svn commit: r866697 [3/4] - in /websites/staging/trafficserver/trunk:
cgi-bin/ content/ content/docs/ content/docs/trunk/admin/cluster-howto/
content/docs/trunk/admin/configuration-files/
content/docs/trunk/admin/configuring-cache/ content/docs/trunk/a...
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/continuations/writing-handler-functions.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/continuations/writing-handler-functions.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/continuations/writing-handler-functions.en.html Thu Jun 20 23:29:44 2013
@@ -69,22 +69,23 @@ the continuation's own data, associated
is called back, the continuation and an event are passed to the handler function.
The continuation is a handle to the same continuation that is invoked. The
handler function typically has a switch statement to handle the events it receives:</p>
-<div class="codehilite"><pre> <span class="k">static</span> <span class="kt">int</span> <span class="nf">some_handler</span> <span class="p">(</span><span class="n">TScont</span> <span class="n">contp</span><span class="p">,</span> <span class="n">TSEvent</span> <span class="n">event</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">edata</span><span class="p">)</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+ <span class="n">static</span> <span class="n">int</span> <span class="n">some_handler</span> <span class="p">(</span><span class="n">TScont</span> <span class="n">contp</span><span class="p">,</span> <span class="n">TSEvent</span> <span class="n">event</span><span class="p">,</span> <span class="n">void</span> <span class="o">*</span><span class="n">edata</span><span class="p">)</span>
<span class="p">{</span>
<span class="p">.....</span>
<span class="k">switch</span><span class="p">(</span><span class="n">event</span><span class="p">)</span> <span class="p">{</span>
- <span class="k">case</span> <span class="n">TS_EVENT_SOME_EVENT_1</span>:
+ <span class="k">case</span> <span class="n">TS_EVENT_SOME_EVENT_1</span><span class="p">:</span>
<span class="n">do_some_thing_1</span><span class="p">;</span>
<span class="k">return</span><span class="p">;</span>
- <span class="k">case</span> <span class="n">TS_EVENT_SOME_EVENT_2</span>:
+ <span class="k">case</span> <span class="n">TS_EVENT_SOME_EVENT_2</span><span class="p">:</span>
<span class="n">do_some_thing_2</span><span class="p">;</span>
<span class="k">return</span><span class="p">;</span>
- <span class="k">case</span> <span class="n">TS_EVENT_SOME_EVENT_3</span>:
+ <span class="k">case</span> <span class="n">TS_EVENT_SOME_EVENT_3</span><span class="p">:</span>
<span class="n">do_some_thing_3</span><span class="p">;</span>
<span class="k">return</span><span class="p">;</span>
- <span class="nl">default:</span> <span class="k">break</span><span class="p">;</span>
+ <span class="n">default</span><span class="p">:</span> <span class="k">break</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="k">return</span> 0<span class="p">;</span>
<span class="p">}</span>
</pre></div>
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 Thu Jun 20 23:29:44 2013
@@ -85,12 +85,12 @@ shared libraries on all the supported Tr
<h4 id="example">Example</h4>
<p>Assuming the sample program is stored in the file <code>hello-world.c</code>, you could
use the following commands to build a shared library</p>
-<div class="codehilite"><pre><span class="n">tsxs</span> <span class="o">-</span><span class="n">o</span> <span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="o">.</span><span class="n">so</span> <span class="o">-</span><span class="n">c</span> <span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="o">.</span><span class="n">c</span>
+<div class="codehilite"><pre><span class="n">tsxs</span> <span class="o">-</span><span class="n">o</span> <span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="p">.</span><span class="n">so</span> <span class="o">-</span><span class="n">c</span> <span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="p">.</span><span class="n">c</span>
</pre></div>
<p>This shared library will be your plugin. In order to install it, run</p>
-<div class="codehilite"><pre><span class="n">sudo</span> <span class="n">tsxs</span> <span class="o">-</span><span class="n">o</span> <span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="o">.</span><span class="n">so</span> <span class="o">-</span><span class="n">i</span>
+<div class="codehilite"><pre><span class="n">sudo</span> <span class="n">tsxs</span> <span class="o">-</span><span class="n">o</span> <span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="p">.</span><span class="n">so</span> <span class="o">-</span><span class="nb">i</span>
</pre></div>
@@ -99,8 +99,8 @@ use the following commands to build a sh
<p>Your next step is to tell Traffic Server about the plugin by adding the following
line to the <code>plugin.config</code> file. Since our simple plugin does not require
any arguments, the following <code>plugin.config</code> will work:</p>
-<div class="codehilite"><pre><span class="c1"># a simple plugin.config for hello-world</span>
-<span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="o">.</span><span class="n">so</span>
+<div class="codehilite"><pre><span class="c"># a simple plugin.config for hello-world</span>
+<span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="p">.</span><span class="n">so</span>
</pre></div>
@@ -119,15 +119,15 @@ the shared library <code>hello-world.so<
<h3 id="restart-traffic-server">Restart Traffic Server</h3>
<p>The last step is to start/restart Traffic Server. Shown below is the output
displayed after you've created and loaded your <code>hello-world</code> plugin.</p>
-<div class="codehilite"><pre><span class="c1"># ls libexec/trafficserver</span>
-<span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="o">.</span><span class="n">so</span><span class="o">*</span>
-<span class="c1"># bin/traffic_server</span>
-<span class="p">[</span><span class="n">Mar</span> <span class="mi">27</span> <span class="mi">19</span><span class="p">:</span><span class="mo">06</span><span class="p">:</span><span class="mf">31.669</span><span class="p">]</span> <span class="n">NOTE:</span> <span class="n">updated</span> <span class="n">diags</span> <span class="n">config</span>
-<span class="p">[</span><span class="n">Mar</span> <span class="mi">27</span> <span class="mi">19</span><span class="p">:</span><span class="mo">06</span><span class="p">:</span><span class="mf">31.680</span><span class="p">]</span> <span class="n">NOTE:</span> <span class="n">loading</span> <span class="n">plugin</span> <span class="s">'libexec/trafficserver/hello-world.so'</span>
+<div class="codehilite"><pre><span class="c"># ls libexec/trafficserver</span>
+<span class="n">hello</span><span class="o">-</span><span class="n">world</span><span class="p">.</span><span class="n">so</span><span class="o">*</span>
+<span class="c"># bin/traffic_server</span>
+<span class="p">[</span><span class="n">Mar</span> 27 19<span class="p">:</span>06<span class="p">:</span>31<span class="p">.</span>669<span class="p">]</span> <span class="n">NOTE</span><span class="p">:</span> <span class="n">updated</span> <span class="n">diags</span> <span class="n">config</span>
+<span class="p">[</span><span class="n">Mar</span> 27 19<span class="p">:</span>06<span class="p">:</span>31<span class="p">.</span>680<span class="p">]</span> <span class="n">NOTE</span><span class="p">:</span> <span class="n">loading</span> <span class="n">plugin</span> <span class="s">'libexec/trafficserver/hello-world.so'</span>
<span class="n">hello</span> <span class="n">world</span>
-<span class="p">[</span><span class="n">Mar</span> <span class="mi">27</span> <span class="mi">19</span><span class="p">:</span><span class="mo">06</span><span class="p">:</span><span class="mf">32.046</span><span class="p">]</span> <span class="n">NOTE:</span> <span class="n">cache</span> <span class="n">disabled</span> <span class="p">(</span><span class="n">initializing</span><span class="p">)</span>
-<span class="p">[</span><span class="n">Mar</span> <span class="mi">27</span> <span class="mi">19</span><span class="p">:</span><span class="mo">06</span><span class="p">:</span><span class="mf">32.053</span><span class="p">]</span> <span class="n">NOTE:</span> <span class="n">cache</span> <span class="n">enabled</span>
-<span class="p">[</span><span class="n">Mar</span> <span class="mi">27</span> <span class="mi">19</span><span class="p">:</span><span class="mo">06</span><span class="p">:</span><span class="mf">32.526</span><span class="p">]</span> <span class="n">NOTE:</span> <span class="n">Traffic</span> <span class="n">Server</span> <span class="n">running</span>
+<span class="p">[</span><span class="n">Mar</span> 27 19<span class="p">:</span>06<span class="p">:</span>32<span class="p">.</span>046<span class="p">]</span> <span class="n">NOTE</span><span class="p">:</span> <span class="n">cache</span> <span class="n">disabled</span> <span class="p">(</span><span class="n">initializing</span><span class="p">)</span>
+<span class="p">[</span><span class="n">Mar</span> 27 19<span class="p">:</span>06<span class="p">:</span>32<span class="p">.</span>053<span class="p">]</span> <span class="n">NOTE</span><span class="p">:</span> <span class="n">cache</span> <span class="n">enabled</span>
+<span class="p">[</span><span class="n">Mar</span> 27 19<span class="p">:</span>06<span class="p">:</span>32<span class="p">.</span>526<span class="p">]</span> <span class="n">NOTE</span><span class="p">:</span> <span class="n">Traffic</span> <span class="n">Server</span> <span class="n">running</span>
</pre></div>
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 Thu Jun 20 23:29:44 2013
@@ -87,8 +87,9 @@ 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>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">C</span>
+ <span class="k">for</span> <span class="p">(;;)</span> <span class="p">{</span>
+ <span class="n">event</span> <span class="p">=</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>
@@ -191,10 +192,10 @@ is where you installed Traffic Server.</
<h3 id="plugin-configuration">Plugin Configuration</h3>
<p>The sample <code>plugin.config</code> file below contains a comment line, a blank line,
and two plugin configurations:</p>
-<div class="codehilite"><pre><span class="c1"># This is a comment line.</span>
+<div class="codehilite"><pre><span class="c"># This is a comment line.</span>
-<span class="k">my</span><span class="o">-</span><span class="n">plugin</span><span class="o">.</span><span class="n">so</span> <span class="n">junk</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span> <span class="n">trash</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">org</span> <span class="n">garbage</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">edu</span>
-<span class="n">some</span><span class="o">-</span><span class="n">plugin</span><span class="o">.</span><span class="n">so</span> <span class="n">arg1</span> <span class="n">arg2</span> <span class="nv">$proxy</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">http</span><span class="o">.</span><span class="n">cache</span><span class="o">.</span><span class="n">on</span>
+<span class="n">my</span><span class="o">-</span><span class="n">plugin</span><span class="p">.</span><span class="n">so</span> <span class="n">junk</span><span class="p">.</span><span class="nb">example</span><span class="p">.</span><span class="n">com</span> <span class="n">trash</span><span class="p">.</span><span class="nb">example</span><span class="p">.</span><span class="n">org</span> <span class="n">garbage</span><span class="p">.</span><span class="nb">example</span><span class="p">.</span><span class="n">edu</span>
+<span class="n">some</span><span class="o">-</span><span class="n">plugin</span><span class="p">.</span><span class="n">so</span> <span class="n">arg1</span> <span class="n">arg2</span> $<span class="n">proxy</span><span class="p">.</span><span class="n">config</span><span class="p">.</span><span class="n">http</span><span class="p">.</span><span class="n">cache</span><span class="p">.</span><span class="n">on</span>
</pre></div>
@@ -208,22 +209,22 @@ a configuration variable. Traffic Server
variable and substitute its value.</p>
<p>Plugins with global variables should not appear more than once in <code>plugin.config</code>.
For example, if you enter:</p>
-<div class="codehilite"><pre><span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">header1</span>
-<span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">header2</span>
+<div class="codehilite"><pre><span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="p">.</span><span class="n">so</span> <span class="n">header1</span>
+<span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="p">.</span><span class="n">so</span> <span class="n">header2</span>
</pre></div>
<p>then the second global variable, <code>header2</code>, will be used for both instances.
A simple workaround is to give different names to different instances of the
same plugin. For example:</p>
-<div class="codehilite"><pre><span class="n">cp</span> <span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">add</span><span class="o">-</span><span class="n">header1</span><span class="o">.</span><span class="n">so</span>
-<span class="n">cp</span> <span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">add</span><span class="o">-</span><span class="n">header2</span><span class="o">.</span><span class="n">so</span>
+<div class="codehilite"><pre><span class="n">cp</span> <span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="p">.</span><span class="n">so</span> <span class="n">add</span><span class="o">-</span><span class="n">header1</span><span class="p">.</span><span class="n">so</span>
+<span class="n">cp</span> <span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="p">.</span><span class="n">so</span> <span class="n">add</span><span class="o">-</span><span class="n">header2</span><span class="p">.</span><span class="n">so</span>
</pre></div>
<p>These entries will produce the desired result below:</p>
-<div class="codehilite"><pre><span class="n">add</span><span class="o">-</span><span class="n">header1</span><span class="o">.</span><span class="n">so</span> <span class="n">header1</span>
-<span class="n">add</span><span class="o">-</span><span class="n">header2</span><span class="o">.</span><span class="n">so</span> <span class="n">header2</span>
+<div class="codehilite"><pre><span class="n">add</span><span class="o">-</span><span class="n">header1</span><span class="p">.</span><span class="n">so</span> <span class="n">header1</span>
+<span class="n">add</span><span class="o">-</span><span class="n">header2</span><span class="p">.</span><span class="n">so</span> <span class="n">header2</span>
</pre></div>
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 Thu Jun 20 23:29:44 2013
@@ -67,29 +67,30 @@ Traffic Server.</p>
</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="cp">#include <stdio.h></span>
-<span class="cp">#include <ts/ts.h></span>
-<span class="kt">int</span>
-<span class="nf">check_ts_version</span><span class="p">()</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+#<span class="n">include</span> <span class="o"><</span><span class="n">stdio</span><span class="p">.</span><span class="n">h</span><span class="o">></span>
+#<span class="n">include</span> <span class="o"><</span><span class="n">ts</span><span class="o">/</span><span class="n">ts</span><span class="p">.</span><span class="n">h</span><span class="o">></span>
+<span class="n">int</span>
+<span class="n">check_ts_version</span><span class="p">()</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="n">const</span> <span class="n">char</span> <span class="o">*</span><span class="n">ts_version</span> <span class="p">=</span> <span class="n">TSTrafficServerVersionGet</span><span class="p">();</span>
+ <span class="n">int</span> <span class="n">result</span> <span class="p">=</span> 0<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="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">"%d.%d.%d"</span><span class="p">,</span> <span class="o">&</span><span class="n">major_ts_version</span><span class="p">,</span>
- <span class="o">&</span><span class="n">minor_ts_version</span><span class="p">,</span> <span class="o">&</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="n">int</span> <span class="n">major_ts_version</span> <span class="p">=</span> 0<span class="p">;</span>
+ <span class="n">int</span> <span class="n">minor_ts_version</span> <span class="p">=</span> 0<span class="p">;</span>
+ <span class="n">int</span> <span class="n">patch_ts_version</span> <span class="p">=</span> 0<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="c">%d.%d.%d", &major_ts_version,</span>
+ <span class="o">&</span><span class="n">minor_ts_version</span><span class="p">,</span> <span class="o">&</span><span class="n">patch_ts_version</span><span class="p">)</span> !<span class="p">=</span> 3<span class="p">)</span> <span class="p">{</span>
+ <span class="k">return</span> 0<span class="p">;</span>
<span class="p">}</span>
- <span class="cm">/* We need at least Traffic Server 2.0 */</span>
+ <span class="o">/*</span> <span class="n">We</span> <span class="n">need</span> <span class="n">at</span> <span class="n">least</span> <span class="n">Traffic</span> <span class="n">Server</span> 2<span class="p">.</span>0 <span class="o">*/</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">major_ts_version</span> <span class="o">>=</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>
+ <span class="k">if</span> <span class="p">(</span><span class="n">major_ts_version</span> <span class="o">></span><span class="p">=</span> 2<span class="p">)</span> <span class="p">{</span>
+ <span class="n">result</span> <span class="p">=</span> 1<span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
@@ -97,26 +98,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="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="n">void</span>
+<span class="n">TSPluginInit</span> <span class="p">(</span><span class="n">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="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="p">.</span><span class="n">plugin_name</span> <span class="o">=</span> <span class="s">"hello-world"</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">"MyCompany"</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">"ts-api-support@MyCompany.com"</span><span class="p">;</span>
+ <span class="n">info</span><span class="p">.</span><span class="n">plugin_name</span> <span class="p">=</span> "<span class="n">hello</span><span class="o">-</span><span class="n">world</span>"<span class="p">;</span>
+ <span class="n">info</span><span class="p">.</span><span class="n">vendor_name</span> <span class="p">=</span> "<span class="n">MyCompany</span>"<span class="p">;</span>
+ <span class="n">info</span><span class="p">.</span><span class="n">support_email</span> <span class="p">=</span> "<span class="n">ts</span><span class="o">-</span><span class="n">api</span><span class="o">-</span><span class="n">support</span><span class="p">@</span><span class="n">MyCompany</span><span class="p">.</span><span class="n">com</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">&</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">"Plugin registration failed. </span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</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">&</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="n">Plugin</span> <span class="n">registration</span> <span class="n">failed</span><span class="p">.</span> <span class="o">\</span><span class="n">n</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">"Plugin requires Traffic Server 2.0 or later</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</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="n">Plugin</span> <span class="n">requires</span> <span class="n">Traffic</span> <span class="n">Server</span> 2<span class="p">.</span>0 <span class="n">or</span> <span class="n">later</span><span class="o">\</span><span class="n">n</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">"debug-hello"</span><span class="p">,</span> <span class="s">"Hello World!</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
+ <span class="n">TSDebug</span> <span class="p">(</span>"<span class="n">debug</span><span class="o">-</span><span class="n">hello</span>"<span class="p">,</span> "<span class="n">Hello</span> <span class="n">World</span>!<span class="o">\</span><span class="n">n</span>"<span class="p">);</span>
<span class="p">}</span>
</pre></div>
</div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/index.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/index.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/index.en.html Thu Jun 20 23:29:44 2013
@@ -72,11 +72,12 @@ be passed into the common <code>str*()</
<p>Values returned from a marshall buffer can be <code>NULL</code>, which means the field
or object requested does not exist.</p>
<p>For example (from the <code>blacklist-1</code> sample):</p>
-<div class="codehilite"><pre><span class="kt">char</span> <span class="o">*</span><span class="n">host_string</span><span class="p">;</span>
-<span class="kt">int</span> <span class="n">host_length</span><span class="p">;</span>
-<span class="n">host_string</span> <span class="o">=</span> <span class="n">TSUrlHostGet</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">url_loc</span><span class="p">,</span> <span class="o">&</span><span class="n">host_length</span><span class="p">);</span>
-<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">nsites</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
-<span class="k">if</span> <span class="p">(</span><span class="n">strncmp</span> <span class="p">(</span><span class="n">host_string</span><span class="p">,</span> <span class="n">sites</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">host_length</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+<span class="n">char</span> <span class="o">*</span><span class="n">host_string</span><span class="p">;</span>
+<span class="n">int</span> <span class="n">host_length</span><span class="p">;</span>
+<span class="n">host_string</span> <span class="p">=</span> <span class="n">TSUrlHostGet</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">url_loc</span><span class="p">,</span> <span class="o">&</span><span class="n">host_length</span><span class="p">);</span>
+<span class="k">for</span> <span class="p">(</span><span class="nb">i</span> <span class="p">=</span> 0<span class="p">;</span> <span class="nb">i</span> <span class="o"><</span> <span class="n">nsites</span><span class="p">;</span> <span class="nb">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">strncmp</span> <span class="p">(</span><span class="n">host_string</span><span class="p">,</span> <span class="n">sites</span><span class="p">[</span><span class="nb">i</span><span class="p">],</span> <span class="n">host_length</span><span class="p">)</span> <span class="o">==</span> 0<span class="p">)</span> <span class="p">{</span>
<span class="p">...</span>
<span class="p">}</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en.html Thu Jun 20 23:29:44 2013
@@ -72,23 +72,27 @@ field. For every deprecated <em><code>TS
functions instead of the deprecated <em><code>TSMimeField</code></em> series. Examples are provided
below.</p>
<p>Instead of:</p>
-<div class="codehilite"><pre><span class="n">TSMLoc</span> <span class="n">TSMimeFieldCreate</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">bufp</span><span class="p">)</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+<span class="n">TSMLoc</span> <span class="n">TSMimeFieldCreate</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">bufp</span><span class="p">)</span>
</pre></div>
<p>You should use:</p>
-<div class="codehilite"><pre><span class="n">TSMLoc</span> <span class="n">TSMimeHdrFieldCreate</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">hdr</span><span class="p">)</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+<span class="n">TSMLoc</span> <span class="n">TSMimeHdrFieldCreate</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">hdr</span><span class="p">)</span>
</pre></div>
<p>Instead of:</p>
-<div class="codehilite"><pre><span class="kt">void</span> <span class="n">TSMimeFieldCopyValues</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">dest_bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">dest_offset</span><span class="p">,</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+<span class="n">void</span> <span class="n">TSMimeFieldCopyValues</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">dest_bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">dest_offset</span><span class="p">,</span>
<span class="n">TSMBuffer</span> <span class="n">src_bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">src_offset</span><span class="p">)</span>
</pre></div>
<p>You should use:</p>
-<div class="codehilite"><pre><span class="kt">void</span> <span class="n">TSMimeHdrFieldCopyValues</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">dest_bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">dest_hdr</span><span class="p">,</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+<span class="n">void</span> <span class="n">TSMimeHdrFieldCopyValues</span> <span class="p">(</span><span class="n">TSMBuffer</span> <span class="n">dest_bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">dest_hdr</span><span class="p">,</span>
<span class="n">TSMLoc</span> <span class="n">dest_field</span><span class="p">,</span> <span class="n">TSMBuffer</span> <span class="n">src_bufp</span><span class="p">,</span> <span class="n">TSMLoc</span> <span class="n">src_hdr</span><span class="p">,</span> <span class="n">TSMLoc</span>
<span class="n">src_field</span><span class="p">)</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en.html Thu Jun 20 23:29:44 2013
@@ -70,33 +70,38 @@ freed by a call to <code>TSfree</code>.<
the data, the location of the parent object, and the location of the object
to be released. The parent location is usually clear from the creation of the
<code>TSMLoc</code> or string. For example, if your plugin had the following calls:</p>
-<div class="codehilite"><pre><span class="n">url_loc</span> <span class="o">=</span> <span class="n">TSHttpHdrUrlGet</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">hdr_loc</span><span class="p">);</span>
-<span class="n">host_string</span> <span class="o">=</span> <span class="n">TSUrlHostGet</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">url_loc</span><span class="p">,</span> <span class="o">&</span><span class="n">host_length</span><span class="p">);</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="n">url_loc</span> <span class="p">=</span> <span class="n">TSHttpHdrUrlGet</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">hdr_loc</span><span class="p">);</span>
+<span class="n">host_string</span> <span class="p">=</span> <span class="n">TSUrlHostGet</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">url_loc</span><span class="p">,</span> <span class="o">&</span><span class="n">host_length</span><span class="p">);</span>
</pre></div>
<p>then your plugin would have to call:</p>
-<div class="codehilite"><pre><span class="n">TSHandleMLocRelease</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">hdr_loc</span><span class="p">,</span> <span class="n">url_loc</span><span class="p">);</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="n">TSHandleMLocRelease</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">hdr_loc</span><span class="p">,</span> <span class="n">url_loc</span><span class="p">);</span>
</pre></div>
<p>If an <code>TSMLoc</code> is obtained from a transaction, then it does not have a parent
<code>TSMLoc</code>. Use the null <code>TSMLoc</code> constant <code>TS_NULL_MLOC</code> as its parent. For
example, if your plugin calls:</p>
-<div class="codehilite"><pre><span class="n">TSHttpTxnClientReqGet</span> <span class="p">(</span><span class="n">txnp</span><span class="p">,</span> <span class="o">&</span><span class="n">bufp</span><span class="p">,</span> <span class="o">&</span><span class="n">hdr_loc</span><span class="p">);</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="n">TSHttpTxnClientReqGet</span> <span class="p">(</span><span class="n">txnp</span><span class="p">,</span> <span class="o">&</span><span class="n">bufp</span><span class="p">,</span> <span class="o">&</span><span class="n">hdr_loc</span><span class="p">);</span>
</pre></div>
<p>then you must release <code>hdr_loc</code> with:</p>
-<div class="codehilite"><pre> <span class="n">TSHandleMLocRelease</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">TS_NULL_MLOC</span><span class="p">,</span> <span class="n">hdr_loc</span><span class="p">);</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+ <span class="n">TSHandleMLocRelease</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">TS_NULL_MLOC</span><span class="p">,</span> <span class="n">hdr_loc</span><span class="p">);</span>
</pre></div>
<p>You need to use <code>TS_NULL_MLOC</code> to release any <code>TSMLoc</code> handles retrieved
by the <code>TSHttpTxn*Get</code> functions.</p>
<p>Here's an example using a new <code>TSMimeHdrField</code> function:</p>
-<div class="codehilite"><pre><span class="n">TSHttpTxnServerRespGet</span><span class="p">(</span> <span class="n">txnp</span><span class="p">,</span> <span class="o">&</span><span class="n">resp_bufp</span><span class="p">,</span> <span class="o">&</span><span class="n">resp_hdr_loc</span> <span class="p">);</span>
-<span class="n">new_field_loc</span> <span class="o">=</span> <span class="n">TSMimeHdrFieldCreate</span> <span class="p">(</span><span class="n">resp_bufp</span><span class="p">,</span> <span class="n">resp_hdr_loc</span><span class="p">);</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="n">TSHttpTxnServerRespGet</span><span class="p">(</span> <span class="n">txnp</span><span class="p">,</span> <span class="o">&</span><span class="n">resp_bufp</span><span class="p">,</span> <span class="o">&</span><span class="n">resp_hdr_loc</span> <span class="p">);</span>
+<span class="n">new_field_loc</span> <span class="p">=</span> <span class="n">TSMimeHdrFieldCreate</span> <span class="p">(</span><span class="n">resp_bufp</span><span class="p">,</span> <span class="n">resp_hdr_loc</span><span class="p">);</span>
<span class="n">TSHandleMLocRelease</span> <span class="p">(</span> <span class="n">resp_bufp</span><span class="p">,</span> <span class="n">resp_hdr_loc</span><span class="p">,</span> <span class="n">new_field_loc</span><span class="p">);</span>
<span class="n">TSHandleMLocRelease</span> <span class="p">(</span> <span class="n">resp_bufp</span><span class="p">,</span> <span class="n">TS_NULL_MLOC</span><span class="p">,</span> <span class="n">resp_hdr_loc</span><span class="p">);</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/index.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/index.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/index.en.html Thu Jun 20 23:29:44 2013
@@ -93,30 +93,32 @@ is composed of a field name, a colon, an
values in a field are separated by commas. An HTTP header containing a request
line is usually referred to as a <strong>request</strong>. The following example shows a
typical request header.</p>
-<div class="codehilite"><pre>GET http://www.tiggerwigger.com/ HTTP/1.0
-Proxy-Connection: Keep-Alive
-User-Agent: Mozilla/5.0 [en] (X11; I; Linux 2.2.3 i686)
-Host: www.tiggerwigger.com
-Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */
-*
-
-Accept-Encoding: gzip
-Accept-Language: en
-Accept-Charset: iso-8859-1, *, utf-8
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">text</span>
+<span class="n">GET</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="p">.</span><span class="n">tiggerwigger</span><span class="p">.</span><span class="n">com</span><span class="o">/</span> <span class="n">HTTP</span><span class="o">/</span>1<span class="p">.</span>0
+<span class="n">Proxy</span><span class="o">-</span><span class="n">Connection</span><span class="p">:</span> <span class="n">Keep</span><span class="o">-</span><span class="n">Alive</span>
+<span class="n">User</span><span class="o">-</span><span class="n">Agent</span><span class="p">:</span> <span class="n">Mozilla</span><span class="o">/</span>5<span class="p">.</span>0 <span class="p">[</span><span class="n">en</span><span class="p">]</span> <span class="p">(</span><span class="n">X11</span><span class="p">;</span> <span class="n">I</span><span class="p">;</span> <span class="n">Linux</span> 2<span class="p">.</span>2<span class="p">.</span>3 <span class="n">i686</span><span class="p">)</span>
+<span class="n">Host</span><span class="p">:</span> <span class="n">www</span><span class="p">.</span><span class="n">tiggerwigger</span><span class="p">.</span><span class="n">com</span>
+<span class="n">Accept</span><span class="p">:</span> <span class="n">image</span><span class="o">/</span><span class="n">gif</span><span class="p">,</span> <span class="n">image</span><span class="o">/</span><span class="n">x</span><span class="o">-</span><span class="n">xbitmap</span><span class="p">,</span> <span class="n">image</span><span class="o">/</span><span class="n">jpeg</span><span class="p">,</span> <span class="n">image</span><span class="o">/</span><span class="n">pjpeg</span><span class="p">,</span> <span class="n">image</span><span class="o">/</span><span class="n">png</span><span class="p">,</span> <span class="o">*/</span>
+<span class="o">*</span>
+
+<span class="n">Accept</span><span class="o">-</span><span class="n">Encoding</span><span class="p">:</span> <span class="n">gzip</span>
+<span class="n">Accept</span><span class="o">-</span><span class="n">Language</span><span class="p">:</span> <span class="n">en</span>
+<span class="n">Accept</span><span class="o">-</span><span class="n">Charset</span><span class="p">:</span> <span class="n">iso</span><span class="o">-</span>8859<span class="o">-</span>1<span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">utf</span><span class="o">-</span>8
</pre></div>
<p>The <strong>response header</strong> for the above request might look like the following: </p>
-<div class="codehilite"><pre><span class="n">HTTP</span><span class="o">/</span><span class="mf">1.0</span> <span class="mi">200</span> <span class="n">OK</span>
-<span class="n">Date:</span> <span class="n">Fri</span><span class="p">,</span> <span class="mi">13</span> <span class="n">Nov</span> <span class="mi">2009</span> <span class="mo">06</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">43</span> <span class="n">GMT</span>
-<span class="n">Content</span><span class="o">-</span><span class="n">Location:</span> <span class="n">http:</span><span class="sr">//</span><span class="n">locutus</span><span class="o">.</span><span class="n">tiggerwigger</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="nb">index</span><span class="o">.</span><span class="n">html</span>
-<span class="n">Etag:</span> <span class="s">"07db14afa76be1:1074"</span>
-<span class="n">Last</span><span class="o">-</span><span class="n">Modified:</span> <span class="n">Thu</span><span class="p">,</span> <span class="mo">05</span> <span class="n">Nov</span> <span class="mi">2009</span> <span class="mi">20</span><span class="p">:</span><span class="mo">01</span><span class="p">:</span><span class="mi">38</span> <span class="n">GMT</span>
-<span class="n">Content</span><span class="o">-</span><span class="n">Length:</span> <span class="mi">7931</span>
-<span class="n">Content</span><span class="o">-</span><span class="n">Type:</span> <span class="n">text</span><span class="o">/</span><span class="n">html</span>
-<span class="n">Server:</span> <span class="n">Microsoft</span><span class="o">-</span><span class="n">IIS</span><span class="o">/</span><span class="mf">4.0</span>
-<span class="n">Age:</span> <span class="mi">922</span>
-<span class="n">Proxy</span><span class="o">-</span><span class="n">Connection:</span> <span class="nb">close</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">plain</span>
+<span class="n">HTTP</span><span class="o">/</span>1<span class="p">.</span>0 200 <span class="n">OK</span>
+<span class="n">Date</span><span class="p">:</span> <span class="n">Fri</span><span class="p">,</span> 13 <span class="n">Nov</span> 2009 06<span class="p">:</span>57<span class="p">:</span>43 <span class="n">GMT</span>
+<span class="n">Content</span><span class="o">-</span><span class="n">Location</span><span class="p">:</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">locutus</span><span class="p">.</span><span class="n">tiggerwigger</span><span class="p">.</span><span class="n">com</span><span class="o">/</span><span class="n">index</span><span class="p">.</span><span class="n">html</span>
+<span class="n">Etag</span><span class="p">:</span> "07<span class="n">db14afa76be1</span><span class="p">:</span>1074"
+<span class="n">Last</span><span class="o">-</span><span class="n">Modified</span><span class="p">:</span> <span class="n">Thu</span><span class="p">,</span> 05 <span class="n">Nov</span> 2009 20<span class="p">:</span>01<span class="p">:</span>38 <span class="n">GMT</span>
+<span class="n">Content</span><span class="o">-</span><span class="n">Length</span><span class="p">:</span> 7931
+<span class="n">Content</span><span class="o">-</span><span class="n">Type</span><span class="p">:</span> <span class="n">text</span><span class="o">/</span><span class="n">html</span>
+<span class="n">Server</span><span class="p">:</span> <span class="n">Microsoft</span><span class="o">-</span><span class="n">IIS</span><span class="o">/</span>4<span class="p">.</span>0
+<span class="n">Age</span><span class="p">:</span> 922
+<span class="n">Proxy</span><span class="o">-</span><span class="n">Connection</span><span class="p">:</span> <span class="n">close</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/mime-headers.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/mime-headers.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/mime-headers.en.html Thu Jun 20 23:29:44 2013
@@ -67,7 +67,8 @@ composed of a field name, a colon, and z
a field are separated by commas). </p>
<p>In the example below: <code>Foo</code> is the MIME field name, <code>bar</code> is the first MIME
field value, and <code>car</code> is the second MIME field value.</p>
-<div class="codehilite"><pre> Foo: bar, car
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">text</span>
+ <span class="n">Foo</span><span class="p">:</span> <span class="n">bar</span><span class="p">,</span> <span class="n">car</span>
</pre></div>
@@ -79,10 +80,11 @@ that is potentially zero length; a <stro
control characters and separators (such as colons). For the purpose of retrieving
a field, field names are not case-sensitive; therefore, the field names <code>Foo</code>,
<code>foo</code> and <code>fOO</code> are all equivalent.</p>
-<div class="codehilite"><pre>MIME-header = *MIME-field
-MIME-field = field-name ":" #field-value
-field-name = *token
-field-value = *token
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">text</span>
+<span class="n">MIME</span><span class="o">-</span><span class="n">header</span> <span class="p">=</span> <span class="o">*</span><span class="n">MIME</span><span class="o">-</span><span class="n">field</span>
+<span class="n">MIME</span><span class="o">-</span><span class="n">field</span> <span class="p">=</span> <span class="n">field</span><span class="o">-</span><span class="n">name</span> "<span class="p">:</span>" #<span class="n">field</span><span class="o">-</span><span class="n">value</span>
+<span class="n">field</span><span class="o">-</span><span class="n">name</span> <span class="p">=</span> <span class="o">*</span><span class="n">token</span>
+<span class="n">field</span><span class="o">-</span><span class="n">value</span> <span class="p">=</span> <span class="o">*</span><span class="n">token</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/urls.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/urls.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-headers/urls.en.html Thu Jun 20 23:29:44 2013
@@ -62,13 +62,15 @@
URL functions can create, copy, retrieve or delete entire URLs; they can also
retrieve or modify parts of URLs, such as port or scheme information.</p>
<p>The general form of an Internet URL is:</p>
-<div class="codehilite"><pre> scheme://user:password@host:port/stuff
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">text</span>
+ <span class="n">scheme</span><span class="p">:</span><span class="o">//</span><span class="n">user</span><span class="p">:</span><span class="n">password</span><span class="p">@</span><span class="n">host</span><span class="p">:</span><span class="n">port</span><span class="o">/</span><span class="n">stuff</span>
</pre></div>
<p>The URL data structure includes support for two specific types of internet
URLs. HTTP URLs have the form:</p>
-<div class="codehilite"><pre> http://user:password@host:port/path;params?query#fragment
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">text</span>
+ <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">user</span><span class="p">:</span><span class="n">password</span><span class="p">@</span><span class="n">host</span><span class="p">:</span><span class="n">port</span><span class="o">/</span><span class="n">path</span><span class="p">;</span><span class="n">params</span>?<span class="n">query</span>#<span class="n">fragment</span>
</pre></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 Thu Jun 20 23:29:44 2013
@@ -167,6 +167,7 @@ and associate data to the transaction.</
<span class="k">return</span> <span class="mi">1</span><span class="p">;</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>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-transformation-plugin/append-transform-plugin.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-transformation-plugin/append-transform-plugin.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-transformation-plugin/append-transform-plugin.en.html Thu Jun 20 23:29:44 2013
@@ -61,7 +61,7 @@
<p>The append-transform plugin appends text to the body of an HTTP response. It
obtains this text from a file; the name of the file containing the append text
is a parameter you specify in <code>plugin.config</code>, as follows:</p>
-<div class="codehilite"><pre><span class="n">append</span><span class="o">-</span><span class="n">transform</span><span class="o">.</span><span class="n">so</span> <span class="n">path</span><span class="sr">/to/</span><span class="n">file</span>
+<div class="codehilite"><pre><span class="n">append</span><span class="o">-</span><span class="n">transform</span><span class="p">.</span><span class="n">so</span> <span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">file</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/guide-to-cache-api/example.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/guide-to-cache-api/example.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/guide-to-cache-api/example.en.html Thu Jun 20 23:29:44 2013
@@ -64,26 +64,29 @@ need to prepare a buffer (<code>cache_bu
<code>TSVConnCachedObjectSizeGet</code> to find out the actual size of the document (<code>content_length</code>).
Then, issue <code>TSVConnRead</code> to read the document with the total data length
required as <code>content_length</code>. Assume the following data:</p>
-<div class="codehilite"><pre> <span class="n">TSIOBuffer</span> <span class="n">cache_bufp</span> <span class="o">=</span> <span class="n">TSIOBufferCreate</span> <span class="p">();</span>
- <span class="n">TSIOBufferReader</span> <span class="n">cache_readerp</span> <span class="o">=</span> <span class="n">TSIOBufferReaderAlloc</span> <span class="p">(</span><span class="n">out_bufp</span><span class="p">);</span>
- <span class="n">TSVConn</span> <span class="n">cache_vconnp</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
- <span class="n">TSVIO</span> <span class="n">cache_vio</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
- <span class="kt">int</span> <span class="n">content_length</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+ <span class="n">TSIOBuffer</span> <span class="n">cache_bufp</span> <span class="p">=</span> <span class="n">TSIOBufferCreate</span> <span class="p">();</span>
+ <span class="n">TSIOBufferReader</span> <span class="n">cache_readerp</span> <span class="p">=</span> <span class="n">TSIOBufferReaderAlloc</span> <span class="p">(</span><span class="n">out_bufp</span><span class="p">);</span>
+ <span class="n">TSVConn</span> <span class="n">cache_vconnp</span> <span class="p">=</span> <span class="n">NULL</span><span class="p">;</span>
+ <span class="n">TSVIO</span> <span class="n">cache_vio</span> <span class="p">=</span> <span class="n">NULL</span><span class="p">;</span>
+ <span class="n">int</span> <span class="n">content_length</span> <span class="p">=</span> 0<span class="p">;</span>
</pre></div>
<p>In the <code>TS_CACHE_OPEN_READ</code> handler:</p>
-<div class="codehilite"><pre><span class="n">cache_vconnp</span> <span class="o">=</span> <span class="p">(</span><span class="n">TSVConn</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="n">cache_vconnp</span> <span class="p">=</span> <span class="p">(</span><span class="n">TSVConn</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
<span class="n">TSVConnCachedObjectSizeGet</span> <span class="p">(</span><span class="n">cache_vconnp</span><span class="p">,</span> <span class="o">&</span><span class="n">content_length</span><span class="p">);</span>
- <span class="n">cache_vio</span> <span class="o">=</span> <span class="n">TSVConnRead</span> <span class="p">(</span><span class="n">cache_vconn</span><span class="p">,</span> <span class="n">contp</span><span class="p">,</span> <span class="n">cache_bufp</span><span class="p">,</span> <span class="n">content_length</span><span class="p">);</span>
+ <span class="n">cache_vio</span> <span class="p">=</span> <span class="n">TSVConnRead</span> <span class="p">(</span><span class="n">cache_vconn</span><span class="p">,</span> <span class="n">contp</span><span class="p">,</span> <span class="n">cache_bufp</span><span class="p">,</span> <span class="n">content_length</span><span class="p">);</span>
</pre></div>
<p>In the <code>TS_EVENT_VCONN_READ_READY</code> handler:</p>
-<div class="codehilite"><pre><span class="p">(</span><span class="n">usual</span> <span class="n">VCONN_READ_READY</span> <span class="n">handler</span> <span class="n">logic</span><span class="p">)</span>
-<span class="kt">int</span> <span class="n">nbytes</span> <span class="o">=</span> <span class="n">TSVIONBytesGet</span> <span class="p">(</span><span class="n">cache_vio</span><span class="p">);</span>
-<span class="kt">int</span> <span class="n">ntodo</span> <span class="o">=</span> <span class="n">TSVIONTodoGet</span> <span class="p">(</span><span class="n">cache_vio</span><span class="p">);</span>
-<span class="kt">int</span> <span class="n">ndone</span> <span class="o">=</span> <span class="n">TSVIONDoneGet</span> <span class="p">(</span><span class="n">cache_vio</span><span class="p">);</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="p">(</span><span class="n">usual</span> <span class="n">VCONN_READ_READY</span> <span class="n">handler</span> <span class="n">logic</span><span class="p">)</span>
+<span class="n">int</span> <span class="n">nbytes</span> <span class="p">=</span> <span class="n">TSVIONBytesGet</span> <span class="p">(</span><span class="n">cache_vio</span><span class="p">);</span>
+<span class="n">int</span> <span class="n">ntodo</span> <span class="p">=</span> <span class="n">TSVIONTodoGet</span> <span class="p">(</span><span class="n">cache_vio</span><span class="p">);</span>
+<span class="n">int</span> <span class="n">ndone</span> <span class="p">=</span> <span class="n">TSVIONDoneGet</span> <span class="p">(</span><span class="n">cache_vio</span><span class="p">);</span>
<span class="p">(</span><span class="n">consume</span> <span class="n">data</span> <span class="n">in</span> <span class="n">cache_bufp</span><span class="p">)</span>
<span class="n">TSVIOReenable</span> <span class="p">(</span><span class="n">cache_vio</span><span class="p">);</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/guide-to-cache-api/index.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/guide-to-cache-api/index.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/guide-to-cache-api/index.en.html Thu Jun 20 23:29:44 2013
@@ -66,11 +66,12 @@ Use <code>TSCacheKeyDigestSet</code> to
cache APIs do not allow you to write HTTP docs in the cache; you can only write
plugin-specific data (a specific type of data that differs from the HTTP type). </p>
<p><strong>Example:</strong></p>
-<div class="codehilite"><pre> <span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key_name</span> <span class="o">=</span> <span class="s">"example key name"</span><span class="p">;</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+ <span class="n">const</span> <span class="n">unsigned</span> <span class="n">char</span> <span class="o">*</span><span class="n">key_name</span> <span class="p">=</span> "<span class="n">example</span> <span class="n">key</span> <span class="n">name</span>"<span class="p">;</span>
<span class="n">TSCacheKey</span> <span class="n">key</span><span class="p">;</span>
<span class="n">TSCacheKeyCreate</span> <span class="p">(</span><span class="o">&</span><span class="n">key</span><span class="p">);</span>
- <span class="n">TSCacheKeyDigestSet</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">(</span><span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">key_name</span> <span class="p">,</span> <span class="n">strlen</span><span class="p">(</span><span class="n">key_name</span><span class="p">));</span>
+ <span class="n">TSCacheKeyDigestSet</span> <span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">(</span><span class="n">unsigned</span> <span class="n">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">key_name</span> <span class="p">,</span> <span class="n">strlen</span><span class="p">(</span><span class="n">key_name</span><span class="p">));</span>
<span class="n">TSCacheKeyDestroy</span> <span class="p">(</span><span class="n">key</span><span class="p">);</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/index.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/index.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/index.en.html Thu Jun 20 23:29:44 2013
@@ -120,7 +120,8 @@ been modified and that the vconnection s
make further progress.</p>
<p>The null transform plugin provides an example of how this is done. Below is
a prototype for <code>TSVConnWrite</code>:</p>
-<div class="codehilite"><pre> <span class="n">TSVIO</span> <span class="n">TSVConnWrite</span> <span class="p">(</span><span class="n">TSVConn</span> <span class="n">connp</span><span class="p">,</span> <span class="n">TSCont</span> <span class="n">contp</span><span class="p">,</span> <span class="n">TSIOBufferReader</span> <span class="n">readerp</span><span class="p">,</span> <span class="kt">int</span> <span class="n">nbytes</span><span class="p">)</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+ <span class="n">TSVIO</span> <span class="n">TSVConnWrite</span> <span class="p">(</span><span class="n">TSVConn</span> <span class="n">connp</span><span class="p">,</span> <span class="n">TSCont</span> <span class="n">contp</span><span class="p">,</span> <span class="n">TSIOBufferReader</span> <span class="n">readerp</span><span class="p">,</span> <span class="n">int</span> <span class="n">nbytes</span><span class="p">)</span>
</pre></div>
@@ -128,7 +129,8 @@ a prototype for <code>TSVConnWrite</code
i.e., the continuation that <code>connp</code> calls back when it has emptied its
buffer and is ready for more data.</p>
<p>The call made in the null transform plugin is:</p>
-<div class="codehilite"><pre> <span class="n">TSVConnWrite</span> <span class="p">(</span><span class="n">output_conn</span><span class="p">,</span> <span class="n">contp</span><span class="p">,</span> <span class="n">data</span><span class="o">-></span><span class="n">output_reader</span><span class="p">,</span> <span class="n">TSVIONBytesGet</span> <span class="p">(</span><span class="n">input_vio</span><span class="p">));</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+ <span class="n">TSVConnWrite</span> <span class="p">(</span><span class="n">output_conn</span><span class="p">,</span> <span class="n">contp</span><span class="p">,</span> <span class="n">data</span><span class="o">-></span><span class="n">output_reader</span><span class="p">,</span> <span class="n">TSVIONBytesGet</span> <span class="p">(</span><span class="n">input_vio</span><span class="p">));</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/transformations.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/transformations.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/transformations.en.html Thu Jun 20 23:29:44 2013
@@ -71,7 +71,8 @@ Traffic Server API has an associated rea
supports reading or writing).</p>
<p>For example, the null transform plugin's transformation examines the input
VIO by calling:</p>
-<div class="codehilite"><pre> <span class="n">input_vio</span> <span class="o">=</span> <span class="n">TSVConnWriteVIOGet</span> <span class="p">(</span><span class="n">contp</span><span class="p">);</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+ <span class="n">input_vio</span> <span class="p">=</span> <span class="n">TSVConnWriteVIOGet</span> <span class="p">(</span><span class="n">contp</span><span class="p">);</span>
</pre></div>
@@ -84,15 +85,16 @@ state the vconnection might have and pot
IO operations.</p>
<p>It is common for the handler function for all vconnections to look similar.
Their basic form looks something like the code fragment below:</p>
-<div class="codehilite"><pre><span class="kt">int</span>
-<span class="nf">vconnection_handler</span> <span class="p">(</span><span class="n">TSCont</span> <span class="n">contp</span><span class="p">,</span> <span class="n">TSEvent</span> <span class="n">event</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">edata</span><span class="p">)</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="n">int</span>
+<span class="n">vconnection_handler</span> <span class="p">(</span><span class="n">TSCont</span> <span class="n">contp</span><span class="p">,</span> <span class="n">TSEvent</span> <span class="n">event</span><span class="p">,</span> <span class="n">void</span> <span class="o">*</span><span class="n">edata</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n">TSVConnClosedGet</span> <span class="p">(</span><span class="n">contp</span><span class="p">))</span> <span class="p">{</span>
- <span class="cm">/* Destroy any vconnection specific data here. */</span>
+ <span class="o">/*</span> <span class="n">Destroy</span> <span class="n">any</span> <span class="n">vconnection</span> <span class="n">specific</span> <span class="n">data</span> <span class="n">here</span><span class="p">.</span> <span class="o">*/</span>
<span class="n">TSContDestroy</span> <span class="p">(</span><span class="n">contp</span><span class="p">);</span>
- <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+ <span class="k">return</span> 0<span class="p">;</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="cm">/* Handle the incoming event */</span>
+ <span class="o">/*</span> <span class="n">Handle</span> <span class="n">the</span> <span class="n">incoming</span> <span class="n">event</span> <span class="o">*/</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
@@ -162,11 +164,12 @@ not be deallocated, thereby causing a me
<p>After reading or copying data, make sure that you consume the data and increase
the value of ndone for the input VIO, as in the following example taken from
<code>null-transform.c</code>:</p>
-<div class="codehilite"><pre><span class="n">TSIOBufferCopy</span> <span class="p">(</span><span class="n">TSVIOBufferGet</span> <span class="p">(</span><span class="n">data</span><span class="o">-></span><span class="n">output_vio</span><span class="p">),</span>
-<span class="n">TSVIOReaderGet</span> <span class="p">(</span><span class="n">input_vio</span><span class="p">),</span> <span class="n">towrite</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
-<span class="cm">/* Tell the read buffer that we have read the data and are no longer interested in it. */</span>
+<div class="codehilite"><pre> <span class="p">:::</span><span class="n">c</span>
+<span class="n">TSIOBufferCopy</span> <span class="p">(</span><span class="n">TSVIOBufferGet</span> <span class="p">(</span><span class="n">data</span><span class="o">-></span><span class="n">output_vio</span><span class="p">),</span>
+<span class="n">TSVIOReaderGet</span> <span class="p">(</span><span class="n">input_vio</span><span class="p">),</span> <span class="n">towrite</span><span class="p">,</span> 0<span class="p">);</span>
+<span class="o">/*</span> <span class="n">Tell</span> <span class="n">the</span> <span class="n">read</span> <span class="n">buffer</span> <span class="n">that</span> <span class="n">we</span> <span class="n">have</span> <span class="n">read</span> <span class="n">the</span> <span class="n">data</span> <span class="n">and</span> <span class="n">are</span> <span class="n">no</span> <span class="n">longer</span> <span class="n">interested</span> <span class="n">in</span> <span class="n">it</span><span class="p">.</span> <span class="o">*/</span>
<span class="n">TSIOBufferReaderConsume</span> <span class="p">(</span><span class="n">TSVIOReaderGet</span> <span class="p">(</span><span class="n">input_vio</span><span class="p">),</span> <span class="n">towrite</span><span class="p">);</span>
-<span class="cm">/* Modify the input VIO to reflect how much has been read.*/</span>
+<span class="o">/*</span> <span class="n">Modify</span> <span class="n">the</span> <span class="n">input</span> <span class="n">VIO</span> <span class="n">to</span> <span class="n">reflect</span> <span class="n">how</span> <span class="n">much</span> <span class="n">has</span> <span class="n">been</span> <span class="n">read</span><span class="o">.*/</span>
<span class="n">TSVIONDoneSet</span> <span class="p">(</span><span class="n">input_vio</span><span class="p">,</span> <span class="n">TSVIONDoneGet</span> <span class="p">(</span><span class="n">input_vio</span><span class="p">)</span> <span class="o">+</span> <span class="n">towrite</span><span class="p">);</span>
</pre></div>
Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/vios.en.html
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/vios.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/io-guide/vios.en.html Thu Jun 20 23:29:44 2013
@@ -66,13 +66,14 @@ vconnection implementors to determine th
work to do on the IO operation, and which continuation to call back when progress
on the IO operation is made.</p>
<p>The <code>TSVIO</code> data structure itself is opaque, but it could be defined as follows: </p>
-<div class="codehilite"><pre><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<div class="codehilite"><pre> <span class="p">::::</span><span class="n">c</span>
+<span class="n">typedef</span> <span class="n">struct</span> <span class="p">{</span>
<span class="n">TSCont</span> <span class="n">continuation</span><span class="p">;</span>
<span class="n">TSVConn</span> <span class="n">vconnection</span><span class="p">;</span>
<span class="n">TSIOBufferReader</span> <span class="n">reader</span><span class="p">;</span>
<span class="n">TSMutex</span> <span class="n">mutex</span><span class="p">;</span>
- <span class="kt">int</span> <span class="n">nbytes</span><span class="p">;</span>
- <span class="kt">int</span> <span class="n">ndone</span><span class="p">;</span>
+ <span class="n">int</span> <span class="n">nbytes</span><span class="p">;</span>
+ <span class="n">int</span> <span class="n">ndone</span><span class="p">;</span>
<span class="p">}</span> <span class="o">*</span><span class="n">TSVIO</span><span class="p">;</span>
</pre></div>