summaryrefslogtreecommitdiff
path: root/docs/tutorials/online-tutorials.html
blob: 7aa97414562f75b296db1647a579560eacd1ffc8 (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
135
136
137
138
139
140
141
142
143
<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 & templates</A>
</OL>

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

<H4>
Do you remember...</H4>
<OL>
<LI>
<A HREF="019/page01.html">Using System V Shared Memory for telepathy</A>
<LI>
<A HREF="020/page01.html">Never forget anything else again!</A>
<LI>
<A HREF="021/page01.html">Pooling your memories via ACE_Malloc</A>
</OL>

<HR>

<P>Back to the <A HREF="../ACE-tutorials.html">ACE tutorials</A> page.

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