2 - Create a new log channel tbx containing dict, set, log, dynar (to shut
3 them all up in one shot)
5 - Fix the ugly case of reference to dynamic array.
6 - New (semi-public) function gras_datadesc_size to allow the messaging
7 layer to malloc the needed space for the buffer.
9 - gras_socket_close now expect the socket to close (and not its address to
10 put NULL in it after it). This is because the socket passed to handlers
11 is one of their argument (=> not writable).
13 - propagate the interface cleanup from last week in datadesc, ie remove a
14 superfluous level of indirection. User pass adress of variable
15 containing data (both when sending and receiving), and not of a variable
16 being a pointer to the data. Let's say that I like it better ;)
17 The price for that is constructs like "int msg=*(int*)payload" in
18 handlers, but it's a fine price, IMHO.
22 - porting SG plugin and SG select to new standards (works almost).
23 - plug memleaks and fix bugs around.
26 - cleanup the prototype of data recv and force users to specify when they
27 want to handle references to objects. Test case working even for cycles.
28 - plug memleaks. Valgrind is perfectly ok with this.
32 - cleanup the separation between plugin and main code in plugin creation
36 - Reput hook for raw sockets, needed for BW experiments
37 - kill a few lines of dead code
38 [Data description] Interface cleanup
39 - gras_datadesc_by_name returns the searched type or NULL.
40 That way, no variable is needed to use a type desc once, which makes
42 - gras_datadesc_declare_[struct|union]_append_name is removed. The last
43 two parameters were strings (field name, type name), leading to
45 [Dicos] Interface cleanup
46 - gras_dico_retrieve -> gras_dico_get ; gras_dico_insert -> gras_dico_set
47 This is consistant with the dynar API.
49 2004-04-21 Martin Quinson
51 - Porting to new standards.
54 There is no bag anymore, no need to take extra provision to mask the
56 Better splitup of functions between files create/exchange/convert.
57 This is still a bit artificial since convert and receive are so
58 interleaved, but anyway.
60 - add a queued message list to procdata (the ones not matching criteria
62 - factorize some more code between SG and RL wrt procdata
64 - use gras_exit in example to track memleaks
65 - get rid of gs_example now that GS is properly integrated into gras
66 - update run_test to integrate the lastest tests (datadesc)
68 - rename WARNINGn macros to WARNn since it prooved error-prone
70 2004-04-19 Martin Quinson
72 - register init/exit functions within gras module mecanism
73 - send/receive function.
74 Convertion is not implemented, but short-cutted if not needed.
75 struct/array elements are sent one by one (instead of block-wise), but
76 nobody really cares (yet). Get a prototype before optimizing.
77 - tests (using a file socket) for DD send/receive on:
78 - base types: int, float
79 - array: fixed size, string (ie ref to dynamic string)
80 - structure: homogeneous, heterogeneous
81 - chained list, graph with cycle
82 Believe it or not, valgrind is not too unhappy with the results. The
83 cycle happily segfaults, but the others are ok. And I'm sick of pointers
87 - Bugfix when using a filename explicitely (instead of '-')
89 2004-04-09 Martin Quinson
91 - factorize more code between RL and SG in socket creation
92 - Complete the implementation and tests of:
94 o file (only in RL, and mainly for debugging)
96 I lost 3 days to design a portable address resolver, and then decided
97 that the prototype mainly have to run on my box.
98 Addressing portability too early may be like optimizing too early :-/
100 - use gras_init in the Tests instead of the crappy parse_log_opt
101 (the latter function is removed)
102 [Conditional execution]
103 - New functions: gras_if_RL/gras_if_SG (basic support for this)
104 [Code reorganisation]
105 - Get rid of libgrasutils.a since it makes more trouble than it solves.
106 Build examples against the RL library, since there is no way to disable
107 its creation for now.