diff options
Diffstat (limited to 'TAO/ChangeLogs/ChangeLog-02a')
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 1258 |
1 files changed, 821 insertions, 437 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 2c37693d3e4..f3d7ced978b 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,639 +1,1023 @@ -Mon Apr 23 11:49:01 2001 Joe Hoffert <joeh@cs.wustl.edu> +Mon Apr 23 22:05:56 2001 Carlos O'Ryan <coryan@uci.edu> - * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: - Added a sanity check for the length of sequences not to exceed - the length of the stream - cf. bug 58. + * examples/PluggableUDP/DIOP/DIOP_Transport.cpp: + * examples/PluggableUDP/DIOP/DIOP_Transport.h: + * examples/PluggableUDP/DIOP/DIOP_Connection_Handler.cpp: + Update to match the new Transport classes. -Mon Apr 23 10:40:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tao/IIOP_Transport.cpp: + Cosmetic fixes - * tests/MT_Timeout/client.cpp: - * tests/MT_Timeout/Client_Task.cpp: - * tests/MT_Timeout/Client_Taks.h: +Mon Apr 23 21:10:40 2001 Carlos O'Ryan <coryan@uci.edu> - Made the test more smart and tolerant regarding scheduling jitters. - The test now checks how many calls have taken too long to return - and prints warnings, or even errors in the case more than 5 % of - the calls have taken too long. Thanks to Carlos for his suggestions. - -Mon Apr 23 00:45:00 2001 Craig Rodrigues <crodrigu@bbn.com> + * tests/AMI_Buffering/client.cpp: + * tests/Big_Oneways/Coordinator.cpp: + * tests/Big_Twoways/Coordinator.cpp: + Fixed ACE_CHECK/ACE_TRY_CHECK mismatches. - * orbsvcs/tests/AVStreams/*/Makefile - All AVStreams tests now depend on libACE_QoS.so (even if they - do not use QoS), because libTAO_AV.so links against libACE_QoS.so - if QoS was enabled. - libACE_QoS.so should only be conditionally linked in. - (Check if rapi=1) +Mon Apr 23 16:40:07 2001 Carlos O'Ryan <coryan@uci.edu> -Sun Apr 22 19:59:06 2001 Carlos O'Ryan <coryan@uci.edu> + * tao/Transport.h: + * tao/Transport.cpp: + * tao/Reactive_Flushing_Strategy.cpp: + The schedule_output() and cancel_output() methods are invoked + while the handle_mutex_ is held, so there is no need to grab it + again. + The methods are renamed schedule_output_i() and + cancel_output_i() and they are made private, because only the + Reactive_Flushing_Strategy should invoke them. - * orbsvcs/orbsvcs/AV/Transport.cpp: - Removed unused variable. + * tao/Transport.cpp: + * tao/PortableServer/Object_Adapter.cpp: + Move the instantiation of ACE_Reverse_Lock<ACE_Lock> to the + Transport.cpp file. -Sun Apr 22 19:44:02 2001 Carlos O'Ryan <coryan@uci.edu> + * tests/AMI/muxed.conf: + * tests/AMI/exclusive.conf: + Fixed use of obsolete options - * tests/Oneway_Buffering/README: - Too much cut & paste in the documentation. + * tests/AMI/run_test.pl: + Cosmetic fixes -Sun Apr 22 16:44:12 2001 Carlos O'Ryan <coryan@uci.edu> +Mon Apr 23 11:54:23 2001 Carlos O'Ryan <coryan@uci.edu> - * tao/Pluggable_Messaging_Utils.cpp: - Use default constructor for the IOP::ServiceContextList instead - of the constructor taking the maximum size hint. This solves - [BUGID:876] + * tests/AMI_Buffering/AMI_Buffering.dsw: + * tests/AMI_Buffering/admin.dsp: + * tests/AMI_Buffering/client.dsp: + * tests/AMI_Buffering/server.dsp: + Add MSVC project files for this test -Sun Apr 22 16:27:20 2001 Ossama Othman <ossama@uci.edu> +Mon Apr 23 11:47:07 2001 Carlos O'Ryan <coryan@uci.edu> - * tao/TAO_Server_Request.i (operation): + * tests/AMI_Buffering/Client_Task.h: + * tests/AMI_Buffering/Client_Task.cpp: + * tests/AMI_Buffering/client.cpp: + The client event loop can be explicitly terminated now. - This method is now basically a wrapper around the - ACE_CString::set() method. This change makes it easier to - control whether or not the TAO_ServerRequest object should copy - the operation name string. [Bug 870] + * tests/AMI_Buffering/run_timeout_reactive.pl: + Add new driver script for timeout based flushing, but initiated + via the Reactor. - * tao/TAO_Server_Request.cpp (TAO_ServerRequest): + * tests/Oneway_Buffering/client.cpp: + Renamed the second part of the test, 'liveness' is a more + descriptive term. - This constructor now accepts a "const char *" instead of an - ACE_CString. There is no longer any need to use an ACE_CString. +Mon Apr 23 10:38:28 2001 Carlos O'Ryan <coryan@uci.edu> - (_tao_send_reply_exception): + * tests/AMI_Buffering/svc.conf: + Without connection muxing the test runs out of resources pretty + fast, plus flushing does not work exactly as expected. - Initialize the static buffer using aggregate initialization - instead of memset(). It's cleaner. + * tests/AMI_Buffering/Client_Task.h: + * tests/AMI_Buffering/Client_Task.cpp: + Add thread on the client to invoke the reply handler. Without + this feature the ORB would soon dead-lock. - * tao/GIOP_Message_Generator_Parser_10.cpp (parse_request_header): - * tao/GIOP_Message_Generator_Parser_12.cpp (parse_request_header): - * tao/GIOP_Message_Lite.cpp (parse_request_header): +Mon Apr 23 10:03:31 2001 Carlos O'Ryan <coryan@uci.edu> - Don't bother creating a temporary ACE_CString. Just pass the - operation name string to The TAO_ServerRequest object. - TAO_ServerRequest now does the "Right Thing"tm in terms of - managing the operation name string. This removes one heap - allocation from the criticial path (i.e. zero allocations in the - common case (no character set translator) and one allocation in - the case where a character set translator is used). [Bug 870] + * tao/Transport.h: + * tao/Transport.inl: + * tao/Transport.cpp: + Reduce locking overhead by sharing the event handler mutex and + the queue mutex. Since we need to lock the queue just before we + do any I/O it is a very natural fit, and saves us one mutex + per-call. - * tao/LocalObject.cpp: +Sun Apr 22 19:54:09 2001 Carlos O'Ryan <coryan@uci.edu> - Removed inclusion of "ace/Auto_Ptr.h." There was no need to - include it. + * tao/TAO.dsp: + Update list of files. - (_hash): +Sun Apr 22 19:32:55 2001 Carlos O'Ryan <coryan@uci.edu> - Implemented this method. Simply base the hash on the address of - the object. + * tests/README: + * tests/Makefile: + * tests/Makefile.bor: + * tests/AMI_Buffering/README: + * tests/AMI_Buffering/Makefile: + * tests/AMI_Buffering/Makefile.bor: + * tests/AMI_Buffering/admin.bor: + * tests/AMI_Buffering/client.bor: + * tests/AMI_Buffering/server.bor: + * tests/AMI_Buffering/run_test.pl: + * tests/AMI_Buffering/run_timeout.pl: + * tests/AMI_Buffering/run_buffer_size.pl: + * tests/AMI_Buffering/run_message_count.pl: + * tests/AMI_Buffering/Test.idl: + * tests/AMI_Buffering/AMI_Buffering.h: + * tests/AMI_Buffering/AMI_Buffering.cpp: + * tests/AMI_Buffering/AMI_Buffering_Admin.h: + * tests/AMI_Buffering/AMI_Buffering_Admin.cpp: + * tests/AMI_Buffering/Reply_Handler.h: + * tests/AMI_Buffering/Reply_Handler.cpp: + * tests/AMI_Buffering/admin.cpp: + * tests/AMI_Buffering/client.cpp: + * tests/AMI_Buffering/server.cpp: + +Fri Apr 20 15:29:13 2001 Carlos O'Ryan <coryan@uci.edu> * tao/Makefile: - * tao/*/Makefile: + * tao/Makefile.bor: + * tao/Queued_Message.h: + * tao/Transport.h: + * tao/Transport.inl: + * tao/Transport.cpp: + * tao/Transport_Timer.h: + * tao/Transport_Timer.cpp: + Add support for timeout notifications from the Reactor. This is + used to implement the TIMEOUT buffering constraints when the + application does not send events continously. - Updated dependencies. + * tests/Oneway_Buffering/client.cpp: + * tests/Oneway_Buffering/run_test.pl: + * tests/Oneway_Buffering/run_timeout_reactive.pl: + Add new regression test to verify that the TIMEOUT buffering + constraints work. -Sun Apr 22 14:00:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> +Thu Apr 19 14:17:38 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/DIOP/DIOP_Connector.cpp: - * examples/PluggableUDP/DIOP/DIOP_Connector.h: + * tao/Transport.h: + * tao/Transport.cpp: + Factor out common code in drain_queue_i() into + drain_queue_helper(). + Factor out code in send_message_queue(), incidentally + send_message_queue() did not grab the queue lock, fixed that + oversight. + Made TAO_Block_Flushing_Strategy a friend class to access a + couple of _i() methods. + + * tao/Synch_Queued_Message.cpp: + Sometimes the message block chain contain trailing empty + elements. Those elements must be skipped, otherwise the + current_block_ field never becomes 0, even though there is no + more data to send. - Fixed a compiler warning about pragma once by reordering - includes. Thanks to Carlos for reporting this. + * tao/Block_Flushing_Strategy.cpp: + In the blocking flush strategy we need to drain the queue as + soon as schedule_output() is called, otherwise it is possible + that the queue will never be drained. - * examples/PluggableUDP/tests/Basic/run_test.pl: + * tests/Queued_Message_Test/Queued_Message_Test.cpp: + Use the TAO_Async_Queued_Message class for the test, the base + class is abstract now. - Extended the time to wait for the test. + * tests/Oneway_Buffering/client.cpp: + Initialize payload with non-zero bytes for easier debugging -Sat Apr 21 19:33:43 2001 Carlos O'Ryan <coryan@uci.edu> + * tests/LongWrites/Makefile: + Add files missed during the merge - * tao/Environment.h: - * tao/Environment.i: - * tao/Environment.cpp: - Remove the reference count, this allow us to eliminate the - creation (and destruction) of 3 locks on the server's critical - path. This fixes [BUGID:873] + * tests/Big_Request_Muxing/Makefile: + Update dependencies -Sat Apr 21 19:30:35 2001 Nanbor Wang <nanbor@cs.wustl.edu> + * tests/Big_Request_Muxing/client.cpp: + Made request payload smaller, it was taking too long to run + otherwise. - * orbsvcs/tests/Trading/TradingLib.dsp: Fixed the library output - directory to conform with our pattern. + * tests/Big_Request_Muxing/Client_Task.cpp: + Made the test less verbose -Sat Apr 21 16:08:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tests/Makefile: + Add a couple of missing tests Big_Twoways and Big_Request_Muxing - * examples/PluggableUDP/tests/Performace/UDP_PerformanceClient.cpp: - * examples/PluggableUDP/tests/Performace/UDP_i.cpp: + * performance-tests/Latency/client.conf: + Made output path blocking, using reactive out with blocking + input does not quite work. - Fixed the test output. + * examples/Buffered_AMI/test.idl: + * tests/Reliable_Oneways/Test.idl: + * tests/Blocking_Sync_None/Test.idl: + Made shutdown() operation a twoway. -Sat Apr 21 05:50:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * examples/Buffered_AMI/client.cpp: + Change ReplyHandler to receive the shutdown() callback. - * examples/PluggableUDP/DIOP/DIOP_Connector.cpp: + * tests/Muxing/run_test.pl: + * examples/Buffered_AMI/run_test.pl: + Increased wait time for the IOR file. - Fixed a template instantiation problem. +Tue Apr 17 19:12:31 2001 Carlos O'Ryan <coryan@uci.edu> -Sat Apr 21 05:05:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tao/Transport.cpp: + Reset the current deadline as soon as the queue is empty. - * examples/PluggableUDP/DIOP/DIOP_Acceptor.cpp + * tao/Sync_Strategies.cpp: + Add debugging messages - Fixed memory mangement of connection handlers. + * tao/Makefile: + * tao/Message_Sent_Callback.h: + * tao/Message_Sent_Callback.inl: + * tao/Message_Sent_Callback.cpp: + * tao/Queued_Message.h: + * tao/Queued_Message.cpp: + Removed the TAO_Message_Sent_Callback class, it was not required + at all. - * examples/PluggableUDP/DIOP/DIOP_Connection_Handler.cpp + * tao/Strategies/UIOP_Transport.cpp: + Add missing function (removed during the merge). - Fixed a bug which caused the reactor to call us infinitely. +Tue Apr 17 14:21:23 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/DIOP/TAO_DIOP.dsw: + * tao/Queued_Message.h: + * tao/Asynch_Queued_Message.h: + * tao/Asynch_Queued_Message.cpp: + * tao/Synch_Queued_Message.h: + The bytes_transferred() method does not need to return anything, + the return value was ignored anyway, so change it to return + void. - Added dependencies correctly. + * tao/Synch_Queued_Message.cpp: + Fixed implementation of bytes_transferred(), the byte_count + argument was not updated on all exit branches. - * examples/PluggableUDP/tests/Basic/client.cpp: + * tao/GIOP_Message_Handler.cpp: + Fixed inconsistency with main trunk. - Fixed a race condition when the client would shutdown. + * tao/Sync_Strategies.cpp: + Set the must_flush and set_timer flags to zero if there is no + buffering constraint policy. - * examples/PluggableUDP/tests/Basic/svc.conf + * tao/Transport.cpp: + Cosmetic fixes. Return 1 from drain_queue_i() even if the flush + operation returned 0, the return value is supposed to represent + what happened to the message, not if there was a generic problem + with the ORB. - Added the thread pool reactor as the reactor. +Tue Apr 17 09:59:38 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/tests/SimplePerformance/client.cpp: + * tao/Sync_Strategies.h: + * tao/Sync_Strategies.cpp: + Add an argument in buffering_constraints_reached(), this new + argument represents the current deadline for the transport. + The current deadline is used to determine if the timer needs to + be reset or if the timer has already expired. + Unless the flushing strategy is turned on we need to check the + timers on all exit paths. - Added a line invoking shutdown on the server. + Change TAO_Transport_Sync_Strategy to *always* flush and always + schedule output on every request. -Sat Apr 21 01:45:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tao/Transport.h: + * tao/Transport.cpp: + Use the new interface in the sync strategies to activate the + output as soon as the timer expires. Keep track of the current + deadline for scheduling output. + Fixed boundary condition in drain_queue_i(), there is a while() + loop to fill iovecs with the contents of the queue, it is + possible to exit the loop without anything in the iovec. In + this case we don't want to attempt a send() call. + Remove unused argument from the send_synchronous_message_i() + method. - * examples/PluggableUDP/DIOP/DIOP_Transport.cpp: +Sat Apr 14 17:04:21 2001 Carlos O'Ryan <coryan@uci.edu> - Removed debug messages. + * tao/Transport.cpp (send_synchronous_message_i): + The message was left in the queue even if a problem was detected + in the write() operation. -Sat Apr 21 01:35:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> +Sat Apr 14 17:01:05 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/tests/Performance/Makefile: - * examples/PluggableUDP/tests/Basic/Makefile: - * examples/PluggableUDP/tests/SimplePerformance/Makefile: + * tao/TAO.dsp: + Complete merge for Win32, CVS' automatic merge was not quite the + right thing for this file. - Fixed the Makfiles to properly compile and link. + * tao/BiDir_Policy_i.cpp: + This file was removed in the main trunk but was accidentally + resurrected during the merge. -Sat Apr 21 01:20:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> +Sat Apr 14 12:59:39 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/tests/Performance/UDP_i.cpp: - * examples/PluggableUDP/tests/Performance/server.cpp: - * examples/PluggableUDP/tests/Performance/PerformanceClient.cpp: + * tao/Block_Flushing_Strategy.h: + * tao/Block_Flushing_Strategy.cpp: + * tao/Flushing_Strategy.h: + * tao/Flushing_Strategy.cpp: + * tao/Message_Sent_Callback.h: + * tao/Message_Sent_Callback.inl: + * tao/Message_Sent_Callback.cpp: + * tao/Queued_Message.h: + * tao/Queued_Message.inl: + * tao/Queued_Message.cpp: + * tao/Reactive_Flushing_Strategy.h: + * tao/Reactive_Flushing_Strategy.cpp: + Add files lost during merge - Fixed compiler warnings. + * tao/IIOP_Transport.cpp: + Solve merging problems. -Sat Apr 21 00:47:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tests/Big_Oneways/Makefile: + * tests/Big_Twoways/Makefile: + Update dependencies - * examples/PluggableUDP/tests/SimplePerformance/run_test.pl: - * examples/PluggableUDP/tests/SimplePerformance/server.cpp: - * examples/PluggableUDP/tests/Basic/run_test.pl: - * examples/PluggableUDP/tests/Basic/server.cpp: - * examples/PluggableUDP/tests/Performance/run_test.pl: - * examples/PluggableUDP/tests/Performance/server.cpp: +Sat Apr 14 10:33:47 2001 Carlos O'Ryan <coryan@uci.edu> - Fixed some confusion between ior file names. + * Another merge for the bug 132 fixes. -Sat Apr 21 00:40:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + Fri Apr 13 18:49:32 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/tests/SimplePerformance/run_test.pl: + * tao/Flushing_Strategy.h: + * tao/Block_Flushing_Strategy.h: + * tao/Block_Flushing_Strategy.cpp: + * tao/Reactive_Flushing_Strategy.h: + * tao/Reactive_Flushing_Strategy.cpp: + Add timeout to the flush_message() operation. - Added this perl script. + * tao/Transport.cpp: + Use the new timeout of flush_message() to implement timeouts + for twoways blocked during writes. -Fri Apr 20 21:29:38 2001 Nanbor Wang <nanbor@cs.wustl.edu> + * tao/Queued_Message.h: + * tao/Queued_Message.cpp: + Add method to insert message at the head of the queue. - * TAO/tao/Client_Strategy_Factory.cpp: - * TAO/tao/Client_Strategy_Factory.h: - * TAO/tao/default_client.cpp: - * TAO/tao/default_client.h: - Added a new method <allow_callback> that query the strategy - factory whether the effective wait strategy allows any form of - callback. + * tao/Synch_Queued_Message.h: + * tao/Synch_Queued_Message.cpp: + Add accessor to obtain the current message block. - * TAO/tao/Strategies/SHMIOP_Acceptor.cpp (open): - * TAO/tao/Strategies/SHMIOP_Connector.cpp (open): Added code to - hint the MEM_Stream's to use the new multithreaded transport when - the client/server strategies allow them to. + Thu Apr 12 20:15:22 2001 Carlos O'Ryan <coryan@uci.edu> -Fri Apr 20 16:13:40 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu> + * tao/Sync_Strategies.h: + * tao/Sync_Strategies.cpp: + Use two separate flags to return if: + (1) the queue should be immediately flushed + (2) and/or the ORB should start draining the queue - * orbsvcs/orbsvcs/Makefile.av: - * orbsvcs/orbsvcs/AV/AVStreams_i.h: - * orbsvcs/orbsvcs/AV/AVStreams_i.i: - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: - * orbsvcs/orbsvcs/AV/Transport.cpp: - * orbsvcs/orbsvcs/AV/AV_Core.h: - * orbsvcs/orbsvcs/AV/AV_Core.cpp: - * orbsvcs/orbsvcs/AV/UDP.cpp: - * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: - * orbsvcs/orbsvcs/AV/QoS_UDP.h: - * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: - * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h: - * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp: + * tao/Transport.h: + * tao/Transport.cpp: + Use the new interface in TAO_Sync_Strategy to correctly + implement TAO::BUFFER_MESSAGE_COUNT and the TAO::BUFFER_SIZE + buffering constraint policies. - Integrated AQoSA and AVStreams for the UDP unicast protocol. This allows - to set up an RSVP session between the sender and receiver using AQoSA. + Wed Apr 11 10:21:35 2001 Carlos O'Ryan <coryan@uci.edu> - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Makefile: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/README: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/runtest.pl: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/input: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Simple_Two_Stage_With_QoS.dsw: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/sender.h: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/sender.cpp: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/sender.dsp: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/receiver.h: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/receiver.cpp: - * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/receiver.dsp: + * With the following changes the semantics of oneways are + bug-compatible with the main trunk. - Test to verify the AQoSA/AV integration. + * tao/Transport.cpp: + Add new method to check if the transport queue has any data + pending. -Fri Apr 20 14:39:48 2001 Ossama Othman <ossama@uci.edu> + * tao/Flushing_Strategy.h: + Add new operation to block until the queue becomes completely + empty. - * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp - (handle_close): - * examples/PluggableUDP/DIOP/DIOP_Connection_Handler.cpp - (handle_close): + * tao/Block_Flushing_Strategy.h: + * tao/Block_Flushing_Strategy.cpp: + * tao/Reactive_Flushing_Strategy.h: + * tao/Reactive_Flushing_Strategy.cpp: + Implement flush_transport() in each concrete strategy. - Call destroy() on the Svc_Handler rather than calling "delete - this." See ChangeLog entry from Tue Apr 17 15:48:20 2001 - Nanbor Wang <nanbor@cs.wustl.edu>. + * tao/Transport.h: + Remove old code that was commented out anyway. -Fri Apr 20 15:51:52 2001 Paul Calabrese <calabrese_p@ociweb.com> + Mon Apr 09 00:41:20 2001 Carlos O'Ryan <coryan@uci.edu> - * docs/ec_options.html: - * docs/cec_options.html: + * tao/Invocation.cpp: + The default scope should be SYNC_WITH_TRANSPORT, but was + overriden and became SYNC_NONE. - Update the documentation to better reflect reality. Includes - the following changes: + * tao/Reactive_Flushing_Strategy.cpp: + Fixed conditions to terminate the loop. - - Reformat collection option table for readability - - Remove the UNIMPLEMENTED tag from COPY_ON_WRITE - - Add the missing attributes - - Add discussion of TAO_EC_Sched_Factory - - Mark TAO_EC_Sched_Factory option values as such - - Add missing option (-ECProxyPushSupplierCollection) - - Fix some typos + * tao/Transport.cpp: + Initialize byte_count to zero before calling send(), add more + ACE_ASSERT() calls to debug the system. -Fri Apr 20 16:00:40 2001 Angelo Corsaro <corsaro@cs.wustl.edu> + Sat Apr 7 21:13:48 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/DIOP/DIOP_Connection_Handler.cpp: - * examples/PluggableUDP/DIOP/DIOP_Connector.cpp: - Added missing explicit template instatiation to fix the - problem on compiler that use explicit template instantiation. + * tao/Transport.cpp: + Separate the path for synchronous and asynchronous requests more + cleanly. + Merge the close_connection() changes from the main trunk, the + ORB was dead-locking on me. + Improve output for sent iovectors, now it is only generated if + TAO_debug_level==2 and the Log_Msg is locked to prevent other + threads from dumping the same messages. -Fri Apr 20 08:17:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tao/Transport.cpp (drain_queue_i): + New method used by the synchronous path to send data ASAP. - * examples/PluggableUDP/DIOP/DIOP_Connector.cpp: + * tao/Invocation.h: + * tao/Invocation.cpp (invoke): + Clarify the semantics of the <twoway_flag> argument, actually it + means that the ORB should wait until the data is delivered to + the wire. + Oneway invocations with the SYNC_WITH_TRANSPORT policy should + block until the data is delivered to the wire. - Fixed template instantiation problems. + * tao/GIOP_Message_Handler.cpp: + Only print the full contents of the received data when the debug + level is *exactly* 2. -Thu Apr 19 23:30:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tests/Big_Oneways/Session.cpp: + Fill up the messages with a repeating pattern, this is useful + during debugging. - * examples/PluggableUDP/DIOP/DIOP_Acceptor.h: - * examples/PluggableUDP/DIOP/DIOP_Acceptor.cpp: - * examples/PluggableUDP/DIOP/DIOP_Connector.h: - * examples/PluggableUDP/DIOP/DIOP_Connector.cpp: - * examples/PluggableUDP/DIOP/DIOP_Factory.h: + Thu Apr 05 10:36:57 2001 Carlos O'Ryan <coryan@uci.edu> - Removed unused dependencies to ACE headers and - removed dead code. + * tao/Queued_Message.h: + Remove the declaration of the done() method, the semantics were + not clear and it was removed a couple of iterations ago. -Thu Apr 19 14:40:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tao/Block_Flushing_Strategy.cpp: + * tao/Reactive_Flushing_Strategy.cpp: + Wait until all_data_sent() returns. - * examples/PluggableUDP/tests/Basic/run_test.pl: - * examples/PluggableUDP/tests/Performance/run_test.pl: + * tao/Transport.cpp: + Cleanup handle_output() no need to loop, the drain_queue() + method does that. + After trying to send a message and blocking the send_message_i() + method was not updating the new Asynch_Queued_Message with the + number of bytes sent. + drain_queue() loop was too complicated for its own sake. - Fixed the path settings. + * tests/Big_Oneways/Session.h: + * tests/Big_Oneways/Test.idl: + * tests/Big_Oneways/Session.cpp: + Add methods to prime the connections among multiple clients. - * examples/PluggableUDP/tests/SimplePerformance/run_test.pl: + * tests/Big_Oneways/server.cpp: + Increase timeout for initial session registration. Important + for manual executions. - Added the perl script. + Wed Apr 4 10:53:27 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/tests/Basic/server.dsp: - * examples/PluggableUDP/tests/Basic/client.dsp: + * tao/Transport.h: + * tao/Transport.cpp: + Remove dead code. + Rename some methods to more clearly reflect their intent. + Simplify the management for the outgoing data queue. The + cleanup_queue() method removes any element that is completely + sent, while the drain_queue() method simply tries to send as + much data as possible. - Changed the name as it appears in the workspace slightly. + * tao/Queued_Message.h: + * tao/Queued_Message.inl: + * tao/Queued_Message.cpp: + Each derived class can decided if the message has been + completely sent very efficiently, no need to keep a local + variable for that. + We do need variables to keep track of closed connections, failed + sends and timeouts. -Thu Apr 19 07:09:30 2001 Balachandran Natarajan <bala@cs.wustl.edu> + * tao/Messaging_Policy_i.cpp: + * tao/Invocation.cpp: + Improved debugging messages for timeouts - * tests/RTCORBA/Thread_Pool/server.cpp: Fixed a typo that was - giving a warning. + Sun Apr 01 15:34:32 2001 Carlos O'Ryan <coryan@uci.edu> -Wed Apr 18 23:00:07 2001 Nanbor Wang <nanbor@cs.wustl.edu> + * tao/Makefile: + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + * tao/Asynch_Queued_Message.h: + * tao/Asynch_Queued_Message.cpp: + * tao/Synch_Queued_Message.h: + * tao/Synch_Queued_Message.cpp: + * tao/Queued_Message.h: + * tao/Queued_Message.inl: + * tao/Queued_Message.cpp: + Specialize the Queue_Message class for Synchronous and + Asynchronous messages. Their behavior is completely different: + synchronous messages (twoways and reliable oneways) are + allocated from the stack, they should not copy the CDR stream + and thus have to deal with message block chains. + Asynchronous messages (oneways and AMIs with SYNC_NONE policy) + are allocated from the heap, they must copy their data and thus + can reassemble it in a single buffer. - * tests/Collocation/Collocation.bor: Changed main.obj to - Collocation.obj. + * tao/Transport.h: + * tao/Transport.cpp: + Changed the transport to use the new interface in the + Queued_Message class. + Completely separate the synchronous and asynchronous operation + path. + The new implementation recovers some functionality lost in + previous revisions: multiple messages can be sent in a single + iovector. -Wed Apr 18 21:57:46 2001 Jeff Parsons <parsons@cs.wustl.edu> + * tests/Big_Oneways/Test.idl: + * tests/Big_Oneways/Session.h: + * tests/Big_Oneways/Session.cpp: + Add ping() operation to the Session IDL interface. + This is used to validate the session during startup, i.e. ensure + that enough connections are available for all the threads. - * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + Sat Mar 31 14:56:37 2001 Carlos O'Ryan <coryan@uci.edu> - Recent changes to this files necessitated a change in the - way the visitor's context's scope parameter is set. + * tao/Transport.cpp: + Fixed memory management and synchronization problems. + Invoke the connection_closed() method on all the pending + messages if the connection is closed. -Wed Apr 18 21:38:35 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + * tao/Queued_Message.h: + * tao/Queued_Message.inl: + * tao/Queued_Message.cpp: + If the connection is closed there is no sense in trying to + continue sending the message. + The done() method returns 1 if the connection was closed or if + the message was completely sent. - * orbsvcs/Naming_Service: Updated the README file so that it explains - how to trouble shoot problems with multicast. Thanks to Stephen - Torri <s.torri@lancaster.ac.uk> for contributing this. + * tao/Reactive_Flushing_Strategy.cpp: + Propagate any errors from Transport::schedule_output() and + Transport::cancel_output() -Wed Apr 18 19:17:37 2001 Carlos O'Ryan <coryan@uci.edu> + * tests/Big_Request_Muxing/Big_Request_Muxing.dsw: + * tests/Big_Request_Muxing/client.dsp: + * tests/Big_Request_Muxing/server.dsp: + Add MSVC project files - * performance-tests/Makefile: - * performance-tests/Makefile.bor: - * performance-tests/Throughput/Makefile: - * performance-tests/Throughput/Makefile.bor: - * performance-tests/Throughput/README: - * performance-tests/Throughput/Receiver.cpp: - * performance-tests/Throughput/Receiver.h: - * performance-tests/Throughput/Receiver_Factory.cpp: - * performance-tests/Throughput/Receiver_Factory.h: - * performance-tests/Throughput/Test.idl: - * performance-tests/Throughput/client.bor: - * performance-tests/Throughput/client.cpp: - * performance-tests/Throughput/run_test.pl: - * performance-tests/Throughput/server.bor: - * performance-tests/Throughput/server.cpp: - * performance-tests/Throughput/svc.conf: - * performance-tests/Thruput/*: - Remove the old Thruput test and replaced it with a simpler - test. The new test can be put in the nightly regression test - and it would be easy to extract performance number for the - performance metrics charts. - -Wed Apr 18 17:06:42 2001 Jeff Parsons <parsons@cs.wustl.edu> - - * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h: - * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + Fri Mar 30 17:06:33 2001 Carlos O'Ryan <coryan@uci.edu> - Checking in changes of + * tests/README: + * tests/Big_Request_Muxing/README: + * tests/Big_Request_Muxing/Test.idl: + * tests/Big_Request_Muxing/run_test.pl: + * tests/Big_Request_Muxing/Makefile: + * tests/Big_Request_Muxing/Client_Task.h: + * tests/Big_Request_Muxing/Client_Task.cpp: + * tests/Big_Request_Muxing/Payload_Receiver.h: + * tests/Big_Request_Muxing/Payload_Receiver.cpp: + * tests/Big_Request_Muxing/client.cpp: + * tests/Big_Request_Muxing/server.cpp: + * tests/Big_Request_Muxing/svc.conf: + Another regression tests, use the same connection to the big + oneways at different levels of reliability. - Wed Apr 18 15:24:57 2001 Jeff Parsons <parsons@cs.wustl.edu> + * tests/README: + * tests/Big_Twoways/README: + * tests/Big_Twoways/Test.idl: + * tests/Big_Twoways/run_test.pl: + * tests/Big_Twoways/Makefile: + * tests/Big_Twoways/Coordinator.h: + * tests/Big_Twoways/Coordinator.cpp: + * tests/Big_Twoways/Peer.h: + * tests/Big_Twoways/Peer.cpp: + * tests/Big_Twoways/Session.h: + * tests/Big_Twoways/Session.cpp: + * tests/Big_Twoways/Session_Control.h: + * tests/Big_Twoways/Session_Control.cpp: + * tests/Big_Twoways/Session_Task.h: + * tests/Big_Twoways/Session_Task.cpp: + * tests/Big_Twoways/client.cpp: + * tests/Big_Twoways/server.cpp: + Another regression test, similar to Big_Oneways, but this one + uses a long request *and* a long reply. - once again. + * tests/LongWrites/Sender.cpp: + Fixed warning about unused variable - * TAO_IDL/ast/ast_exception.cpp (in_recursion): - * TAO_IDL/ast/ast_union.cpp (in_recursion): + * tests/LongWrites/Makefile: + Fixed Makefile - Removed some bogus error messages. The corresponding one - for ast_structure.cpp has already been removed. + * tests/Timeout/client.cpp: + Verify that at least some of the messages timeout and others + complete the test successfully. -Wed Apr 18 16:28:39 2001 Jeff Parsons <parsons@cs.wustl.edu> + Thu Mar 29 08:38:42 2001 Carlos O'Ryan <coryan@uci.edu> - * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h: - * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + * tao/IIOP_Transport.cpp: + * tao/Strategies/SHMIOP_Transport.cpp: + * tao/Strategies/UIOP_Transport.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: + Do not close the connection if it sends 0 bytes. This is + perfectly possible when using non-blocking I/O. - Reverted change below until I can find the problem it - was causing with normal running of the IDL compiler. + Wed Mar 28 10:42:12 2001 Carlos O'Ryan <coryan@uci.edu> -Wed Apr 18 15:24:57 2001 Jeff Parsons <parsons@cs.wustl.edu> + * Another merge for the branch fixing bug 132 - * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h: - * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + Tue Mar 20 09:34:53 2001 Carlos O'Ryan <coryan@uci.edu> - Fixed typecode generation for structs and exceptions - that have an enum defined inside. The enum member names - were inserted into the typecode and added to the member - count. Thanks to Tom Lake <Tom.Lake@glossa.co.uk> for - reporting the problem. + * tao/Transport.cpp: + Improved error checking for Queued_Message allocations. -Wed Apr 18 12:10:54 2001 Balachandran Natarajan <bala@cs.wustl.edu> + Sat Mar 17 17:52:27 2001 Carlos O'Ryan <coryan@uci.edu> - * tao/GIOP_Message_Handler.cpp (read_messages): Reverted the - change from this "Wed Apr 18 10:56:30 2001 Balachandran - Natarajan <bala@cs.wustl.edu>". Going over the fix from - scratch as the fix is wrong. + * tao/Transport.h: + * tao/Transport.cpp: + Removed the current_message_ field, using the head of the queue + works just as well, at least as long as we always push events to + the end of the queue. -Wed Apr 18 10:56:30 2001 Balachandran Natarajan <bala@cs.wustl.edu> + * tao/IIOP_Transport.h: + * tao/IIOP_Transport.cpp: + * tao/Reactive_Flushing_Strategy.cpp: + Use the Flushing Strategy to schedule output and cancel output + with the reactor. - * tests/BiDirectional_NestedUpcall/run_test.pl: Fixed the - run_test.pl script. Thanks to Carlos for pointing out that this - script does not work. + Sat Mar 17 15:34:14 2001 Carlos O'Ryan <coryan@uci.edu> -Wed Apr 18 10:28:16 2001 Balachandran Natarajan <bala@cs.wustl.edu> + * tests/Big_Oneways/Session.h: + * tests/Big_Oneways/Session.cpp: + Fixed signed/unsigned warnings - * tao/GIOP_Message_Handler.cpp: Added an extra check for errno == - EAGAIN. After a read, if the errno is set to EAGAIN, a value of - 0 was returned to the reactor. This was because errno values of - EAGAIN and EWOULDBLOCK are same. This made the reactor call the - handle_input () again and again. Every call would return a 0 - with errno set to EAGAIN. Thanks to Jody Hagins - <jody@atdesk.com> for coming up with a test case that - demonstrated the problem. Need to check the test case in with - some modifications. + * tests/Big_Oneways/Coordinator.cpp: + Print error messages in all exception cases - * tao/GIOP_Message_Base.cpp: Made some cosmetic fixes. + * tests/Big_Oneways/run_test.pl: + Run 3 peers to cause failures. -Wed Apr 18 10:28:53 2001 Jeff Parsons <parsons@cs.wustl.edu> + Fri Mar 16 15:49:26 2001 Carlos O'Ryan <coryan@uci.edu> - * TAO_IDL/be_be_visitor_union/union_cs.cpp: + * tao/IIOP_Transport.cpp: + Fixed debugging message for cancel_output. - Added check for self-assignment in code generation for - assignment operator. The lack of the check caused not - only inefficiency, but also a crash if the union's - active member is a pointer type, since the code - deallocates the old member first. Thanks to - Uwe Jäger <jaeger@varial.de> for pointing out the missing - check. + * tests/Big_Oneways/Big_Oneways.dsw: + * tests/Big_Oneways/client.dsp: + * tests/Big_Oneways/server.dsp: + Fixed project files, the first version commited missed some + changes. -Wed Apr 18 09:44:15 2001 Balachandran Natarajan <bala@cs.wustl.edu> + Thu Mar 15 10:46:52 2001 Carlos O'Ryan <coryan@uci.edu> - * tao/Leader_Follower.h: Added TAO_Export macros. Looks to me that - this should take care of link errors on Win32. + * tests/Big_Oneways/Makefile: + * tests/Big_Oneways/Test.idl: + * tests/Big_Oneways/run_test.pl: + * tests/Big_Oneways/Coordinator.h: + * tests/Big_Oneways/Coordinator.cpp: + * tests/Big_Oneways/Peer.h: + * tests/Big_Oneways/Peer.cpp: + * tests/Big_Oneways/Session.h: + * tests/Big_Oneways/Session.cpp: + * tests/Big_Oneways/client.cpp: + * tests/Big_Oneways/server.cpp: + Changed the test to work more predictably on multi-CPU boxes. + The sessions are configured at creation time, and they don't + start sending events until start() is called. + Instead of automatically destroy them on shutdown we wait until + they all stop and then explicitly use a destroy() method to take + them down. -Wed Apr 18 08:49:42 2001 Irfan Pyarali <irfan@cs.wustl.edu> + Tue Mar 13 15:08:06 2001 Carlos O'Ryan <coryan@uci.edu> - * tests/RTCORBA/Thread_Pool/server.cpp (main): - * tests/RTCORBA/Thread_Pool/client.cpp (main): + * tests/README: + * tests/Makefile: + * tests/Big_Oneways/README: + * tests/Big_Oneways/Test.idl: + * tests/Big_Oneways/Makefile: + * tests/Big_Oneways/Big_Oneways.dsw: + * tests/Big_Oneways/server.dsp: + * tests/Big_Oneways/client.dsp: + * tests/Big_Oneways/run_test.pl: + * tests/Big_Oneways/Coordinator.h: + * tests/Big_Oneways/Coordinator.cpp: + * tests/Big_Oneways/Peer.h: + * tests/Big_Oneways/Peer.cpp: + * tests/Big_Oneways/Session.h: + * tests/Big_Oneways/Session.cpp: + * tests/Big_Oneways/Session_Control.h: + * tests/Big_Oneways/Session_Control.cpp: + * tests/Big_Oneways/Session_Task.h: + * tests/Big_Oneways/Session_Task.cpp: + * tests/Big_Oneways/client.cpp: + * tests/Big_Oneways/server.cpp: + Add new stress test for the non-blocking I/O features in the + ORB. This test is more focussed than LongWrites, and its + shutdown sequence is better designed (LongWrites tends to crash + after running successfully.) - Couple of minor warning fixes. + * tao/GIOP_Message_Handler.cpp: + Fixed unsigned/signed warning -Wed Apr 18 03:43:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + Thu Mar 8 19:12:48 2001 Carlos O'Ryan <coryan@uci.edu> - * examples/PluggableUDP/tests/Basic/client.dsp: - * examples/PluggableUDP/tests/Basic/server.dsp: - * examples/PluggableUDP/tests/Performance/client.dsp: - * examples/PluggableUDP/tests/Performance/server.dsp: - * examples/PluggableUDP/tests/SimplePerformance/client.dsp: - * examples/PluggableUDP/tests/SimplePerformance/server.dsp: + * tao/GIOP_Message_Base.cpp: + * tao/GIOP_Message_Handler.h: + * tao/GIOP_Message_Handler.cpp: + Had to manually merge Bala's changes from Sat Feb 17 23:08:44 + 2001. - Fixed settings for Release versions. Thanks to Bala - for pointing that out. + * tao/IIOP_Connection_Handler.cpp: + Cosmetic fixes. -Tue Apr 17 22:33:42 2001 Irfan Pyarali <irfan@cs.wustl.edu> + * tao/IIOP_Transport.cpp: + Print debugging messages when output is scheduled, and alse when + it is canceled. + Do not register the handler more than once on the reactor. - * tests/RTCORBA/Thread_Pool/server.cpp (main): Changed FALSE to 0. + * tao/Queued_Message.inl: + The done() condition was reversed. - * tests/RTCORBA/Thread_Pool/Makefile (BIN_UNCHECKED): Targets - should be labeled as BIN_UNCHECKED rather than BIN. + * tao/Transport.cpp: + Add a ton of debugging mesages, including detailed messages of + outgoing and incoming data, information about each queued + message, etc. -Tue Apr 17 22:09:19 2001 Jeff Parsons <parsons@cs.wustl.edu> + * tao/Transport.cpp (send_message_block_chain): + Always add the number of bytes transferred on each send() call, + even when it returns an error. - * examples/TypeCode_Creation/TypeCode_Creation.dsp: + * tao/Transport.cpp (send_message_i): + Use easier to read code when deciding what messages are queued. + Before calling schedule_output() and returning we must queue the + message, forgot to do that in the previous version. - Fixed settings in the release version. + * tests/LongWrites/Receiver.cpp: + * tests/LongWrites/Sender.cpp: + * tests/LongWrites/Sender.h: + * tests/LongWrites/Sender_Task.cpp: + * tests/LongWrites/Sender_Task.h: + * tests/LongWrites/client.cpp: + I'm tweaking the test trying to make the termination condition + more reliable. Unfortunately after one of the clients finishes + the rest does not receive all the required messages. + I will probably have to change the protocol, which is probably a + good idea anyway, so we can control the number of threads too. -Tue Apr 17 21:59:06 2001 Balachandran Natarajan <bala@cs.wustl.edu> + * tests/LongWrites/run_test.pl: + In the haste to merge the fix_bug132 bug I forgot to incorporate + the support for the multiple test types. - * tests/BiDirectional/client.dsp: - * tests/BiDirectional/server.dsp: Fixed the release builds. + * tao/Makefile: + * tao/Domain/Makefile: + * tao/DynamicAny/Makefile: + * tao/DynamicInterface/Makefile: + * tao/IFR_Client/Makefile: + * tao/IORManipulation/Makefile: + * tao/IORTable/Makefile: + * tao/PortableServer/Makefile: + * tao/SmartProxies/Makefile: + * tao/Strategies/Makefile: + * tests/LongWrites/Makefile: + Update dependencies. -Tue Apr 17 21:21:06 2001 Nanbor Wang <nanbor@cs.wustl.edu> + Wed Mar 07 08:48:11 2001 Carlos O'Ryan <coryan@uci.edu> - * tests/Collocation/Coll_Tester.cpp: - * tests/Collocation/Coll_Tester.h: Added shutdown method to - destroy the RootPOA and the ORB. The lack of it was causing the - test to crash. + * tao/Queued_Message.inl: + Both done() and mb() were using contents_, but the flow has + changed to use current_message_. - * tests/Collocation/Collocation.dsw: Redefined project - dependencies. + * tao/Transport.cpp: + Simplify code flow in send_current_message() + Simplify code in dequeue_head() - * tests/Collocation/Makefile.test: - * tests/Collocation/Collocation.cpp: - * tests/Collocation/main.cpp: - * tests/Collocation/Collocation.dsp: Renamed <main.cpp> to - <Collocation.cpp> so that both Win32 and UNIX build the same - executable. + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + Update project files so they work on the branch. - Thanks to Carlos for pointing them out. + Tue Mar 6 19:44:44 2001 Carlos O'Ryan <coryan@uci.edu> -Tue Apr 17 15:48:20 2001 Nanbor Wang <nanbor@cs.wustl.edu> + * tao/GIOP_Message_Handler.cpp: + When printing an invalid GIOP magic number use hex values, not + the character representation, because the latter can print out + garbage. - * tao/IIOP_Connection_Handler.cpp (handle_close): - * tao/Strategies/UIOP_Connection_Handler.cpp (handle_close): - * tao/Strategies/SHMIOP_Connection_Handler.cpp (handle_close): The - handle_close methods were not closing these Svc_Handler's down - properly. Removed "this->peer ()->close ()" calls and use - "this->destroy () instead of calling "delete this." + * tao/ORB_Core.cpp: + Print the return value of each handle_events() call, on an + attempt to figure out why it is spinning. -Tue Apr 17 15:43:45 2001 Nanbor Wang <nanbor@cs.wustl.edu> + * tao/Transport.cpp: + Print handle, return value and errno after each call to + send_current_message() - * examples/POA/TIE/client.dsp: Removed FooS.* from project. + * tao/Wait_On_Leader_Follower.cpp: + Don't enter the event loop if the reply has been received + already. -Tue Apr 17 13:03:49 2001 Chris Cleeland <cleeland_c@ociweb.com> + Tue Mar 6 11:02:43 2001 Carlos O'Ryan <coryan@uci.edu> - * tao/Transport.h (TAO_Synch_Refcountable): Reworked this so that - the lock can be specified in the constructor. This permits an - optimization for single-threaded versions of the ORB so they can - use a null lock implementation if desired and thus achieve better - performance. [Bug 861] + * Merged in changes from the fix_bug132 branch. I need several + bug fixes from the main trunk. In my experience the easiest way + to do this is to create a new branch higher up in the main + trunk, close the old branch and propagate its changes to the new + one. + In this case we created fix_bug132_iter02 (today) merge the + changes from fix_bug132 into that branch, and close fix_bug132. - * tao/Transport.cpp: Updated various methods to take advantage of - the optimization outlined above. Specifically, the TAO_Transport - constructor now initializes its TAO_Synch_Refcountable's lock - using the resource factory's create_cached_connection_lock(), just - like TAO_Transport's handler_lock_ and the connection cache lock. - Thanks to Joe Hoffert <joeh@cs.wustl.edu> and Bala - <bala@cs.wustl.edu> for pointing out this opportunity and testing - it via Quantify. [Bug 861] + Mon Mar 5 11:32:14 2001 Carlos O'Ryan <coryan@uci.edu> -Tue Apr 17 12:19:32 2001 Jeff Parsons <parsons@cs.wustl.edu> + * tao/Transport.cpp: + * tao/IIOP_Transport.cpp: + Add debugging messages - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: + * tests/LongWrites/Makefile: + Updates dependencies and object files for the client. - Modified code that used != to compare two typecodes - to use TypeCode::equal(). Also added TypeCode_vars - to contain the results of CORBA::Any::type(). Thanks - to Max Voronoy <m.voronoy@telesens.com.ua> for - reporting the != bug. + Fri Mar 02 15:29:17 2001 Carlos O'Ryan <coryan@uci.edu> -Tue Apr 17 08:34:27 2001 Pradeep Gore <pradeep@cs.wustl.edu> + * tao/Transport.h: + * tao/Transport.cpp: + Continue implementation of reactive output. + On this pass I fixed the code to deal with several error + conditions, invoke schedule_output() if the connection returns + an EWOULDBLOCK, also cancel the output if there is no data to + send. + Fix syncronization on send_queued_message() + Fix memory allocation for message blocks contained in + Queued_Message, they cannot be cloned() because that would + allocate from TSS. - * tests/OctetSeq/run_test1.pl: - * tests/OctetSeq/run_test2.pl: - Use unique test1.ior and test2.ior for each test. - Common ior file name was failing these tests on some platforms. + * tao/IIOP_Transport.h: + * tao/IIOP_Transport.cpp: + Implement schedule_output() and cancel_output() methods. + + * tao/Wait_On_Leader_Follower.cpp: + Do not re-insert the transport into the reactor on each wait, + once is enough. -Tue Apr 17 07:26:47 2001 Balachandran Natarajan <bala@cs.wustl.edu> + * tao/IIOP_Connection_Handler.h: + * tao/IIOP_Connection_Handler.cpp: + Implement a handle_output() callback, delegate on the + TAO_Transport - * tao/Thread_Pool.cpp: Fixed a warning in TRU64 builds. + * tao/IIOP_Endpoint.cpp: + Remove unused #include -Tue Apr 17 07:23:12 2001 Johnny Willemsen <jwillemsen@remedy.nl> + * tests/LongWrites/Coordinator.h: + * tests/LongWrites/Coordinator.cpp: + * tests/LongWrites/Receiver.h: + * tests/LongWrites/Receiver.cpp: + * tests/LongWrites/Sender.h: + * tests/LongWrites/Sender.cpp: + * tests/LongWrites/client.cpp: + * tests/LongWrites/client.dsp: + * tests/LongWrites/run_test.pl: + * tests/LongWrites/server.cpp: + * tests/LongWrites/svc.conf: + * tests/LongWrites/Sender_Task.h: + * tests/LongWrites/Sender_Task.cpp: + Add support for multi-threaded clients. + Try to count the number of incoming messages and only exit when + all have been received. - * examples/POA/Default_Servant/*.bor - Added BCB makefiles for this test + * tests/Queued_Message_Test/Queued_Message_Test.dsp: + Removed a number of unused files from this unit test. -Mon Apr 16 16:45:19 2001 Angelo Corsaro <corsaro@cs.wustl.edu> + Sun Feb 25 10:22:59 2001 Carlos O'Ryan <coryan@uci.edu> - * tests/RTCORBA/Client_Protocol/client.cpp: - This test was printing a misleading error message. - The problem has now been fixed. + * tao/Queued_Message.h: + * tao/Queued_Message.cpp: + * tao/Transport.cpp: + Instead of releasing the message blocks as soon as possible we + delay until the queued message is deallocated. This will make + it possible to release all the data in the same thread that + allocated it, preserving the support for TSS allocators. -Mon Apr 16 13:34:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + * tests/LongWrites/Test.idl: + * tests/LongWrites/Receiver.h: + * tests/LongWrites/Receiver.cpp: + * tests/LongWrites/Sender.h: + * tests/LongWrites/Sender.cpp: + * tests/LongWrites/client.cpp: + * tests/LongWrites/run_test.pl: + The test can now send big oneways, big twoways and big twoways + with big responses. - * examples/PluggableUDP/DIOP/README: Generalize this a bit so that - it fits in better with the ACE+TAO context. + Wed Feb 14 18:38:11 2001 Carlos O'Ryan <coryan@uci.edu> -Mon Apr 16 13:13:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de> + * tao/Queued_Message.cpp: + Fixed queue manipulation logic - * docs/releasenotes/index.html: - * examples/PluggableUDP/DIOP/README: + * tests/Queued_Message_Test/Queued_Message_Test.cpp: + The test was miscounting remove operations from the queue. - Updated documentation about the UDP based pluggable protocol. + * tests/Queued_Message_Test/Queued_Message_Test.dsw: + * tests/Queued_Message_Test/Queued_Message_Test.dsp: + Add MSVC project files. -Mon Apr 16 09:49:58 2001 Carlos O'Ryan <coryan@uci.edu> + Wed Feb 14 10:02:44 2001 Carlos O'Ryan <coryan@uci.edu> - * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile: - * performance-tests/Latency/Makefile: - * tests/DSI_Gateway/Makefile: - * tests/Param_Test/Makefile: - More missing libraries for QNX + * tao/Queued_Message.h: + * tao/Queued_Message.cpp: + Add flag to control message block ownership, used to minimize + memory allocations. -Mon Apr 16 02:15:49 2001 Christopher Kohlhoff <chris@kohlhoff.com> + * tao/Transport.cpp: + Use the ownership flags for the Queued_Message. - * tao/Domain/Makefile.bor: - * tao/IFR_Client/Makefile.bor: - * tao/IORManipulation/Makefile.bor: - * tao/IORTable/Makefile.bor: - * tao/SmartProxies/Makefile.bor: - Fixed definitions of INCDIR_NAME to use backslash, as - forward slash is interpreted as an option by copy on Win32. + * tests/Makefile: + * tests/Queued_Message_Test/Makefile: + * tests/Queued_Message_Test/Queued_Message_Test.cpp: + Add new unit test for the TAO_Queued_Message class. -Sun Apr 15 17:16:33 2001 Carlos O'Ryan <coryan@uci.edu> + * tao/Makefile: + * tao/Domain/Makefile: + * tao/DynamicAny/Makefile: + * tao/DynamicInterface/Makefile: + * tao/IFR_Client/Makefile: + Update dependencies - * tests/MT_Timeout/Client_Task.cpp (one_iteration): - Relaxed the conditions to accept the elapsed time of each - request. Now we accept up to 30 milliseconds over the expected - time as valid. + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: + The ACE_SSL_SOCK_Stream does not support sendv() -Sun Apr 15 15:31:00 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu> + Mon Feb 12 15:44:54 2001 Carlos O'Ryan <coryan@uci.edu> - * orbsvcs/tests/AVStreams/Modify_QoS/receiver.cpp: + * tao/Makefile: + Update makefile to include new files - Fixed Fuzz error. + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: + * tao/Strategies/SHMIOP_Transport.h: + * tao/Strategies/SHMIOP_Transport.cpp: + * tao/Strategies/UIOP_Transport.h: + * tao/Strategies/UIOP_Transport.cpp: + Fixed all protocols to use the new send() method with iovec + parameters. -Sun Apr 15 14:03:00 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu> + * tao/GIOP_Message_Lite.cpp: + Use the send() method with iovec arguments. - * orbsvcs/tests/AVStreams/Asynch_Three_Stage/input: + * tao/Sync_Strategies.h: + * tao/Sync_Strategies.cpp: + * tao/Transport.cpp: + More cleanup for the Sync_Strategies, the must_queue() method + does not require a Stub argument. - Added a new input file as the older one was too short to test - all the different use cases in the run_test.pl. This was breaking - the test on all platforms. + Mon Feb 12 10:15:47 2001 Carlos O'Ryan <coryan@uci.edu> -Sun Apr 15 12:13:00 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu> + * tao/Transport.h: + * tao/Transport.cpp: + Add new method to send a message block chain. + The template method to send data takes an iovec argument. - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: + * tao/IIOP_Transport.h: + * tao/IIOP_Transport.cpp: + Implement the iovec-based send() template method. - Removed unused method definitions which were breaking builds. + * tao/Queued_Message.cpp: + The cleanup code was broken. -Sat Apr 14 23:57:01 2001 Carlos O'Ryan <coryan@uci.edu> + * tao/GIOP_Message_Base.cpp: + Use the message block chain method to send short critical + messages. - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: - Reverted changes, they would not compile on any platform. + Fri Feb 09 10:50:47 2001 Carlos O'Ryan <coryan@uci.edu> -Sat Apr 14 23:00:00 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu> + * tao/Queued_Message.h: + * tao/Queued_Message.inl: + * tao/Queued_Message.cpp: + Add new class to represent a queued message in the outgoing + path. This class has to keep more than just the message block, + it also takes care of timeouts and signaling any waiting thread + when the message is sent. - * orbsvcs/tests/AVStreams/Modify_QoS/Makefile: - * orbsvcs/tests/AVStreams/Modify_QoS/Modify_QoS.dsw: - * orbsvcs/tests/AVStreams/Modify_QoS/run_test.pl: - * orbsvcs/tests/AVStreams/Modify_QoS/input: - * orbsvcs/tests/AVStreams/Modify_QoS/receiver.h: - * orbsvcs/tests/AVStreams/Modify_QoS/receiver.cpp: - * orbsvcs/tests/AVStreams/Modify_QoS/receiver.dsp: - * orbsvcs/tests/AVStreams/Modify_QoS/sender.h: - * orbsvcs/tests/AVStreams/Modify_QoS/sender.cpp: - * orbsvcs/tests/AVStreams/Modify_QoS/sender.dsp: + * tao/Message_Sent_Callback.h: + * tao/Message_Sent_Callback.inl: + * tao/Message_Sent_Callback.cpp: + Define interface to signal threads waiting for a message to be + sent out, e.g. twoway requests blocked waiting for a queued + message. - Added a new test Modify_QoS to demonstrate how the qos of - the flows can be changed during run-time. + * tao/Flushing_Strategy.h: + * tao/Flushing_Strategy.cpp: + * tao/Block_Flushing_Strategy.h: + * tao/Block_Flushing_Strategy.cpp: + * tao/Reactive_Flushing_Strategy.h + * tao/Reactive_Flushing_Strategy.cpp: + New classes to control how the outgoing data is flushed, + either by blocking on write() or by using the reactor. + + * tao/Resource_Factory.h: + * tao/default_resource.h: + * tao/default_resource.cpp: + Add new methods to create the flushing strategy. -Sat Apr 14 19:31:56 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu> + * tao/ORB_Core.h: + * tao/ORB_Core.i: + * tao/ORB_Core.cpp: + Add accessor for the flushing strategy. Notice that the + strategy is stateless so a single instance (per-ORB) is needed. - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: + * tao/Sync_Strategies.h: + * tao/Sync_Strategies.cpp: + The Sync_Strategies have been simplified. They are now + stateless, and they only need to answer a couple of questions + (1) should a message be buffered, (2) should the ORB flush a + queue. - Added modify_qos support to enable modifying the qos of the individual flows during run time. + * performance-tests/Latency/st_client.cpp: + Destroy the ORB on shutdown. + + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + Add the new files to the TAO project files. + + * tao/Transport.h: + * tao/Transport.inl: + * tao/Transport.cpp: + Move much of the functionality of sending and outgoing message + queue up to the base transport class. Remove a lot of code + deailing with the previous (blocking) queues. + + * tao/IIOP_Transport.cpp: + * tao/IIOP_Connection_Handler.cpp: + * tao/Strategies/SHMIOP_Transport.cpp: + * tao/Strategies/SHMIOP_Connection_Handler.cpp: + * tao/Strategies/UIOP_Transport.cpp: + * tao/Strategies/UIOP_Connection_Handler.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: + Change the transport and connection handlers to use the new + outgoing message queue, the flushing strategy and the changes to + the SyncStrategy. + + * tao/GIOP_Message_Base.cpp: + Propagate a few interface changes. + + * tests/LongWrites/LongWrites.dsw: + * tests/LongWrites/client.dsp: + * tests/LongWrites/server.dsp: + * tests/LongWrites/run_test.pl: + Got the test to compile (and run) under NT. Fri Apr 13 16:41:56 2001 Carlos O'Ryan <coryan@uci.edu> |