Added asynchronous event tasks to SILC Scheduler. Added
[crypto.git] / CHANGES.RUNTIME
1 Sun Dec 30 14:35:33 EET 2007  Pekka Riikonen <priikone@silcnet.org>
2
3         * Implemented asynchronous events to SILC Scheduler.  Added
4           silc_schedule_task_add_event, silc_schedule_event_connect,
5           silc_schedule_event_dissconnect, silc_schedule_task_del_event
6           and silc_schedule_event_signal.  Affected files are
7           lib/silcutil/silcschedule.[ch], silcschedule_i.h.
8
9         * Added concept of child and parent scheduler to SILC Scheduler
10           API.  silc_schedule_init now takes optional parent argument.
11           Each child scheduler is still independent, only the event tasks
12           are shared among parent and children.  Affected files are
13           lib/silcutil/silcschedule.[ch].
14
15         * The SILC FSM real thread now adds the created SilcSchedule
16           as the thread's global scheduler.  Affected file is
17           lib/silcutil/silcfsm.[ch].
18
19         * Moved generic string and data hashing and comparison functions
20           from lib/silcutil/silcutil.[ch] to lib/silcutil/silchashtable.[ch]
21           as they are usable by the hash table.  Added case sensitive
22           and insensitive string hashing and comparison funtions.
23           Changed string and data hashing to use Bob Jenkin's one-at-a-time
24           hash function.
25         
26         * Moved SILC_PARAM_* types from silcbuffmt.h to silctypes.h
27           under a generic SilcParam type.  Affected files are
28           lib/silcutil/silcbuffmt.[ch] and lib/silcutil/silctypes.h.
29
30 Wed Dec 26 13:10:30 EET 2007  Pekka Riikonen <priikone@silcnet.org>
31
32         * Added silc_schedule_[set|get]_global to
33           lib/silcutil/silcschedule.[ch].
34
35         * Changed many APIs to call silc_schedule_get_global if provided
36           scheduler argument is NULL.
37
38 Tue Dec 25 18:44:27 EET 2007  Pekka Riikonen <priikone@silcnet.org>
39
40         * silc_stack_alloc now automatically aligns the requested
41           stack size.  Affected files are lib/silcutil/silcstack.[ch].
42
43 Tue Dec 25 13:53:07 EET 2007  Pekka Riikonen <priikone@silcnet.org>
44
45         * Added silc_getopt to lib/silcutil/silcgetopt.[ch].
46
47 Sat Dec 22 19:55:28 EET 2007  Pekka Riikonen <priikone@silcnet.org>
48
49         * Added SILC errno API to lib/silcutil/silcerrno.[ch].  Added
50           SilcResult, generic error code and return value type.  Added
51           global silc_errno that returns last error in that thread.
52
53         * Deprecated SilcSocketStreamStatus, SilcResult replaces it.
54           Backwards support remains.  Affected files are
55           lib/silcutil/silcsocketstream.[ch].
56
57         * Deprecated SilcNetStatus, SilcResult replaces it.  Backwards
58           support remains.  Affected files are lib/silcutil/silcnet.[ch].
59
60         * Added errno setting to almost all Runtime Tooolkit routines
61           in error conditions.
62
63 Sun Dec 16 16:18:04 EET 2007  Pekka Riikonen <priikone@silcnet.org>
64
65         * Added SILC Bit Operations API to lib/silcutil/silcbitops.[ch].
66
67 Sat Dec 15 19:59:53 EET 2007  Pekka Riikonen <priikone@silcnet.org>
68
69         * Added SILC Tls API for Thread-local storage in
70           lib/silcutil/silcthread.[ch].  Added all platform specific
71           implementations.  Added SilcTls structure to 
72           lib/silcutil/silcthread_i.h that is now in all threads' Tls.
73
74 Thu Dec 13 17:37:21 EET 2007  Pekka Riikonen <priikone@silcnet.org>
75
76         * Clear the locked flag before unlocking mutex, not after.
77           Affected files are lib/silcutil/unix/silcunixthread.c and
78           lib/silcutil/symbian/silcsymbianthread.c.
79
80         * Fixed thread pool locking dealing with thread stopping to
81           prevent deadlocks and crashes.  Affected file is 
82           lib/silcutil/silcthread.c.
83
84 Tue Nov  6 17:09:42 EET 2007  Pekka Riikonen <priikone@silcnet.org>
85
86         * Added '%@' formatting to silc_snprintf and variants.  It
87           can be used to render data and structures.  Affected files
88           are lib/silcutil/silcsnprintf.[ch].
89
90 Sat Oct 27 18:12:40 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
91
92         * Added silc_net_tcp_create_listener2.  Affected files are
93           lib/silcutil/silcnet.h and platform specific implementation.
94
95 Sat Sep  1 12:09:32 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
96
97         * Rewrote parts of the SILC Atomic API to not use volatile
98           members in structures but to handle the memory accesses
99           volatily, the right way to do it.  Affected file is
100           lib/silcutil/silcatomic.h.
101
102         * Added silc_timer_tick and silc_timer_synchronize functions
103           to SILC Timer API.  Affected files are 
104           lib/silcutil/silctimer.[ch] and silctimer_i.h.
105
106         * Use clock_gettime in place of gettimeofday, if it is
107           available.  Affected files are configure.ad and
108           lib/silcutil/unix/silcunixutil.c.
109
110         * Added silc_offsetof, silc_likely and silc_unlikely to public
111           API.  Added silc_attribute compiler specific definition.
112           Affected file is lib/silcutil/silctypes.h.
113
114         * Added silc_prefetch and silc_prefetch_block functions that
115           provide routines for prefetching data to CPU cache.  Affected
116           file is lib/silcutil/silctypes.h.
117
118         * Added --with-alignment for specifying default memory alignment
119           used in the compiled code.  Currently only SilcStack respects
120           this value.  Affected files are lib/configure.ad,
121           lib/silcutil/silcstack_i.h and includes/silc.h.in.
122
123 Tue Aug  7 21:00:00 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
124
125         * Fixed alignment issues on 64-bit CPUs.  Affected files are
126           lib/silcutil/silcschedule.c and unix/silcunixschedule.c.
127
128 Sat Aug  4 19:09:14 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
129
130         * Added assembler optimized versions of SILC_[GET|PUT]XX_MSB
131           macros, and SILC_SWAB_XX macros.  Added new functions
132           silc_rol, silc_ror, silc_rol64 and silc_ror64, all of which
133           have assembler optimizations also.  Affected file is
134           lib/silcutil/silctypes.h.
135
136 Thu Jul 26 18:13:59 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
137
138         * Changed thread pool call queues thread specific and changed
139           queues to be consumed in last-in-first-out order.  These
140           are optimizations to the thread pool.  Affected file is
141           lib/silcutil/silcthread.c.
142
143 Wed Jul 25 19:32:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
144
145         * Added silc_mime_assembler_purge to lib/silcutil/silcmime.[ch]
146           to purge unfinished fragments from MIME assembler.
147
148 Sat Jul 21 14:47:28 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
149
150         * Added silc_data2hex and silc_hex2data to
151           lib/silcutil/silcutil.[ch].
152
153 Thu Jul 19 17:07:02 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
154
155         * Added silc_buffer_strchr to lib/silcutil/silcbuffer.h.
156
157 Tue Jul 17 20:10:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
158
159         * Added silc_hexdump to lib/silcutil/silcutil.[ch].
160
161 Fri Jul 13 23:01:45 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
162
163         * Added SILC_GET32_X_MSB macro to lib/silcutil/silctypes.h.
164
165 Wed Jul 11 17:10:11 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
166
167         * Added SILC Timer API to lib/silcutil/silctimer.[ch],
168           silctimer_i.h, tests/test_silctimer.c.
169
170 Tue Jul 10 20:02:04 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
171
172         * Added queue entry free list to thread pool instead of
173           allocating new entry everytime new entry is needed.  Affected
174           file is lib/silcutil/silcthread.c.
175
176 Mon Jul  9 20:21:13 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
177
178         * Changed thread pool completion callback to SilcTaskCallback so
179           that it can be given directly to destination scheduler.
180           Affected files are lib/silcutil/silcthread.[ch].
181
182 Sun Jul  8 20:20:22 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
183
184         * Moved Base64 routines to lib/silcutil/silcbase64.[ch].  Added
185           SilcStack support to the API.
186
187         * Inherit the lock from parent in SilcStack child.  If child
188           doesn't find stack blocks, check from parent.  Added
189           silc_stack_purge.  Affected file is lib/silcutil/silcstack.c.
190
191 Wed Jul  4 20:20:05 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
192
193         * Unified the SILC_STR_FUNC callback.  Affected files are
194           lib/silcutil/silcbuffmt.[ch].
195
196         * Added SilcStack support to SILC File Util API.  Affected files
197           are lib/silcutil/silcfileutil.[ch].
198
199         * Added SilcStack support to SILC FD Stream API.  Affected files
200           are lib/silcutil/silcfdstream.[ch].
201
202         * Added SilcStack support to SILC Scheduler API.  The scheduler
203           now creates stack always.  It can be retrieved by
204           silc_schedule_get_stack.  Affected files are
205           lib/silcutil/silcschedule.[ch], silcschedule_i.h.
206
207         * Added SilcStack child creation and use multi-thread support.
208           Added OOM handler, silc_stack_set_oom_handler.  Affected
209           files are lib/silcutil/silcstack.[ch].
210
211 Tue Jul  3 22:45:56 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
212
213         * Added concept of child stacks to SilcStack, allowing to create
214           true memory pools using SilcStack.  It is now possible to
215           create childs from the parent, without consuming the parent's
216           memory.  The child's memory is returned back to parent when
217           it is freed.  Affected files are lib/silcutil/silcstack.[ch],
218           silcstack_i.h.
219
220 Tue Jul  3 18:17:54 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
221
222         * Added SILC DLL API for loading and using shared objects and
223           DLLs.  Affected files are lib/silcutil/sildll.[ch].  Added
224           also test program lib/silcutil/tests/test_silcdll.c.
225
226         * Added SILC Environment manipulation API to
227           lib/silcutil/silcenv.[ch] and test program to
228           lib/silcutil/tests/test_silcenv.c.
229
230         * Renamed silc_hash_table_replace to silc_hash_table_set.
231           Added SilcStack support to SilcHashTable.  Affected files are
232           lib/silcutil/silchashtable.[ch].
233
234         * Added SilcStack support to SilcDList.  Added new function
235           silc_dlist_sinit.  Affected file is lib/silcutil/silcdlist.h.
236
237 Mon Jul  2 21:07:34 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
238
239         * Removed unaligned memory allocation from SilcStack.  Moved
240           silc_stack_malloc and silc_stack_realloc to public API from
241           private API.  Added silc_stack_[set|get]_alignment that is
242           used to get/set memory alignment with SilcStack.  Affected
243           files are lib/silcutil/silcstack.[ch], silcstack_i.h.
244
245         * Added silc_sfree to lib/silcutil/silcmemory.[ch].
246
247         * Removed silc_smalloc_ua and silc_srealloc_ua.  Affected files
248           are lib/silcutil/silcmemory.[ch].
249
250 Mon Jul  2 17:13:51 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
251
252         * Added SILC Thread Pool API to lib/silcutil/silcthread.[ch],
253           and test program in lib/silcutil/tests/test_silcthread.c.
254
255 -----------------------------------------------------------------------------
256
257 For older changes please see the CHANGES file from the CVS tree.