Bug 1681

Summary: Integrate PMB changes
Product: TAO Reporter: Chris Cleeland <cleeland_c>
Component: ORBAssignee: Chris Cleeland <cleeland_c>
Status: RESOLVED FIXED    
Severity: critical CC: bala, totten_s
Priority: P1    
Version: 1.3.6   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 1638, 1942    
Attachments: Patch of PMB-related changes.

Description Chris Cleeland 2003-12-18 12:36:56 CST
The infamous parse_magic_bytes bug fix currently exists only on OCI's 1.3a, and
needs to be integrated into DOC.
Comment 1 Chris Cleeland 2003-12-18 12:41:58 CST
Adding as a blocker for 1.4.
Comment 2 Chris Cleeland 2003-12-18 12:44:18 CST
Created attachment 248 [details]
Patch of PMB-related changes.
Comment 3 Chad Elliott 2005-02-02 07:53:50 CST
Wed Jan 19 08:24:36 2005  Chad Elliott  <elliott_c@ociweb.com>

        * tao/GIOP_Message_Base.h:
        * tao/GIOP_Message_Base.cpp:
        * tao/GIOP_Message_Generator_Parser.h:
        * tao/GIOP_Message_Generator_Parser_10.h:
        * tao/GIOP_Message_Generator_Parser_10.cpp:
        * tao/GIOP_Message_Generator_Parser_12.h:  
        * tao/GIOP_Message_Generator_Parser_12.cpp:
        * tao/GIOP_Message_Generator_Parser_Impl.inl:
        * tao/GIOP_Message_Lite.h:
        * tao/GIOP_Message_Lite.cpp:
        * tao/GIOP_Message_State.h: 
        * tao/GIOP_Message_State.cpp:
        * tao/Incoming_Message_Queue.h:
        * tao/Incoming_Message_Queue.inl:
        * tao/Incoming_Message_Queue.cpp:
        * tao/Pluggable_Messaging.h:
        * tao/Transport.h:
        * tao/Transport.cpp:

          Adding an alternate implementation of PMB and an implementation of
          GIOP fragment handling that only consolidates fragments when the
          last one is received.

          Partial GIOP messages are accumulated in a message block within
          the TAO_Transport until a sufficient amount of data is collected.
          At that point, processing occurs as usual.

        * tests/GIOP_Fragments/Java_Big_Reply/Client_Task.h:
        * tests/GIOP_Fragments/Java_Big_Reply/Client_Task.cpp:
        * tests/GIOP_Fragments/Java_Big_Reply/Java_Big_Reply.mpc:
        * tests/GIOP_Fragments/Java_Big_Reply/Test.idl:
        * tests/GIOP_Fragments/Java_Big_Reply/client.cpp:
        * tests/GIOP_Fragments/Java_Big_Reply/run_test.pl:
        * tests/GIOP_Fragments/Java_Big_Reply/server.java:
        * tests/GIOP_Fragments/Java_Big_Request/Java_Big_Request.mpc:
        * tests/GIOP_Fragments/Java_Big_Request/Payload_Receiver.h:  
        * tests/GIOP_Fragments/Java_Big_Request/Payload_Receiver.cpp:
        * tests/GIOP_Fragments/Java_Big_Request/Test.idl:
        * tests/GIOP_Fragments/Java_Big_Request/client.java:
        * tests/GIOP_Fragments/Java_Big_Request/run_test.pl:
        * tests/GIOP_Fragments/Java_Big_Request/server.cpp: 

          When the Java client/server is run using the JDK ORB, it will
          fragment the GIOP messages to exercise the GIOP fragment handling
          code in TAO.

        * tests/GIOP_Fragments/PMB_With_Fragments/PMB_With_Fragments.mpc:
        * tests/GIOP_Fragments/PMB_With_Fragments/Payload_Receiver.h:
        * tests/GIOP_Fragments/PMB_With_Fragments/Payload_Receiver.cpp:
        * tests/GIOP_Fragments/PMB_With_Fragments/Test.idl:
        * tests/GIOP_Fragments/PMB_With_Fragments/dribble.pl:
        * tests/GIOP_Fragments/PMB_With_Fragments/giop1.2_fragments.dat:
        * tests/GIOP_Fragments/PMB_With_Fragments/giop1.2_fragments.layout:
        * tests/GIOP_Fragments/PMB_With_Fragments/run_test.pl:
        * tests/GIOP_Fragments/PMB_With_Fragments/server.cpp: 

          This test uses canned GIOP 1.2 fragment data and exercises the PMB
          code as well as GIOP fragment handling code.