1 Sun Dec 30 14:35:33 EET 2007 Pekka Riikonen <priikone@silcnet.org>
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.
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].
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].
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
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.
30 Wed Dec 26 13:10:30 EET 2007 Pekka Riikonen <priikone@silcnet.org>
32 * Added silc_schedule_[set|get]_global to
33 lib/silcutil/silcschedule.[ch].
35 * Changed many APIs to call silc_schedule_get_global if provided
36 scheduler argument is NULL.
38 Tue Dec 25 18:44:27 EET 2007 Pekka Riikonen <priikone@silcnet.org>
40 * silc_stack_alloc now automatically aligns the requested
41 stack size. Affected files are lib/silcutil/silcstack.[ch].
43 Tue Dec 25 13:53:07 EET 2007 Pekka Riikonen <priikone@silcnet.org>
45 * Added silc_getopt to lib/silcutil/silcgetopt.[ch].
47 Sat Dec 22 19:55:28 EET 2007 Pekka Riikonen <priikone@silcnet.org>
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.
53 * Deprecated SilcSocketStreamStatus, SilcResult replaces it.
54 Backwards support remains. Affected files are
55 lib/silcutil/silcsocketstream.[ch].
57 * Deprecated SilcNetStatus, SilcResult replaces it. Backwards
58 support remains. Affected files are lib/silcutil/silcnet.[ch].
60 * Added errno setting to almost all Runtime Tooolkit routines
63 Sun Dec 16 16:18:04 EET 2007 Pekka Riikonen <priikone@silcnet.org>
65 * Added SILC Bit Operations API to lib/silcutil/silcbitops.[ch].
67 Sat Dec 15 19:59:53 EET 2007 Pekka Riikonen <priikone@silcnet.org>
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.
74 Thu Dec 13 17:37:21 EET 2007 Pekka Riikonen <priikone@silcnet.org>
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.
80 * Fixed thread pool locking dealing with thread stopping to
81 prevent deadlocks and crashes. Affected file is
82 lib/silcutil/silcthread.c.
84 Tue Nov 6 17:09:42 EET 2007 Pekka Riikonen <priikone@silcnet.org>
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].
90 Sat Oct 27 18:12:40 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
92 * Added silc_net_tcp_create_listener2. Affected files are
93 lib/silcutil/silcnet.h and platform specific implementation.
95 Sat Sep 1 12:09:32 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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.
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.
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.
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.
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.
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.
123 Tue Aug 7 21:00:00 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
125 * Fixed alignment issues on 64-bit CPUs. Affected files are
126 lib/silcutil/silcschedule.c and unix/silcunixschedule.c.
128 Sat Aug 4 19:09:14 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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.
136 Thu Jul 26 18:13:59 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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.
143 Wed Jul 25 19:32:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
145 * Added silc_mime_assembler_purge to lib/silcutil/silcmime.[ch]
146 to purge unfinished fragments from MIME assembler.
148 Sat Jul 21 14:47:28 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
150 * Added silc_data2hex and silc_hex2data to
151 lib/silcutil/silcutil.[ch].
153 Thu Jul 19 17:07:02 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
155 * Added silc_buffer_strchr to lib/silcutil/silcbuffer.h.
157 Tue Jul 17 20:10:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
159 * Added silc_hexdump to lib/silcutil/silcutil.[ch].
161 Fri Jul 13 23:01:45 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
163 * Added SILC_GET32_X_MSB macro to lib/silcutil/silctypes.h.
165 Wed Jul 11 17:10:11 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
167 * Added SILC Timer API to lib/silcutil/silctimer.[ch],
168 silctimer_i.h, tests/test_silctimer.c.
170 Tue Jul 10 20:02:04 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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.
176 Mon Jul 9 20:21:13 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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].
182 Sun Jul 8 20:20:22 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
184 * Moved Base64 routines to lib/silcutil/silcbase64.[ch]. Added
185 SilcStack support to the API.
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.
191 Wed Jul 4 20:20:05 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
193 * Unified the SILC_STR_FUNC callback. Affected files are
194 lib/silcutil/silcbuffmt.[ch].
196 * Added SilcStack support to SILC File Util API. Affected files
197 are lib/silcutil/silcfileutil.[ch].
199 * Added SilcStack support to SILC FD Stream API. Affected files
200 are lib/silcutil/silcfdstream.[ch].
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.
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].
211 Tue Jul 3 22:45:56 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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],
220 Tue Jul 3 18:17:54 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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.
226 * Added SILC Environment manipulation API to
227 lib/silcutil/silcenv.[ch] and test program to
228 lib/silcutil/tests/test_silcenv.c.
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].
234 * Added SilcStack support to SilcDList. Added new function
235 silc_dlist_sinit. Affected file is lib/silcutil/silcdlist.h.
237 Mon Jul 2 21:07:34 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
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.
245 * Added silc_sfree to lib/silcutil/silcmemory.[ch].
247 * Removed silc_smalloc_ua and silc_srealloc_ua. Affected files
248 are lib/silcutil/silcmemory.[ch].
250 Mon Jul 2 17:13:51 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
252 * Added SILC Thread Pool API to lib/silcutil/silcthread.[ch],
253 and test program in lib/silcutil/tests/test_silcthread.c.
255 -----------------------------------------------------------------------------
257 For older changes please see the CHANGES file from the CVS tree.