1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/doc/tutorial/Makefile Thu Apr 03 20:58:40 2008 -0700
1.3 @@ -0,0 +1,21 @@
1.4 +TEXI2HTML = texi2html
1.5 +TEXI2PDF = texi2dvi --pdf
1.6 +EPSTOPDF = epstopdf
1.7 +TGIF = tgif
1.8 +CSS = --css-include=tutorial.css
1.9 +
1.10 +TGIF_SOURCES = helpers.obj
1.11 +TGIF_EPS = ${TGIF_SOURCES:.obj=.eps}
1.12 +
1.13 +all: images tutorial.html tutorial.pdf
1.14 +
1.15 +images:
1.16 + cd figures/; $(TGIF) -print -png $(TGIF_SOURCES)
1.17 + cd figures/; $(TGIF) -print -eps $(TGIF_SOURCES)
1.18 + cd figures/; $(EPSTOPDF) $(TGIF_EPS)
1.19 +
1.20 +tutorial.html:
1.21 + $(TEXI2HTML) ${CSS} tutorial.texi
1.22 +
1.23 +tutorial.pdf:
1.24 + $(TEXI2PDF) tutorial.texi
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/doc/tutorial/figures/README Thu Apr 03 20:58:40 2008 -0700
2.3 @@ -0,0 +1,9 @@
2.4 +Please write image files in a vector graphics format, when possible, and
2.5 +generate the .png and .pdf versions on the fly (see ../Makefile).
2.6 +
2.7 +Recommended tools are dia, tgif, and xfig. Store the .dia, .obj, or .fig
2.8 +versions in mercurial, but not the .png or .pdfs.
2.9 +
2.10 +Note: tgif can convert from .obj to .pdf, but the pdf that results takes
2.11 +up a whole page. Instead, we convert to an intermediate .eps step, and
2.12 +then run epstopdf.
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/doc/tutorial/figures/helpers.obj Thu Apr 03 20:58:40 2008 -0700
3.3 @@ -0,0 +1,115 @@
3.4 +%TGIF 4.1.43-QPL
3.5 +state(0,37,100.000,0,0,0,32,1,9,1,1,0,0,1,2,1,0,'Courier',0,80640,0,2,0,10,0,0,1,1,0,16,0,0,1,1,1,1,1088,1408,1,0,2880,0).
3.6 +%
3.7 +% @(#)$Header$
3.8 +% %W%
3.9 +%
3.10 +unit("1 pixel/pixel").
3.11 +color_info(11,65535,0,[
3.12 + "magenta", 65535, 0, 65535, 65535, 0, 65535, 1,
3.13 + "red", 65535, 0, 0, 65535, 0, 0, 1,
3.14 + "green", 0, 65535, 0, 0, 65535, 0, 1,
3.15 + "blue", 0, 0, 65535, 0, 0, 65535, 1,
3.16 + "yellow", 65535, 65535, 0, 65535, 65535, 0, 1,
3.17 + "pink", 65535, 49344, 52171, 65535, 49344, 52171, 1,
3.18 + "cyan", 0, 65535, 65535, 0, 65535, 65535, 1,
3.19 + "CadetBlue", 24415, 40606, 41120, 24415, 40606, 41120, 1,
3.20 + "white", 65535, 65535, 65535, 65535, 65535, 65535, 1,
3.21 + "black", 0, 0, 0, 0, 0, 0, 1,
3.22 + "DarkSlateGray", 12079, 20303, 20303, 12079, 20303, 20303, 1
3.23 +]).
3.24 +script_frac("0.6").
3.25 +fg_bg_colors('black','white').
3.26 +dont_reencode("FFDingbests:ZapfDingbats").
3.27 +page(1,"",1,'').
3.28 +text('black',272,195,2,0,1,248,36,0,13,5,0,0,0,0,2,248,36,0,0,"",0,0,0,0,208,'',[
3.29 +minilines(248,36,0,0,0,0,0,[
3.30 +mini_line(200,13,5,0,0,0,[
3.31 +str_block(0,200,13,5,0,-8,0,0,0,[
3.32 +str_seg('black','Courier',0,80640,200,13,5,0,-8,0,0,0,0,0,
3.33 + "low-level APIs (all src/ ")])
3.34 +]),
3.35 +mini_line(248,13,5,0,0,0,[
3.36 +str_block(0,248,13,5,0,-2,0,0,0,[
3.37 +str_seg('black','Courier',0,80640,248,13,5,0,-2,0,0,0,0,0,
3.38 + "directories except src/helper/)")])
3.39 +])
3.40 +])]).
3.41 +rcbox('black','',96,240,384,288,5,1,1,0,16,2,0,0,0,0,'1',0,[
3.42 +]).
3.43 +text('black',192,259,1,0,1,112,18,3,13,5,2,0,0,0,2,112,18,0,0,"",0,0,0,0,272,'',[
3.44 +minilines(112,18,0,0,0,0,0,[
3.45 +mini_line(112,13,5,0,0,0,[
3.46 +str_block(0,112,13,5,0,0,0,0,0,[
3.47 +str_seg('black','Courier',0,80640,112,13,5,0,0,0,0,0,0,0,
3.48 + "ns-3 simulator")])
3.49 +])
3.50 +])]).
3.51 +poly('black','',2,[
3.52 + 272,208,240,240],0,1,1,17,0,0,2,0,0,0,0,'1',0,0,
3.53 + "0","",[
3.54 + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
3.55 +]).
3.56 +poly('black','',2,[
3.57 + 240,176,240,240],1,1,1,18,0,0,0,0,0,0,0,'1',0,0,
3.58 + "0","",[
3.59 + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
3.60 +]).
3.61 +rcbox('black','',176,128,384,176,5,1,1,0,16,25,0,0,0,0,'1',0,[
3.62 +]).
3.63 +text('black',192,131,2,0,1,120,36,26,13,5,2,0,0,0,2,120,36,0,0,"",0,0,0,0,144,'',[
3.64 +minilines(120,36,0,0,0,0,0,[
3.65 +mini_line(120,13,5,0,0,0,[
3.66 +str_block(0,120,13,5,0,-1,0,0,0,[
3.67 +str_seg('black','Courier',0,80640,120,13,5,0,-1,0,0,0,0,0,
3.68 + "ns-3 helper API")])
3.69 +]),
3.70 +mini_line(96,13,5,0,0,0,[
3.71 +str_block(0,96,13,5,0,-2,0,0,0,[
3.72 +str_seg('black','Courier',0,80640,96,13,5,0,-2,0,0,0,0,0,
3.73 + "(src/helper)")])
3.74 +])
3.75 +])]).
3.76 +rcbox('black','',96,16,384,64,0,1,1,0,16,32,0,0,0,0,'1',0,[
3.77 +]).
3.78 +poly('black','',2,[
3.79 + 240,64,240,128],1,1,1,36,0,0,0,0,0,0,0,'1',0,0,
3.80 + "0","",[
3.81 + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
3.82 +]).
3.83 +text('black',272,83,2,0,1,200,36,40,13,5,0,0,0,0,2,200,36,0,0,"",0,0,0,0,96,'',[
3.84 +minilines(200,36,0,0,0,0,0,[
3.85 +mini_line(200,13,5,0,0,0,[
3.86 +str_block(0,200,13,5,0,-2,0,0,0,[
3.87 +str_seg('black','Courier',0,80640,200,13,5,0,-2,0,0,0,0,0,
3.88 + "helper APIs (src/helper/)")])
3.89 +]),
3.90 +mini_line(192,13,5,0,0,0,[
3.91 +str_block(0,192,13,5,0,-1,0,0,0,[
3.92 +str_seg('black','Courier',0,80640,192,13,5,0,-1,0,0,0,0,0,
3.93 + "call into low-level APIs")])
3.94 +])
3.95 +])]).
3.96 +poly('black','',2,[
3.97 + 272,96,240,128],0,1,1,41,0,0,2,0,0,0,0,'1',0,0,
3.98 + "0","",[
3.99 + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
3.100 +]).
3.101 +text('black',128,19,2,0,1,232,36,47,13,5,0,0,0,0,2,232,36,0,0,"",0,0,0,0,32,'',[
3.102 +minilines(232,36,0,0,0,0,0,[
3.103 +mini_line(224,13,5,0,0,0,[
3.104 +str_block(0,224,13,5,0,-2,0,0,0,[
3.105 +str_seg('black','Courier',0,80640,224,13,5,0,-2,0,0,0,0,0,
3.106 + "ns-3 scripts (main programs)")])
3.107 +]),
3.108 +mini_line(232,13,5,0,0,0,[
3.109 +str_block(0,232,13,5,0,-1,0,0,0,[
3.110 +str_seg('black','Courier',0,80640,232,13,5,0,-1,0,0,0,0,0,
3.111 + "- may use either or both APIs")])
3.112 +])
3.113 +])]).
3.114 +poly('black','',2,[
3.115 + 144,64,144,240],1,1,1,50,0,0,0,0,0,0,0,'1',0,0,
3.116 + "0","",[
3.117 + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
3.118 +]).
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/doc/tutorial/helpers.texi Thu Apr 03 20:58:40 2008 -0700
4.3 @@ -0,0 +1,20 @@
4.4 +@node Helper Functions
4.5 +@chapter Helper Functions
4.6 +@anchor{chap:Helpers}
4.7 +This chapter describes an intermediate API for the simulator; what we
4.8 +call the "helper API". The helper API is implemented in
4.9 +@code{src/helper/} directory; it depends on (and wraps) the low-level
4.10 +API which is implemented everywhere else in @code{src/}. The following
4.11 +figure shows this relationship.
4.12 +@center @image{figures/helpers,,,,png}
4.13 +
4.14 +The use of the helper API is optional. It has two main goals:
4.15 +@itemize @bullet
4.16 +@item Provide "syntactic sugar" to wrap a number of related low-level
4.17 +API calls together, that would normally be grouped together often, into
4.18 +something that is more user-friendly.
4.19 +@item Handle configuration of larger topological units (e.g., a set
4.20 +of nodes or a set of nodes on a particular link) .
4.21 +@end itemize
4.22 +
4.23 +(more to follow)
5.1 --- a/doc/tutorial/output.texi Thu Apr 03 09:07:28 2008 -0700
5.2 +++ b/doc/tutorial/output.texi Thu Apr 03 20:58:40 2008 -0700
5.3 @@ -457,9 +457,6 @@
5.4 the ASCII trace wrapper. You are encouraged to take a look at the contents
5.5 of these pcap files using your favorite pcap software (or Wireshark).
5.6
5.7 -@node Statistics
5.8 -@section Statistics
5.9 -
5.10 @node Advanced Tracing
5.11 @section Advanced Tracing
5.12
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/doc/tutorial/statistics.texi Thu Apr 03 20:58:40 2008 -0700
6.3 @@ -0,0 +1,9 @@
6.4 +@node Statistics
6.5 +@chapter Statistics
6.6 +@anchor{chap:Statistics}
6.7 +
6.8 +ns-3 does not presently have support for statistics (automatically generated
6.9 +statistical output). This is planned
6.10 +for development later in 2008. If you are interested in contributing,
6.11 +please see @uref{http://www.nsnam.org/wiki/index.php/Suggested_Projects,,our suggested projects page} or contact the ns-developers
6.12 +list.
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/doc/tutorial/tutorial.css Thu Apr 03 20:58:40 2008 -0700
7.3 @@ -0,0 +1,156 @@
7.4 +body {
7.5 + font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
7.6 + background: white;
7.7 + color: black;
7.8 + font-size: 11pt;
7.9 +}
7.10 +
7.11 +h1, h2, h3, h4, h5, h6 {
7.12 +# color: #990000;
7.13 + color: #009999;
7.14 +}
7.15 +
7.16 +pre {
7.17 + font-size: 10pt;
7.18 + background: #e0e0e0;
7.19 + color: black;
7.20 +}
7.21 +
7.22 +a:link, a:visited {
7.23 + font-weight: normal;
7.24 + text-decoration: none;
7.25 + color: #0047b9;
7.26 +}
7.27 +
7.28 +a:hover {
7.29 + font-weight: normal;
7.30 + text-decoration: underline;
7.31 + color: #0047b9;
7.32 +}
7.33 +
7.34 +img {
7.35 + border: 0px;
7.36 +}
7.37 +
7.38 +#main th {
7.39 + font-size: 12pt;
7.40 + background: #b0b0b0;
7.41 +}
7.42 +
7.43 +.odd {
7.44 + font-size: 12pt;
7.45 + background: white;
7.46 +}
7.47 +
7.48 +.even {
7.49 + font-size: 12pt;
7.50 + background: #e0e0e0;
7.51 +}
7.52 +
7.53 +.answer {
7.54 + font-size: large;
7.55 + font-weight: bold;
7.56 +}
7.57 +
7.58 +.answer p {
7.59 + font-size: 12pt;
7.60 + font-weight: normal;
7.61 +}
7.62 +
7.63 +.answer ul {
7.64 + font-size: 12pt;
7.65 + font-weight: normal;
7.66 +}
7.67 +
7.68 +#container {
7.69 + position: absolute;
7.70 + width: 100%;
7.71 + height: 100%;
7.72 + top: 0px;
7.73 +}
7.74 +
7.75 +#feedback {
7.76 + color: #b0b0b0;
7.77 + font-size: 9pt;
7.78 + font-style: italic;
7.79 +}
7.80 +
7.81 +#header {
7.82 + position: absolute;
7.83 + margin: 0px;
7.84 + top: 10px;
7.85 + height:96px;
7.86 + left: 175px;
7.87 + right: 10em;
7.88 + bottom: auto;
7.89 + background: white;
7.90 + clear: both;
7.91 +}
7.92 +
7.93 +#middle {
7.94 + position: absolute;
7.95 + left: 0;
7.96 + height: auto;
7.97 + width: 100%;
7.98 +}
7.99 +
7.100 +#main {
7.101 + position: absolute;
7.102 + top: 50px;
7.103 + left: 175px;
7.104 + right: 100px;
7.105 + background: white;
7.106 + padding: 0em 0em 0em 0em;
7.107 +}
7.108 +
7.109 +#navbar {
7.110 + position: absolute;
7.111 + top: 75px;
7.112 + left: 0em;
7.113 + width: 146px;
7.114 + padding: 0px;
7.115 + margin: 0px;
7.116 + font-size: 10pt;
7.117 +}
7.118 +
7.119 +#navbar a:link, #navbar a:visited {
7.120 + font-weight: normal;
7.121 + text-decoration: none;
7.122 + color: #0047b9;
7.123 +}
7.124 +
7.125 +#navbar a:hover {
7.126 + font-weight: normal;
7.127 + text-decoration: underline;
7.128 + color: #0047b9;
7.129 +}
7.130 +
7.131 +#navbar dl {
7.132 + width: 146px;
7.133 + padding: 0;
7.134 + margin: 0 0 10px 0px;
7.135 + background: #99ffff url(images/box_bottom2.gif) no-repeat bottom left;
7.136 +}
7.137 +
7.138 +#navbar dt {
7.139 + padding: 6px 10px;
7.140 + font-size: 100%;
7.141 + font-weight: bold;
7.142 + background: #009999;
7.143 + margin: 0px;
7.144 + border-bottom: 1px solid #fff;
7.145 + color: white;
7.146 + background: #009999 url(images/box_top2.gif) no-repeat top left;
7.147 +}
7.148 +
7.149 +#navbar dd {
7.150 + font-size: 100%;
7.151 + margin: 0 0 0 0px;
7.152 + padding: 6px 10px;
7.153 + color: #0047b9;
7.154 +}
7.155 +
7.156 +dd#selected {
7.157 + background: #99ffff url(images/arrow.gif) no-repeat;
7.158 + background-position: 4px 10px;
7.159 +}
8.1 --- a/doc/tutorial/tutorial.texi Thu Apr 03 09:07:28 2008 -0700
8.2 +++ b/doc/tutorial/tutorial.texi Thu Apr 03 20:58:40 2008 -0700
8.3 @@ -109,10 +109,12 @@
8.4 @include introduction.texi
8.5 @include log.texi
8.6 @include attributes.texi
8.7 +@include statistics.texi
8.8 +@include helpers.texi
8.9 @include callbacks.texi
8.10 @include output.texi
8.11 @include routing.texi
8.12 -@include other.texi
8.13 +@c @include other.texi
8.14 @include troubleshoot.texi
8.15
8.16 @printindex cp