File: design-spec.html

package info (click to toggle)
emil 2.1.0-beta9-5
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,160 kB
  • ctags: 587
  • sloc: ansic: 10,358; yacc: 412; makefile: 329; sh: 182
file content (106 lines) | stat: -rw-r--r-- 2,649 bytes parent folder | download | duplicates (6)
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
<HEAD>
<TITLE>EMIL version 2 TUTORIAL</TITLE>
</HEAD>
<BODY>

                                             
<H1>TUTORIAL FOR EMIL VERSION 2.1
</H1>
<EM>Written by Martin Wendel, ITS, Uppsala university.
Martin.Wendel@its.uu.se
</EM>
<HR>
<A HREF=setting.html><IMG ALIGN=MIDDLE SRC=arrow_right3.gif></A><A HREF=main.html><IMG ALIGN=MIDDLE SRC=arrow_up2.gif></A><A HREF=analysis.html><IMG ALIGN=MIDDLE SRC=arrow_left3.gif></A>



<H2>DESIGN SPECIFICATION OF EMIL VERSION 2</H2>

<H3>Introduction</H3>
<P>It is my ambition to use an object oriented methodology when developing
Emil version 2. Much to gain subsystems with crisp boundaries, thereby 
simplifying programming and debugging,  but also to make
the whole system easier to grasp.
<P>
<HR>

<H3>The Message</H3>
<P>The message itself can be viewed as an object oriented structure in
which there are three basic object types: Message, Header and Body.

<UL>
<LI>The message object consists of a header and a body.
<LI>Each message contain some information specific to the message itself
<UL>
<LI>The sender's address
<LI>The recipient's address
<LI>The subject
<LI>The type of format, for example MIME.
</UL>

</UL>
<HR>

<H3>Header</H3>

<UL>
 <LI>Header description according to configuration file.

<LI>Handle header folding and header decoding in C-code.

<LI>Hande basic header tokenization in C-code.

<LI>Inside the header there's information that is applicable on the body.

</UL>
<HR>

<H3>Body</H3>
<UL>

<LI>Body description according to configuration file.

</UL>
<HR>


<H1>Simple functional model</H1>
<UL>

<P>1. While loading message, unfold headers and do basic tokenization.
<BR>
<P>2. Parse header and compare with the configuration. Assign the description header data variables. Mark unmarked body parts with information.
<BR>
<P>3. Compare with output configuration file. Decode unsupported encoding types.
<BR>
<P>4. Encode binary and text according to configuration.
<BR>
<P>5. Apply the new format headers.
<BR>
<P>6. Remove the old format headers.
</UL>
<HR>
<A HREF=end.html><IMG ALIGN=MIDDLE SRC=arrow_right3.gif></A><A HREF=main.html><IMG ALIGN=MIDDLE SRC=arrow_up2.gif></A><A HREF=analysis.html><IMG ALIGN=MIDDLE SRC=arrow_left3.gif></A>


<hr size="4" noshade>
<ADDRESS>
<table WIDTH="95%">
<td>
March 1996<p>
<B>ITS Uppsala university</B><BR>
Box 887<BR>
751 08 Uppsala<BR>
SWEDEN<P>
</td>
<td ALIGN="right" VALIGN="middle">
<a href="mailto:Martin.Wendel@its.uu.se">Martin Wendel</a>
</td>
<td ALIGN="left" VALIGN="middle">
<a href="mailto:Martin.Wendel@its.uu.se">
<IMG border="0" SRC="binpobox.gif" ALT="E-Mail: "></a>
</td>
</table>
</ADDRESS>
</body>
</html>