head 1.31; access; symbols; locks; strict; comment @# @; 1.31 date 2003.02.17.12.36.25; author rse; state dead; branches; next 1.30; 1.30 date 2003.02.17.12.27.51; author rse; state Exp; branches; next 1.29; 1.29 date 2002.03.17.10.25.52; author rse; state Exp; branches; next 1.28; 1.28 date 2002.01.02.18.36.00; author rse; state Exp; branches; next 1.27; 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.31 log @remove now empty TODO @ text @ @ 1.30 log @cleanup API by returning xds_rc_t in xds_init, too @ text @@ 1.29 log @update texts @ text @a1 2 change xds_init() to return xds_rc_t @ 1.28 log @remember @ text @a0 2 TODO LIST AND MILESTONES ======================== d2 1 a2 28 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% a3 29 - 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 ---- change xds_init() to return xds_rc_t @ 1.27 log @Closed milestone 5. @ text @d58 4 @ 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 @