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