You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2010/04/21 17:51:38 UTC

svn commit: r936365 - in /activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net: ServerSocket.cpp Socket.cpp SocketImpl.h

Author: tabish
Date: Wed Apr 21 15:51:38 2010
New Revision: 936365

URL: http://svn.apache.org/viewvc?rev=936365&view=rev
Log:
Adds several fixes to the Socket and ServerSocket classes found during testing, also adds some temporary debug code.

Modified:
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/ServerSocket.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/Socket.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/SocketImpl.h

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/ServerSocket.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/ServerSocket.cpp?rev=936365&r1=936364&r2=936365&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/ServerSocket.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/ServerSocket.cpp Wed Apr 21 15:51:38 2010
@@ -107,8 +107,10 @@ void ServerSocket::setupSocketImpl( cons
         this->impl->create();
         this->created = true;
 
+        std::string bindAddr = ipAddress.empty() ? "0.0.0.0" : ipAddress;
+
         try {
-            this->impl->bind( ipAddress, port );
+            this->impl->bind( bindAddr, port );
             this->bound = true;
             this->impl->listen( backlog > 0 ? backlog : getDefaultBacklog() );
         } catch( IOException& ex ) {
@@ -325,6 +327,16 @@ void ServerSocket::setSoTimeout( int tim
 }
 
 ////////////////////////////////////////////////////////////////////////////////
+int ServerSocket::getLocalPort() const {
+
+    if( this->impl == NULL ) {
+        return -1;
+    }
+
+    return this->impl->getLocalPort();
+}
+
+////////////////////////////////////////////////////////////////////////////////
 void ServerSocket::setSocketImplFactory( SocketImplFactory* factory )
     throw( decaf::io::IOException,
            decaf::net::SocketException ) {

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/Socket.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/Socket.cpp?rev=936365&r1=936364&r2=936365&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/Socket.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/Socket.cpp Wed Apr 21 15:51:38 2010
@@ -127,9 +127,9 @@ void Socket::initSocketImpl( const std::
         ensureCreated();
 
         try {
-            this->impl->bind( localAddress, localPort );
+            //this->impl->bind( localAddress, localPort );
             this->bound = true;
-            this->impl->connect( host, port, 0 );
+            this->impl->connect( host, port, -1 );
             this->connected = true;
         } catch( IOException& ex ) {
             this->impl->close();
@@ -178,7 +178,9 @@ void Socket::bind( const std::string& ip
         ensureCreated();
 
         try {
+            std::cout << "Socket::bind - Binding to " << ipaddress << ":" << port << std::endl;
             this->impl->bind( ipaddress, port );
+            std::cout << "Socket::bind - Bound to " << ipaddress << ":" << port << std::endl;
             this->bound = true;
         } catch( IOException& e ) {
             this->impl->close();
@@ -249,12 +251,14 @@ void Socket::connect( const std::string&
         try {
 
             if( !isBound() ) {
-                this->impl->bind( "", 0 );
+                //this->impl->bind( "", 0 );
                 this->bound = true;
             }
 
+            std::cout << "Socket::connect - Connecting to " << host << ":" << port << std::endl;
             this->impl->connect( host, port, timeout );
             this->connected = true;
+            std::cout << "Socket::connect - Connected to " << host << ":" << port << std::endl;
 
         } catch( IOException& ex ) {
             this->impl->close();

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/SocketImpl.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/SocketImpl.h?rev=936365&r1=936364&r2=936365&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/SocketImpl.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/SocketImpl.h Wed Apr 21 15:51:38 2010
@@ -38,7 +38,7 @@ namespace net {
      * @since 1.0
      */
     class DECAF_API SocketImpl : public SocketOptions {
-    private:
+    protected:
 
         int port;
         int localPort;