head 1.27;
access;
symbols;
locks; strict;
comment @# @;
1.27
date 2001.08.30.14.59.19; author simons; state Exp;
branches;
next 1.26;
1.26
date 2001.08.30.14.58.33; author simons; state Exp;
branches;
next 1.25;
1.25
date 2001.08.30.11.19.10; author simons; state Exp;
branches;
next 1.24;
1.24
date 2001.08.22.20.25.06; author simons; state Exp;
branches;
next 1.23;
1.23
date 2001.08.11.19.27.03; author rse; state Exp;
branches;
next 1.22;
1.22
date 2001.08.11.19.22.07; author rse; state Exp;
branches;
next 1.21;
1.21
date 2001.08.08.13.23.05; author simons; state Exp;
branches;
next 1.20;
1.20
date 2001.08.08.13.21.31; author simons; state Exp;
branches;
next 1.19;
1.19
date 2001.08.08.13.20.38; author simons; state Exp;
branches;
next 1.18;
1.18
date 2001.08.08.13.19.45; author simons; state Exp;
branches;
next 1.17;
1.17
date 2001.08.08.13.19.07; author simons; state Exp;
branches;
next 1.16;
1.16
date 2001.08.08.13.18.46; author simons; state Exp;
branches;
next 1.15;
1.15
date 2001.08.08.13.17.50; author simons; state Exp;
branches;
next 1.14;
1.14
date 2001.08.08.13.17.10; author simons; state Exp;
branches;
next 1.13;
1.13
date 2001.08.08.13.14.50; author simons; state Exp;
branches;
next 1.12;
1.12
date 2001.07.31.16.03.01; author simons; state Exp;
branches;
next 1.11;
1.11
date 2001.07.31.15.45.14; author simons; state Exp;
branches;
next 1.10;
1.10
date 2001.07.31.15.34.06; author simons; state Exp;
branches;
next 1.9;
1.9
date 2001.07.31.15.10.07; author simons; state Exp;
branches;
next 1.8;
1.8
date 2001.07.29.16.50.53; author rse; state Exp;
branches;
next 1.7;
1.7
date 2001.07.24.12.16.32; author simons; state Exp;
branches;
next 1.6;
1.6
date 2001.07.19.11.07.15; author simons; state Exp;
branches;
next 1.5;
1.5
date 2001.07.15.11.48.26; author rse; state Exp;
branches;
next 1.4;
1.4
date 2001.06.21.05.16.05; author rse; state Exp;
branches;
next 1.3;
1.3
date 2001.06.12.13.14.48; author simons; state Exp;
branches;
next 1.2;
1.2
date 2001.05.22.14.38.26; author simons; state Exp;
branches;
next 1.1;
1.1
date 2001.05.22.14.36.32; author rse; state Exp;
branches;
next ;
desc
@@
1.27
log
@Closed milestone 5.
@
text
@TODO LIST AND MILESTONES
========================
o M1 (peti) [11-Jun-2001]
- evaluation checklist for XDS and AMP
done: 100% [-> EVAL]
o M2 (peti+rse) [25-Jun-2001]
- design/architecture paper (authentication+encryption framework)
(< 10KB Text + 1x Figure)
done: 30% [-> architecture.fig]
o M3 (peti+rse) [2-Jul-2001]
- design libxds API
done: 100% [-> libxds/xds.h + libxds/xds.pod]
o M4 (peti) [4 weeks until 30-Jul-2001]
- implementation of libxds library framework
done: 100% [-> libxds/xds.c]
- implementation XDR engines for basic data types.
done: 100% [-> libxds/xds_engine_xdr.c]
- implementation XML engines for basic data types.
done: 100% [-> libxds/xds_engine_xml.c]
- regression tests for libxds (make check)
done: 100% [-> xds_test_*.c]
- UFT-8 RFC: rfc2279.txt
done: 100%
- conversion of LaTeX documentation into POD source format
for Unix manual page xds(3).
done: 100%
- autoconf should find the types for int32 etc. even if they're not
defined in sys/types.h. And it should fallback to own types in
case no vendor supplied type is found.
done: 0%
o M5 (peti+rse) [1 week until 06-Aug-2001]
- [peti] documentation for libxds (xds.pod)
- [rse] OSSP adjustments for libxds
done: 100%
o M6 (peti+rse) [1 week until 13-Aug-2001]
- design API for libamp
o M7 (peti) [4 weeks until 10-Sep-2001]
- implementation of libamp library framework
- implementation of libamp backends SHM, TCP and UDP
- regression tests for libamp
o M8 (peti+rse) [1 week until 17-Sep-2001]
- [peti] documentation for libamp
- [rse] OSSP adjustments for libamp
@
1.26
log
@XML now supports the float and double data type and the library is
complete. The regression tests ran successfully on FreeBSD, Linux and
Solaris (cc & gcc).
@
text
@d45 1
@
1.25
log
@"double" support is now fully implemented for XDR.
@
text
@d25 1
a25 2
done: 99% [-> libxds/xds_engine_xml.c]
"double" support is still missing.
@
1.24
log
@Updated state of the "man page" action.
@
text
@d19 1
a19 1
done: 100% [-> libxds/*.c]
d22 1
a22 1
done: 99% [-> everything is implemented except "double" support]
d25 2
a26 1
done: 99% [-> everything is implemented except "double" support]
d29 1
a29 1
done: 100% [-> regression-tests/*.c]
a36 4
- IEEE values ranges for floating point numbers will be used for
accurarcy in XML presentation.
done: 0%
@
1.23
log
@add manual page issue and type fallback issue
@
text
@d35 1
a35 1
done: 0%
@
1.22
log
@Update TODO entries.
@
text
@d33 4
d39 1
d42 3
a44 1
defined in sys/types.h.
@
1.21
log
@Documented state of affairs for UTF-8 encoding in XML.
@
text
@d31 1
a31 1
done: 0%
a37 3
- autoconf should specify the compiler flags depending on what the
compiler supports.
@
1.20
log
@Removed the "don't use snprintf()" item: This has been implemented.
@
text
@d31 1
@
1.19
log
@Removed the "avoid strcpy()" item: This has been fixed.
@
text
@d32 2
a33 5
- libm may be used. We don't depend on sprintf() but convert out
numbers ourselves for portability.
- IEEE values ranges for floating point numbers will be used for
accurarcy in XML presentation.
d42 2
a43 2
- [peti] documentation for libxds (xds.pod)
- [rse] OSSP adjustments for libxds
d46 1
a46 1
- design API for libamp
d49 3
a51 3
- implementation of libamp library framework
- implementation of libamp backends SHM, TCP and UDP
- regression tests for libamp
d54 2
a55 3
- [peti] documentation for libamp
- [rse] OSSP adjustments for libamp
@
1.18
log
@Removed closed points concerning the XML engines.
@
text
@a31 5
- strcpy() copies one byte more than the length of the text itself
because the trailing \0 is written to. Currently, this behavior is
not taken into account when calculating the correct buffer size in
the xml-encode-*-.c modules. This has to be fixed!
@
1.17
log
@The problem with 16-bit integers is solved.
@
text
@a29 10
- XML: 1234
uint32, int64, uint64,
- xml_encode_begin():
- xml_encode_end():
a30 4
Escape: < <--> <
& <--> &
]]> <--> ]]>
@
1.16
log
@Cosmetic change: Corrected indention.
@
text
@a29 13
- 16bit Integers mean trouble when passing them through "...":
| xdr-encode-uint16.c:46: `xds_uint16_t' is promoted to `int' when passed through `...'
| xdr-encode-uint16.c:46: (so you should pass `int' not `xds_uint16_t' to `va_arg')
Maybe we should skip int16 support at all? Currently I work around
this problem by implicitely assuming that the short is promoted to
an int.
To make matters even worse: The RFC doesn't even define how XDR
deals with 16-bit integers! The mere existance of such a datatype
is not positively confirmed.
@
1.15
log
@Regression tests are complete.
@
text
@d5 2
a6 2
- evaluation checklist for XDS and AMP
done: 100% [-> EVAL]
d9 3
a11 3
- design/architecture paper (authentication+encryption framework)
(< 10KB Text + 1x Figure)
done: 30% [-> architecture.fig]
d14 2
a15 2
- design libxds API
done: 100% [-> libxds/xds.h + libxds/xds.pod]
d18 2
a19 6
- implementation of libxds library framework
done: 100% [-> libxds/*.c]
- implementation XDR engines for basic data types.
done: 99% [-> everything is implemented except "double" support]
- implementation XML engines for basic data types.
done: 99% [-> everything is implemented except "double" support]
d21 8
a28 2
- regression tests for libxds (make check)
done: 100% [-> regression-tests/*.c]
@
1.14
log
@Documented state of affairs for the implementation of the XDR and XML
engines.
@
text
@d26 1
@
1.13
log
@Bumped milestone (1) to 100% fulfilled: As far as I can see, the EVAL
file is complete.
@
text
@d20 5
a24 25
- implementation of libxds SunRPC/XDR and XML-RPC backends
for basic data types:
o integer:
- short
- unsigned short
- int
- unsigned int
- long
- unsigned long
o floating point:
- float
- double
o pointer:
- void *
- void(*)()
o string
- char * (end is NUL)
- unsigned char * (end is NUL)
o octet-stream
- void * (end is after given length)
Function prototype is xds_engine_t.
Function name scheme is:
{xdr,xml}_{en,de}code_{[u]short,[u]int,[u]long,
float,double,voidptr,funcptr,
[u]string,octets}
@
1.12
log
@Things are even worse with 16-bit integers.
@
text
@d6 1
a6 1
done: 50% [-> EVAL]
@
1.11
log
@Documented problem with 16-bit integers when passed through "...".
@
text
@d56 4
@
1.10
log
@Removed the C++ prototype item from the TODO list: We decided against
a C++-specific interface.
@
text
@d47 9
@
1.9
log
@Documented a bug that needs to be fixed ASAP.
@
text
@a6 2
- prototype C++
done: 0%
@
1.8
log
@It is clear that we unfortunately no longer have a chance to meet the
arranged date of beginning of September for XDS/AMP. Shift the deadline
by two weeks now. One additional week because of XDS plus one week in
advance for AMP.
@
text
@d65 4
a68 1
@
1.7
log
@- Added spec of xml_encode_begin() and xml_encode_end().
- Added RFC for UTF-8 encoding.
- Added the list of characters to be escaped for XML.
- Documented TODO stuff in autoconf script.
- Documented design decision concerning the precision of doubles.
- Documented design decision against use of snprintf().
@
text
@d19 1
a19 1
o M4 (peti) [3 weeks until 23-Jul-2001]
d79 1
a79 1
o M5 (peti+rse) [1 week until 30-Jul-2001]
d83 1
a83 1
o M6 (peti+rse) [1 week until 06-Aug-2001]
d86 1
a86 1
o M7 (peti) [3 week until 27-Aug-2001]
d91 1
a91 1
o M8 (peti+rse) [1 week until 03-Sep-2001]
d94 1
@
1.6
log
@Added tags to be used in XML encoding.
@
text
@a0 1
d51 27
@
1.5
log
@Revamp the XDS/AMP TODO file by updating the forthcoming
milestones and corresponding dates.
Peti: Please look carefully over it and feel free to
add/remove entries and/or adjust milestone times
if you thing we cannot fulfill this.
@
text
@d30 2
a31 2
- long
- unsigned long
d41 1
a41 1
o octet-stream
d50 3
a67 1
@
1.4
log
@remember results from last ad-hoc brain-storming with team
@
text
@d6 4
a9 4
- evaluation (-> ideas)
(checklist)
- prototype
(C++)
d14 1
d16 1
a16 1
o M3 (peti+rse) [9-Jul-2001]
d18 1
a18 2
- design libamp API
- preliminary design libsrpc API
d20 45
a64 16
o M4 (peti)
- implementation of libxds
- implementation of libamp
o M5 (peti+rse)
- design libsrpc API and protocol
o M6 (peti)
- implementation libsrpc
- implementation xxxd
o M7 (peti)
- documentation
o M8 (rse)
- OSSP integration
@
1.3
log
@Updated milestones.
@
text
@a0 26
Simple RPC
==========
Architecture:
- Abstracted Message Passing Library: libamp
- eXtendable Data Serialization Library: libxds
- Simple Remote Procedure Call Library: libsrpc
TODO:
- The server actually performing the function call has to interpret
the transferred data according to the functions prototype. This may
be done in one of the following ways:
- All functions have the same prototype. The function may then be a
stub calling the actual function. These stubs can be generated
manually or semi-automatically.
- Allow only a finite set of prototypes and switch according to the
function tye, like in eAPI in Apache.
- Build function call dynamically using the Foreign Function Call
library.
- The programmer should be able to specify whether his implementations
need guarantees of being called at least once, exactly once, etc.
d2 2
d36 1
@
1.2
log
@Removed unnecessary whitespace.
@
text
@d1 2
a2 2
Efficient RPC (E-RPC)
=====================
d5 23
a27 2
- libeprc
- libserialize
d34 2
a35 1
o M2 (peti+rse) [02-Jul-2001]
d38 18
a55 9
- rpc protocol (ohne serialization)
(< 5KB Text)
- API specification (erpc.h, serial.h)
o M3 (peti)
- source tree
- implementation
o M4 (rse)
- OSSP integration/adjustierung
o M5 (peti)
d57 3
@
1.1
log
@add todo
@
text
@a0 1
d11 1
a11 1
- prototype
a25 1
@