diff options
author | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-06-24 20:33:52 +0000 |
---|---|---|
committer | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-06-24 20:33:52 +0000 |
commit | 2d76dc56d580ef536177e777ce40189d34f13e17 (patch) | |
tree | 3f49cc62e73ba3612782a0b6d66e0a26c4361160 | |
parent | c12b1e4d8d49472916e12fff51a57a63c8aadabc (diff) | |
download | ATCD-2d76dc56d580ef536177e777ce40189d34f13e17.tar.gz |
ChangelogTag: Tue June 24 16:26:06 2003 Yamuna Krishnamurthy <yamuna@oomworks.com>
-rw-r--r-- | TAO/ChangeLog | 119 | ||||
-rw-r--r-- | ace/QoS/QoS_Session.h | 10 | ||||
-rw-r--r-- | ace/QoS/QoS_Session_Impl.cpp | 25 | ||||
-rw-r--r-- | ace/QoS/QoS_Session_Impl.h | 12 | ||||
-rw-r--r-- | ace/QoS/QoS_Session_Impl.i | 24 |
5 files changed, 167 insertions, 23 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index a2ab1e0aaa7..235624dedf7 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,46 +1,74 @@ +Tue June 24 16:26:06 2003 Yamuna Krishnamurthy <yamuna@oomworks.com> + + * orbsvcs/orbsvcs/AV/AV_Core.cpp: Check if the peer address is + set for B endpoint when initializing forward flows. If set use + that address to create acceptors. This case happens when no + address is specified for the A endpoint. + + * orbsvcs/orbsvcs/AV/FlowSpec_Entry.h: + * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Changed the flow spec entry from + "Flowname\Direction\Format\Flow_Prtocol\Sender_Address" to + "Flowname\Direction\Format\Flow_Prtocol\Sender_Address\Receiver_Address". + The additonal Receiver_Address field allows the user to specify + the receiver address that will be used to receive the + data. This addition helps to solve the problem arising on a + multihomed host where the acceptor was by default accepting on + all interfaces. This was not acceptable in some cases. Hence, + by specifying the sender and receiver addresses explicitly only + the required interfaces on a multihomed host are used. + + * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: + * orbsvcs/orbsvcs/AV/UDP.cpp:Made changes to create sockets on the + specified local and remote addresses to send and receive data + correspondingly. + + * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: The source host and port in the + TSpec for setting the RSVP sending_qos were not set + correctly. This was fixed. + Tue Jun 24 11:54:29 2003 Chris Cleeland <cleeland_c@ociweb.com> - * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp (bind_new_context): - + * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp (bind_new_context): + Fixed compile errors where there was a return with no value. This only caused problems on a few platforms for some reason. Tue Jun 24 11:34:53 2003 Pradeep Gore <pradeep@oomworks.com> Simple example to show how to use RTCORBA Lanes with RT Notification. - + * orbsvcs/examples/Notify/Lanes/Consumer.cpp: * orbsvcs/examples/Notify/Lanes/Consumer.h: Structured Consumer implementation. - + * orbsvcs/examples/Notify/Lanes/Consumer_Client.cpp: * orbsvcs/examples/Notify/Lanes/Consumer_Client.h: Client program. - + * orbsvcs/examples/Notify/Lanes/ORB_Objects.cpp: * orbsvcs/examples/Notify/Lanes/ORB_Objects.h: Holder for common ORB objects. - + * orbsvcs/examples/Notify/Lanes/ORB_Run_Task.cpp: * orbsvcs/examples/Notify/Lanes/ORB_Run_Task.h: Task to run ORB::run method. - + * orbsvcs/examples/Notify/Lanes/Supplier.cpp: * orbsvcs/examples/Notify/Lanes/Supplier.h: Structured Supplier implementation. - + * orbsvcs/examples/Notify/Lanes/Supplier_Client.cpp: * orbsvcs/examples/Notify/Lanes/Supplier_Client.h: Supplier Client. - + * orbsvcs/examples/Notify/Lanes/client.conf: - * orbsvcs/examples/Notify/Lanes/notify.conf: + * orbsvcs/examples/Notify/Lanes/notify.conf: * orbsvcs/examples/Notify/Lanes/run_test.pl: * orbsvcs/examples/Notify/Lanes/Lanes.dsp: * orbsvcs/examples/Notify/Lanes/Supplier.dsp: @@ -49,19 +77,19 @@ Tue Jun 24 11:34:53 2003 Pradeep Gore <pradeep@oomworks.com> * orbsvcs/examples/Notify/Lanes/Makefile: Conf files, run script and project files. - + * orbsvcs/examples/Notify/Lanes/README: - + README for this example. * orbsvcs/examples/Notify/Notify_Examples.dsw: - - Updated to include Lanes example. + + Updated to include Lanes example. Tue Jun 24 03:49:40 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * orbsvcs/orbsvcs/Scheduler_Factory.cpp: Added patches supplied by - Rob Andzik to get it compiling on VxWORKS. + Rob Andzik to get it compiling on VxWORKS. Mon Jun 23 22:28:49 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> @@ -69,13 +97,67 @@ Mon Jun 23 22:28:49 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp: * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp: Removed the usage of TAO_Event_CRC. Used ACE::crc32 () instead. Thanks to - Carlos for pointing it out. - - * orbsvcs/orbsvcs/Makefile.RTEvent: + Carlos for pointing it out. + + * orbsvcs/orbsvcs/Makefile.RTEvent: * orbsvcs/orbsvcs/RTEvent.bor: Removed CRC.{h,cpp} from the library. +>>>>>>> 1.1997 Mon Jun 23 19:35:58 2003 Nanbor Wang <nanbor@cs.wustl.edu> +======= +Thurs June 12 12:52:06 2003 Yamuna Krishnamurthy <yamuna@oomworks.com> + + * orbsvcs/orbsvcs/AV/AV_Core.cpp: Check if the peer address is + set for B endpoint when initializing forward flows. If set use + that address to create acceptors. This case happens when no + address is specified for the A endpoint. + + * orbsvcs/orbsvcs/AV/FlowSpec_Entry.h: + * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Changed the flow spec entry from + "Flowname\Direction\Format\Flow_Prtocol\Sender_Address" to + "Flowname\Direction\Format\Flow_Prtocol\Sender_Address\Receiver_Address". + The additonal Receiver_Address field allows the user to specify + the receiver address that will be used to receive the + data. This addition helps to solve the problem arising on a + multihomed host where the acceptor was by default accepting on + all interfaces. This was not acceptable in some cases. Hence, + by specifying the sender and receiver addresses explicitly only + the required interfaces on a multihomed host are used. + + * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: + * orbsvcs/orbsvcs/AV/UDP.cpp:Made changes to create sockets on the + specified local and remote addresses to send and receive data + correspondingly. + + * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: The source host and port in the + TSpec for setting the RSVP sending_qos were not set + correctly. This was fixed. + + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Connection_Manager.cpp: + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Connection_Manager.h: + Added load_ep () method to read an address file (if available) + to get the sender and receiver endpoints for each flow that is + set up. The address file has entries in the format: + Flowname/Sender_Host:Port/Reciever_Host:Port. If the address + file or endpoints are not specified then the connection manager + uses INADDR_ANY for the endpoints. + + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Sender.h: + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Sender.cpp: + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Receiver.h: + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Receiver.cpp: + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Distributer.h: + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Distributer.cpp: + Added additional parameter -a <address_file> to the command line + arguments to specify the endpoint address file from which to + load the flow endpoint addresses. Also, made a call to the + Connection_Manager::load_ep () method that reads the address + file and stores the endpoint addresses for each speficied flow + in a hash map. + +Wed Feb 19 12:52:06 2003 Heather Drury <oci@cs.wustl.edu> +>>>>>>> 1.1196.6.1 * tao/ObjRefTemplate/ObjRefTemplate.mpc: Changed parent project named "valuetype_only" to "valuetype". There doesn't seem to be @@ -1960,4 +2042,3 @@ Tue Jun 17 05:50:12 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl> * docs/implrepo/index.html: Corrected link to doxygen documentation - diff --git a/ace/QoS/QoS_Session.h b/ace/QoS/QoS_Session.h index f67a9f52416..b1919d9e71e 100644 --- a/ace/QoS/QoS_Session.h +++ b/ace/QoS/QoS_Session.h @@ -133,6 +133,13 @@ public: /// Set the source port for this session. virtual void source_port (const u_short &source_port) = 0; + //Set the source host + virtual ACE_INET_Addr* source_addr (void) const = 0; + + /// Set the source port for this session. + virtual void source_addr (ACE_INET_Addr* source_addr) = 0; + + /** * Returns the version of the underlying RSVP implementation. Is * meaningful only when the underlying implementation has @@ -151,6 +158,9 @@ protected: /// Destination address for this session. ACE_INET_Addr dest_addr_; + /// Source address for this session. + ACE_INET_Addr* src_addr_; + /// Is this a TCP or a UDP session. ACE_Protocol_ID protocol_id_; diff --git a/ace/QoS/QoS_Session_Impl.cpp b/ace/QoS/QoS_Session_Impl.cpp index 4a340861ab0..c516d38e9e0 100644 --- a/ace/QoS/QoS_Session_Impl.cpp +++ b/ace/QoS/QoS_Session_Impl.cpp @@ -237,7 +237,9 @@ rsvp_callback (rapi_sid_t sid, ACE_RAPI_Session::ACE_RAPI_Session (void) { ACE_TRACE ("ACE_RAPI_Session::ACE_RAPI_Session"); - this->source_port (DEFAULT_SOURCE_SENDER_PORT); + //this->source_port (DEFAULT_SOURCE_SENDER_PORT); + ACE_NEW (this->src_addr_, + ACE_INET_Addr ("0")); } // Open a RAPI QoS session [dest IP, dest port, Protocol ID]. @@ -245,8 +247,12 @@ int ACE_RAPI_Session::open (ACE_INET_Addr dest_addr, ACE_Protocol_ID protocol_id) { + char buf [BUFSIZ]; + dest_addr.addr_to_string (buf, + BUFSIZ); ACE_DEBUG ((LM_DEBUG, - "In RAPI SESSION OPEN\n")); + "In RAPI SESSION OPEN %s\n", + buf)); this->dest_addr_ = dest_addr; this->protocol_id_ = protocol_id; @@ -390,22 +396,33 @@ ACE_RAPI_Session::sending_qos (const ACE_QoS &ace_qos) sending_flowspec->ttl ())); // This the source sender port. - ACE_INET_Addr sender_addr (this->source_port ()); + // ACE_INET_Addr sender_addr (this->source_port ()); ACE_DEBUG ((LM_DEBUG, "Making the rapi_sender () call\n")); // Set the Sender TSpec for this QoS session. + int result = rapi_sender(this->session_id_, 0, - (sockaddr *) sender_addr.get_addr (), + (sockaddr *) this->src_addr_->get_addr (), NULL, t_spec, NULL, NULL, sending_flowspec->ttl ()) ; + /* + int result = rapi_sender(this->session_id_, + 0, + (sockaddr *) sender_addr.get_addr (), + NULL, + t_spec, + NULL, + NULL, + sending_flowspec->ttl ()) ; + */ if(result!= 0) ACE_ERROR_RETURN ((LM_ERROR, "(%N|%l) rapi_sender error %d:\n\tPATH Generation can't be started\n", diff --git a/ace/QoS/QoS_Session_Impl.h b/ace/QoS/QoS_Session_Impl.h index ea5d11cec10..efd53682ad4 100644 --- a/ace/QoS/QoS_Session_Impl.h +++ b/ace/QoS/QoS_Session_Impl.h @@ -111,6 +111,12 @@ public: /// Set the source port for this session. virtual void source_port (const u_short &source_port); + //Set the source host + virtual ACE_INET_Addr* source_addr (void) const; + + /// Set the source port for this session. + virtual void source_addr (ACE_INET_Addr* source_addr); + /// RAPI version. Returned value = 100 * major-version + minor-version. virtual int version (); @@ -207,6 +213,12 @@ public: /// Set the source port for this session. virtual void source_port (const u_short &source_port); + //Set the source host + virtual ACE_INET_Addr* source_addr (void) const; + + /// Set the source port for this session. + virtual void source_addr (ACE_INET_Addr* source_addr); + /// Get the GQoS session id. virtual int session_id (void) const; diff --git a/ace/QoS/QoS_Session_Impl.i b/ace/QoS/QoS_Session_Impl.i index c3093814ac9..fe701b32aa2 100644 --- a/ace/QoS/QoS_Session_Impl.i +++ b/ace/QoS/QoS_Session_Impl.i @@ -99,6 +99,18 @@ ACE_RAPI_Session::source_port (const u_short &source_port) this->source_port_ = source_port; } +ACE_INLINE ACE_INET_Addr* +ACE_RAPI_Session::source_addr (void) const +{ + return this->src_addr_; +} + +ACE_INLINE void +ACE_RAPI_Session::source_addr (ACE_INET_Addr* source_addr) +{ + this->src_addr_ = source_addr; +} + // RAPI version. Returned value = 100 * major-version + minor-version. ACE_INLINE int ACE_RAPI_Session::version (void) @@ -194,6 +206,18 @@ ACE_GQoS_Session::source_port (const u_short &source_port) this->source_port_ = source_port; } +ACE_INLINE ACE_INET_Addr* +ACE_GQoS_Session::source_addr (void) const +{ + return this->src_addr_; +} + +ACE_INLINE void +ACE_GQoS_Session::source_addr (ACE_INET_Addr* source_addr) +{ + this->src_addr_ = source_addr; +} + // GQoS version. ACE_INLINE int ACE_GQoS_Session::version (void) |