Timeout merge #3:
[opensync.git] / ChangeLog
blob38120f960398b9b6f14f52fdc053cf6fdffc41dd
1 2009-02-03  Graham Cobb  <g+770@cobb.uk.net>
3         * tests/ipc-tests/check_ipc.c (ipc_loop_timeout_with_idle): Change test parameters
4         so test completes within 30 second limit.
6 2009-02-02  Graham Cobb  <g+770@cobb.uk.net>
8         * opensync/ipc/opensync_queue_private.h (OSYNC_QUEUE_PENDING_QUEUE_MIN_TIMEOUT): Define
9         minimum pending queue timeout.
11         * opensync/ipc/opensync_queue.c (_osync_queue_restart_pending_timeout): Apply
12         minimum value to pending queue timeout.
14 2009-02-01  Graham Cobb  <g+770@cobb.uk.net>
16         * tests/ipc-tests/check_ipc.c: Add ipc_timeout_noreceiver test.
18         * opensync/ipc/opensync_queue.c (osync_queue_send_message_with_timeout): Track maximum 
19         timeout seen.  Start pending queue timeout.
20         (_osync_queue_remove_pending_reply): restart pending queue timeout if necessary
21         (_osync_queue_restart_pending_timeout): Add function to start/restart pending queue timeout
22         (_timeout_check): Fix calculation of expiry of timeout.  Add pending queue timeout.
23         (_timeout_dispatch): Fix calculation of expiry of timeout.  Add pending queue timeout.
25         * opensync/ipc/opensync_queue_private.h: Add max_timeout and pending_timeout fields (to queue).
26         (OSYNC_QUEUE_PENDING_QUEUE_IPC_DELAY): Add value to assume for IPC delay in pending queue timout.
28 2009-01-25  Graham Cobb  <g+770@cobb.uk.net>
30         * opensync/engine/opensync_sink_engine.c (osync_sink_engine_new): Ref objengine [Bug #1052]
31         (osync_sink_engine_unref): Unref objengine [Bug #1052]
33         * opensync/engine/opensync_obj_engine.c (_osync_obj_engine_*_callback): Unref sinkengine [Bug #1052]
34         (osync_obj_engine_command): Ref sinkengine every time it is used for a callback [Bug #1052]
36         * opensync/ipc/opensync_queue.c (osync_queue_disconnect): Empty pending
37         queue before performing disconnect.  Pending messages with callbacks
38         will get called with an error message.
39         (_incoming_check): Do not action incoming queue if a disconnect is in progress.
40         This avoids entries being added to pending queue while we are trying to empty it.
41         (osync_queue_send_message_with_timeout): Do not allow sending messages which require
42         adding entries to the reply queue pending list if the reply queue is being disconnected.
44         * opensync/ipc/opensync_queue_private.h: Add disc_in_progress flag to queue.
46 2009-01-24  Graham Cobb  <g+770@cobb.uk.net>
48         * opensync/ipc/opensync_queue.c (_osync_queue_generate_error): Add 
49         _osync_queue_generate_error
50         (_osync_send_timeout_response): If there is no reply queue, 
51         call _osync_queue_generate_error
53         * tests/CMakeLists.txt: Add ipc_timeout_noreplyq
55         * tests/ipc-tests/check_ipc.c: Add ipc_timeout_noreplyq
57         * opensync/ipc/opensync_queue.c (osync_queue_remove_cross_link): Add
58         osync_queue_remove_cross_link
59         (osync_queue_disconnect): Call osync_queue_remove_cross_link
61         * opensync/ipc/opensync_queue_internals.h: Add osync_queue_remove_cross_link
63 2009-01-23  Graham Cobb  <g+770@cobb.uk.net>
65         * opensync/client/opensync_client.c (osync_client_set_incoming_queue): Call
66         osync_queue_set_pending_limit
68         * tests/ipc-tests/check_ipc.c: Call osync_queue_set_pending_limit in timeout tests.
70         * opensync/ipc/opensync_queue_internals.h: Add osync_queue_set_pending_limit
71         and OSYNC_QUEUE_PENDING_LIMIT
73         * opensync/ipc/opensync_queue.c (_incoming_check): Check pendingLimit not exceeded.
74         Add increments/decrements of pendingCount whenever pendingReplies is manipulated.
75         (osync_queue_set_pending_limit): Add osync_queue_set_pending_limit
77         * opensync/ipc/opensync_queue_private.h: Add pendingCount, pendingLimit to OSyncQueue
79         * tests/CMakeLists.txt: Add ipc_loop_timeout_with_idle.
81         * tests/ipc-tests/check_ipc.c: Rename callback_handler as callback_handler_check_reply.
82         Rename server_handler3 as server_handler_abort.
83         Rename client_handler6 as client_handler_sleep.
84         Add ipc_loop_timeout_with_idle.
86 2009-01-22  Graham Cobb  <g+770@cobb.uk.net>
88         * tests/CMakeLists.txt: Add ipc_loop_with_timeout
89         Add ipc_late_reply
91         * tests/ipc-tests/check_ipc.c: Call osync_queue_cross_link every time
92         client mainloop is setup.
93         (ipc_timeout): Rewrite client to use a mainloop and a callback so new 
94         timeout processing can run
95         Rewrite server to use a mainloop so message callback gets called
96         (ipc_loop_with_timeout): Add ipc_loop_with_timeout
97         (ipc_late_reply): Add ipc_late_reply
99         * opensync/ipc/opensync_queue.c (_timeout_dispatch): Restart timeout search at start of
100         pending list as list may have been modified while unlocked.
101         (_timeout_dispatch): Set message id in error message
102         (_timeout_dispatch): Undo change to restart timeout search (above)
104 2009-01-21  Graham Cobb  <g+770@cobb.uk.net>
106         * opensync/ipc/opensync_queue.c (osync_queue_send_message_with_timeout): If this is
107         a reply, remove pending command
109         * opensync/client/opensync_client_proxy.c (_osync_client_proxy_hup_handler): treat
110         a queue error as a disconnect
111         (osync_client_proxy_spawn): cross-link command and reply queues
113         * opensync/client/opensync_client.c (_osync_client_handle_initialize): cross-link
114         command and reply queues
115         (_osync_client_hup_handler): treat a queue error as a disconnect
117 2009-01-20  Graham Cobb  <g+770@cobb.uk.net>
119         * opensync/ipc/opensync_queue_internals.h: Add osync_queue_cross_link
121         * opensync/ipc/opensync_queue.c (osync_queue_cross_link): Cross-link command and reply queues
123         * opensync/ipc/opensync_queue.c (_osync_send_timeout_response): 
124         Callback function for timeouts: send the timeout error reponse
125         (_incoming_dispatch): For incoming messages which have timeouts, 
126         create a pending list entry
128         * opensync/ipc/opensync_queue_private.h: Add reply_queue for pointer to 
129         queue used for replies to incoming messages, if any.
130         Add cmd_queue for pointer to queue used to store pending commands.
132 2009-01-19  Graham Cobb  <g+770@cobb.uk.net>
134         * opensync/ipc/opensync_message.c: Add opensync_message_set/get_timeout
136         * opensync/ipc/opensync_message_internals.h: Add opensync_message_set/get_timeout
138         * opensync/ipc/opensync_message_private.h: Add timeout to message
140 2008-05-04  Graham Cobb  <g+770@cobb.uk.net>
142         * opensync/helper/opensync_hashtable.c (osync_hashtable_get_deleted): 
143         Reimplement change below to avoid local function declaration, which does not
144         work on suncc.  Use user_data parameter on callback_check_deleted instead.
146 2008-05-03  Graham Cobb  <g+770@cobb.uk.net>
148         * opensync/helper/opensync_hashtable.c (osync_hashtable_get_deleted): 
149         Avoid use of g_hash_table_get_keys so code can be built using glib 2.12.
150         Uses g_hash_table_foreach with a callback routine instead.
152 2008-04-12  Daniel Gollub <dgollub@suse.de>
154         * tools/osyncplugin.c:
155           Full rewrite of osyncplugin to work with OpenSync 0.30 API
156         
157         * tests/mock-plugin/mock_sync.c, tests/mock-plugin/mock_format.c: 
158           Stripped entire error handling of mock-sync and mock-format for best
159           code coverage. Instead of error handling in testing code use
160           osync_assert().
162 2008-04-10  Graham Cobb  <g+770@cobb.uk.net>
164         * opensync/helper/opensync_hashtable.c (osync_hashtable_reset_reports): conditionalise g_hash_table_remove_all
165         on GLIB version 2.12 or later.  Use g_hash_table_foreach_remove for earlier versions.
167         * ChangeLog: create a ChangeLog