summaryrefslogtreecommitdiff
path: root/TAO/ChangeLogs/ChangeLog-02a
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/ChangeLogs/ChangeLog-02a')
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a1258
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>