diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2014-08-07 12:18:42 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2014-08-07 12:18:42 -0230 |
commit | 232fa424a7339659b6ad2cd02fbfe89420457601 (patch) | |
tree | 978d9e9286c2915b771f8bea019276ab216eecc4 /cpp/src/Ice/TcpEndpointI.cpp | |
parent | Windows SSL SChannel implementation & OS X Secure Transport fixes. (diff) | |
download | ice-232fa424a7339659b6ad2cd02fbfe89420457601.tar.bz2 ice-232fa424a7339659b6ad2cd02fbfe89420457601.tar.xz ice-232fa424a7339659b6ad2cd02fbfe89420457601.zip |
ICE-5457 added ability to set source address for connections
Diffstat (limited to 'cpp/src/Ice/TcpEndpointI.cpp')
-rw-r--r-- | cpp/src/Ice/TcpEndpointI.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp index 40fcbfed98b..7d593d6203a 100644 --- a/cpp/src/Ice/TcpEndpointI.cpp +++ b/cpp/src/Ice/TcpEndpointI.cpp @@ -21,11 +21,12 @@ using namespace std; using namespace Ice; using namespace IceInternal; -IceInternal::TcpEndpointI::TcpEndpointI(const ProtocolInstancePtr& instance, const string& ho, Int po, Int ti, - const string& conId, bool co) : - IPEndpointI(instance, ho, po, conId), - _timeout(ti), - _compress(co) +IceInternal::TcpEndpointI::TcpEndpointI(const ProtocolInstancePtr& instance, const string& host, Int port, + const Address& sourceAddr, Int timeout, const string& connectionId, + bool compress) : + IPEndpointI(instance, host, port, sourceAddr, connectionId), + _timeout(timeout), + _compress(compress) { } @@ -51,7 +52,7 @@ IceInternal::TcpEndpointI::getInfo() const class InfoI : public Ice::TCPEndpointInfo { public: - + InfoI(const EndpointIPtr& endpoint) : _endpoint(endpoint) { } @@ -61,13 +62,13 @@ IceInternal::TcpEndpointI::getInfo() const { return _endpoint->type(); } - + virtual bool datagram() const { return _endpoint->datagram(); } - + virtual bool secure() const { @@ -75,7 +76,7 @@ IceInternal::TcpEndpointI::getInfo() const } private: - + const EndpointIPtr _endpoint; }; @@ -99,7 +100,7 @@ IceInternal::TcpEndpointI::timeout(Int timeout) const } else { - return new TcpEndpointI(_instance, _host, _port, timeout, _connectionId, _compress); + return new TcpEndpointI(_instance, _host, _port, _sourceAddr, timeout, _connectionId, _compress); } } @@ -118,7 +119,7 @@ IceInternal::TcpEndpointI::compress(bool compress) const } else { - return new TcpEndpointI(_instance, _host, _port, _timeout, _connectionId, compress); + return new TcpEndpointI(_instance, _host, _port, _sourceAddr, _timeout, _connectionId, compress); } } @@ -323,16 +324,16 @@ IceInternal::TcpEndpointI::checkOption(const string& option, const string& argum } } -ConnectorPtr +ConnectorPtr IceInternal::TcpEndpointI::createConnector(const Address& address, const NetworkProxyPtr& proxy) const { - return new TcpConnector(_instance, address, proxy, _timeout, _connectionId); + return new TcpConnector(_instance, address, proxy, _sourceAddr, _timeout, _connectionId); } -IPEndpointIPtr +IPEndpointIPtr IceInternal::TcpEndpointI::createEndpoint(const string& host, int port, const string& connectionId) const { - return new TcpEndpointI(_instance, host, port, _timeout, connectionId, _compress); + return new TcpEndpointI(_instance, host, port, _sourceAddr, _timeout, connectionId, _compress); } IceInternal::TcpEndpointFactory::TcpEndpointFactory(const ProtocolInstancePtr& instance) : _instance(instance) @@ -375,7 +376,7 @@ IceInternal::TcpEndpointFactory::destroy() _instance = 0; } -EndpointFactoryPtr +EndpointFactoryPtr IceInternal::TcpEndpointFactory::clone(const ProtocolInstancePtr& instance) const { return new TcpEndpointFactory(instance); |