summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-24 20:33:52 +0000
committeryamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-24 20:33:52 +0000
commit2d76dc56d580ef536177e777ce40189d34f13e17 (patch)
tree3f49cc62e73ba3612782a0b6d66e0a26c4361160
parentc12b1e4d8d49472916e12fff51a57a63c8aadabc (diff)
downloadATCD-2d76dc56d580ef536177e777ce40189d34f13e17.tar.gz
ChangelogTag: Tue June 24 16:26:06 2003 Yamuna Krishnamurthy <yamuna@oomworks.com>
-rw-r--r--TAO/ChangeLog119
-rw-r--r--ace/QoS/QoS_Session.h10
-rw-r--r--ace/QoS/QoS_Session_Impl.cpp25
-rw-r--r--ace/QoS/QoS_Session_Impl.h12
-rw-r--r--ace/QoS/QoS_Session_Impl.i24
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)