summaryrefslogtreecommitdiff
path: root/docs/tutorials/online-tutorials.html
blob: f56cde885a6a532ea20df22dd62be42e52fe779d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i486) [Netscape]">
   <META NAME="Author" CONTENT="James CE Johnson">
   <TITLE>Online ACE Tutorials</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F">

<HR>
<H3>
Online ACE Tutorials</H3>

The following online tutorials are designed to help get you started
with ACE.  The original audience for these tutorials was the <A
HREF="http://www.lads.com">Automated Design Systems</A> (ADS) IPC
team, lead by <A HREF="mailto:jcej@lads.com">James Johnson</A>.  Since
then, the scope has been changed to include anyone who wants to learn
about the ACE framework. Hopefully, even experienced ACE programmers
will find something new here. With a framework as encompassing as ACE,
it is easy to become an expert in one area and know little or nothing
about others. <P>

<FONT size=-1>Before you try compiling Tutorial 2 (and beyond) you
might want to read these comments about <A HREF="templates.html">C++
templates</A></font> <P>

<P><HR WIDTH="50%" align=left><P>
<H4>
Your basic Client/Server hookup</H4>

<OL>
<LI>
<A HREF="001/page01.html">A
Simple Server</A></LI>

<LI>
<A HREF="002/page01.html">A
Simpler Server</A></LI>

<LI>
<A HREF="003/page01.html">Finally,
a Client</A></LI>

<LI>
<A HREF="004/page01.html">A
much <I>cooler</I> client</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>
<H4>
A word about concurrency</H4>

<OL>
<LI>
<A HREF="005/page01.html">No
threads, nothing fancy, just do the work!</A></LI>

<LI>
<A HREF="006/page01.html">I'd
like to dedicate... a thread to each connection.</A></LI>

<LI>
<A HREF="007/page01.html">Let's
pool our resources:&nbsp; a fixed-size pool of threads.</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>
<H4>
Finding servers on your network</H4>

<OL>
<LI>
<A HREF="008/page01.html">Calling
all servers!</A></LI>

<LI>
<A HREF="009/page01.html">Discriminating tastes...</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>

<H4>
A word about ACE_Message_Queue</H4>

<OL>
<LI>
<A HREF="010/page01.html">Puttin' data</A></LI>
<LI>
<A HREF="011/page01.html">What about non-trivial data?</A></LI>
<LI>
<A HREF="012/page01.html">Puttin' pointers</A></LI>
<LI>
<A HREF="013/page01.html">Task chains and state machines</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>

<H4>
Paddling down (and up) the ACE_Stream</H4>

<OL>
<LI>
<A HREF="014/page01.html">ACE_Stream Tutorial, Of Sorts</A></LI>
<LI>
<A HREF="015/page01.html">A certain amount of Protocol is required!</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>

<H4>
Keeping yourself in synch</H4>
<OL>
<LI>
<A HREF="016/page01.html">On one condition...</A>
<LI>
<A HREF="017/page01.html">Something about Barriers</A>
<!--
<LI>
<A HREF="018/page01.html">Tokens:  Not just for the subway any more</A>
-->
</OL>

<HR>

<P>Back to the <A
HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/ACE-tutorials.html">ACE
tutorials</A> page.

<P>
<!--#include virtual="/~schmidt/cgi-sig.html" -->
</BODY>
</HTML>