diff options
author | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-10 00:41:59 +0000 |
---|---|---|
committer | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-10 00:41:59 +0000 |
commit | f360f9c398b70081c6dd82b53b7cbeaa9681ba1f (patch) | |
tree | 3635275a15af106f28d914fc5932cd758b7eb099 | |
parent | 028f670e4e0e287e538bab2ac0a0297ed11d85a1 (diff) | |
download | ATCD-f360f9c398b70081c6dd82b53b7cbeaa9681ba1f.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp | 40 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h | 12 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/UDP.cpp | 31 |
3 files changed, 54 insertions, 29 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp index dade8b836d9..73efeb5a203 100644 --- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp +++ b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp @@ -53,7 +53,7 @@ TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (const char *flowname, const char *flow_protocol, const char *carrier_protocol, ACE_Addr *fwd_address, - ACE_Addr *peer_address, + //ACE_Addr *peer_address, ACE_Addr *control_address) :address_ (fwd_address), clean_up_address_ (0), @@ -68,7 +68,7 @@ TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (const char *flowname, use_flow_protocol_ (0), entry_ (), is_multicast_ (0), - peer_addr_ (peer_address), + peer_addr_ (0), peer_control_addr_ (0), local_addr_ (0), local_control_addr_ (0), @@ -89,14 +89,13 @@ TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (const char *flowname, const char *direction, const char *format_name, const char *flow_protocol, - const char *fwd_address, - const char *peer_address) + const char *address) + //const char *peer_address) :address_ (0), clean_up_address_ (0), control_address_ (0), clean_up_control_address_ (0), - fwd_address_str_ ( address ), - peer_address_str_ ( address ), + address_str_ ( address ), format_ ( format_name ), direction_str_ ( direction ), flowname_ ( flowname ), @@ -484,13 +483,19 @@ TAO_Forward_FlowSpec_Entry::parse (const char *flowSpec_entry) if (this->parse_address (tokenizer [TAO_AV_ADDRESS], TAO_AV_Core::TAO_AV_BOTH) < 0) return -1; - if (tokenizer [TAO_AV_PEER_ADDRESS] != 0) + if (tokenizer [TAO_AV_PEER_ADDR] != 0) { - ACE_Addr *addr; + ACE_INET_Addr *addr; ACE_NEW_RETURN (addr, - ACE_Addr (tokenizer [TAO_AV_PEER_ADDR]), + ACE_INET_Addr (tokenizer [TAO_AV_PEER_ADDR]), 0); this->peer_addr_ = addr; + + char buf [BUFSIZ]; + addr->addr_to_string (buf, BUFSIZ); + ACE_DEBUG ((LM_DEBUG, + "Peer Address %s \n", + buf)); } if (tokenizer [TAO_AV_FLOW_PROTOCOL] != 0) @@ -597,7 +602,8 @@ TAO_Forward_FlowSpec_Entry::entry_to_string (void) } } -if (this->peer_addr_ != 0) + + if (this->peer_addr_ != 0) { switch (this->protocol_) { @@ -613,17 +619,19 @@ if (this->peer_addr_ != 0) case TAO_AV_Core::TAO_AV_TCP: { ACE_INET_Addr *inet_addr = ACE_dynamic_cast (ACE_INET_Addr*,this->peer_addr_); - inet_addr->addr_to_string (address,BUFSIZ); + //inet_addr->addr_to_string (address,BUFSIZ); + inet_addr->get_host_name (address, BUFSIZ); + ACE_CString cstring (address); + cstring += ACE_OS::itoa (address, BUFSIZ, inet_addr->get_port_number ()); + //peer_address_str = this->carrier_protocol_; + //peer_address_str += "="; + peer_address_str += cstring; } break; default: break; } - ACE_CString cstring (address); - peer_address_str = this->carrier_protocol_; - peer_address_str += "="; - peer_address_str += cstring; } if (this->control_address_ != 0) @@ -756,7 +764,7 @@ TAO_Reverse_FlowSpec_Entry::parse (const char *flowSpec_entry) ACE_DEBUG ((LM_DEBUG, "TAO_Reverse_FlowSpec_Entry::parse %s\n", flowSpec_entry)); - + if (tokenizer [TAO_AV_ADDRESS] != 0) if (this->parse_address (tokenizer [TAO_AV_ADDRESS], TAO_AV_Core::TAO_AV_BOTH) < 0) return -1; diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h index 3aa3872f233..c66975cc678 100644 --- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h +++ b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h @@ -121,15 +121,15 @@ public: void flow_protocol_str (const char *flow_protocol_str); /// accessor to address of the carrier protocol. - ACE_Addr *fwd_address (void); - ACE_Addr *rev_address (void); + //ACE_Addr *fwd_address (void); + ACE_Addr *address (void); ACE_Addr *control_address (void); void address (ACE_Addr *address); void control_address (ACE_Addr *address); /// Address in string format i. hostname:port. - const char * fwd_address_str (void) const; - const char * peer_address_str (void) const; + const char *address_str (void) const; + // const char * peer_address_str (void) const; /// accessor to carrier protocol i.e TCP,UDP,RTP/UDP. TAO_AV_Core::Protocol carrier_protocol (void); @@ -198,7 +198,7 @@ protected: int clean_up_control_address_; // added to clean up a memory leak /// Fwd Addr in string format i.e hostname:port. - ACE_CString fwd_address_str_; + ACE_CString address_str_; /// Peer Addr in string format i.e hostname:port. ACE_CString peer_address_str_; @@ -257,7 +257,7 @@ public: TAO_AV_FORMAT = 2, TAO_AV_FLOW_PROTOCOL = 3, TAO_AV_ADDRESS = 4, - TAO_AV_PEER_ADDRESS = 5}; + TAO_AV_PEER_ADDR = 5}; /// default constructor. TAO_Forward_FlowSpec_Entry (void); diff --git a/TAO/orbsvcs/orbsvcs/AV/UDP.cpp b/TAO/orbsvcs/orbsvcs/AV/UDP.cpp index 4e3b627591b..8dd9acc0607 100644 --- a/TAO/orbsvcs/orbsvcs/AV/UDP.cpp +++ b/TAO/orbsvcs/orbsvcs/AV/UDP.cpp @@ -423,7 +423,7 @@ TAO_AV_UDP_Acceptor::open_i (ACE_INET_Addr *inet_addr, { int result = -1; - ACE_INET_Addr *local_addr; + ACE_INET_Addr *local_addr = 0; TAO_AV_Flow_Handler *flow_handler = 0; // if using a default address and this is the control flow component, the @@ -634,6 +634,16 @@ TAO_AV_UDP_Connector::connect (TAO_FlowSpec_Entry *entry, // assume the ports will be OK get_new_port = 0; + ACE_Addr *addr; + if ((addr = entry->get_peer_addr ()) != 0) + { + local_addr = ACE_dynamic_cast (ACE_INET_Addr*,addr); + char buf [BUFSIZ]; + local_addr->addr_to_string (buf, BUFSIZ); + ACE_DEBUG ((LM_DEBUG, + "local_addr %s\n", + buf)); + } TAO_AV_UDP_Connection_Setup::setup (flow_handler, inet_addr, local_addr, @@ -815,9 +825,16 @@ TAO_AV_UDP_Connection_Setup::setup (TAO_AV_Flow_Handler *&flow_handler, } else { - ACE_NEW_RETURN (local_addr, - ACE_INET_Addr ("0"), - -1); + if (local_addr == 0) + ACE_NEW_RETURN (local_addr, + ACE_INET_Addr ("0"), + -1); + + char buf [BUFSIZ]; + local_addr->addr_to_string (buf, BUFSIZ); + ACE_DEBUG ((LM_DEBUG, + "Local Address %s\n", + buf)); TAO_AV_UDP_Flow_Handler *handler; ACE_NEW_RETURN (handler, @@ -851,13 +868,13 @@ TAO_AV_UDP_Connection_Setup::setup (TAO_AV_Flow_Handler *&flow_handler, return 0; if (ct == CONNECTOR) - handler->set_remote_address (inet_addr); - + handler->set_remote_address (inet_addr); + result = handler->get_socket ()->get_local_addr (*local_addr); if (result < 0) ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_Dgram_Connector::open: get_local_addr failed\n"),result); } - + return 1; } |