Repository: nifi-minifi-cpp
Updated Branches:
  refs/heads/master 20bec6ca5 -> b6ada214a


MINIFI-235: Use the appropriate connection when requested_hostname_ is not 
localhost


Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/a1f1d7c1
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/a1f1d7c1
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/a1f1d7c1

Branch: refs/heads/master
Commit: a1f1d7c1220f9696a9c7e7142a86e4def630ef89
Parents: 20bec6c
Author: Marc Parisi <[email protected]>
Authored: Wed Mar 8 18:54:23 2017 -0500
Committer: Marc Parisi <[email protected]>
Committed: Wed Mar 8 18:54:23 2017 -0500

----------------------------------------------------------------------
 libminifi/src/io/ClientSocket.cpp   | 23 ++++++++++++++---------
 libminifi/test/unit/SocketTests.cpp | 18 +++++++++---------
 2 files changed, 23 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/a1f1d7c1/libminifi/src/io/ClientSocket.cpp
----------------------------------------------------------------------
diff --git a/libminifi/src/io/ClientSocket.cpp 
b/libminifi/src/io/ClientSocket.cpp
index fac5c9d..4f32eec 100644
--- a/libminifi/src/io/ClientSocket.cpp
+++ b/libminifi/src/io/ClientSocket.cpp
@@ -106,13 +106,18 @@ int8_t Socket::createConnection(const addrinfo *p) {
                sa_loc->sin_family = AF_INET;
                //sa_loc->sin_port = htons(port);
                sa_loc->sin_port = htons(port_);
-               sa_loc->sin_addr.s_addr = htonl(INADDR_ANY); // 
inet_addr(requested_hostname.c_str());
+               // use any address if you are connecting to the local machine 
for testing
+               // otherwise we must use the requested hostname
+               if (IsNullOrEmpty(requested_hostname_) || 
requested_hostname_=="localhost")
+                 sa_loc->sin_addr.s_addr = htonl(INADDR_ANY);
+               else
+                 sa_loc->sin_addr.s_addr = 
inet_addr(requested_hostname_.c_str());
                if (connect(socket_file_descriptor_, p->ai_addr, p->ai_addrlen) 
== -1) {
                          close(socket_file_descriptor_);
                                socket_file_descriptor_ = -1;
                                logger_->log_warn("Could not connect to socket, 
error:%s", strerror(errno));
                                return -1;
-                       
+
                }
          }
        }
@@ -142,7 +147,7 @@ short Socket::initialize() {
        hints.ai_flags = AI_CANONNAME;
        if (listeners_ > 0)
            hints.ai_flags |= AI_PASSIVE;
-         
+
        hints.ai_protocol = 0; /* any protocol */
 
        int errcode = getaddrinfo(requested_hostname_.c_str(), 0, &hints, 
&addr_info_);
@@ -209,9 +214,9 @@ short Socket::select_descriptor(const uint16_t msec) {
                                        socket_max_ = newfd;
                                }
                                return newfd;
-                               
-                               
-                               
+
+
+
                          }
                          else{
                            return socket_file_descriptor_;
@@ -289,7 +294,7 @@ int Socket::writeData(uint8_t *value, int size) {
        while (bytes < size) {
 
 
-         
+
                ret = send(socket_file_descriptor_, value + bytes, size - 
bytes, 0);
                //check for errors
                if (ret <= 0) {
@@ -298,7 +303,7 @@ int Socket::writeData(uint8_t *value, int size) {
                        return ret;
                }
                bytes += ret;
-               
+
        }
 
        if (ret)
@@ -319,7 +324,7 @@ inline std::vector<uint8_t> Socket::readBuffer(const T& t) {
 
 
 int Socket::write(uint64_t base_value, bool is_little_endian){
-  
+
   return Serializable::write(base_value,this,is_little_endian);
 }
 

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/a1f1d7c1/libminifi/test/unit/SocketTests.cpp
----------------------------------------------------------------------
diff --git a/libminifi/test/unit/SocketTests.cpp 
b/libminifi/test/unit/SocketTests.cpp
index 39e8bb5..3fb7c9e 100644
--- a/libminifi/test/unit/SocketTests.cpp
+++ b/libminifi/test/unit/SocketTests.cpp
@@ -29,7 +29,7 @@ TEST_CASE("TestSocket", "[TestSocket1]") {
 
 TEST_CASE("TestSocketWriteTest1", "[TestSocket2]") {
 
-       Socket socket(Socket::getMyHostName(),8183);
+       Socket socket("localhost",8183);
        REQUIRE(-1 == socket.initialize() );
 
        socket.writeData(0,0);
@@ -48,11 +48,11 @@ TEST_CASE("TestSocketWriteTest2", "[TestSocket3]") {
                std::vector<uint8_t> buffer;
        buffer.push_back('a');
 
-       Socket server(Socket::getMyHostName(),9183,1);
+       Socket server("localhost",9183,1);
 
        REQUIRE(-1 != server.initialize() );
 
-       Socket client(Socket::getMyHostName(),9183);
+       Socket client("localhost",9183);
 
        REQUIRE(-1 != client.initialize() );
 
@@ -85,11 +85,11 @@ TEST_CASE("TestWriteEndian64", "[TestSocket4]") {
                std::vector<uint8_t> buffer;
        buffer.push_back('a');
 
-       Socket server(Socket::getMyHostName(),9183,1);
+       Socket server("localhost",9183,1);
 
        REQUIRE(-1 != server.initialize() );
 
-       Socket client(Socket::getMyHostName(),9183);
+       Socket client("localhost",9183);
 
        REQUIRE(-1 != client.initialize() );
 
@@ -115,11 +115,11 @@ TEST_CASE("TestWriteEndian32", "[TestSocket5]") {
                std::vector<uint8_t> buffer;
        buffer.push_back('a');
 
-       Socket server(Socket::getMyHostName(),9183,1);
+       Socket server("localhost",9183,1);
 
        REQUIRE(-1 != server.initialize() );
 
-       Socket client(Socket::getMyHostName(),9183);
+       Socket client("localhost",9183);
 
        REQUIRE(-1 != client.initialize() );
 
@@ -157,11 +157,11 @@ TEST_CASE("TestSocketWriteTestAfterClose", 
"[TestSocket6]") {
                std::vector<uint8_t> buffer;
        buffer.push_back('a');
 
-       Socket server(Socket::getMyHostName(),9183,1);
+       Socket server("localhost",9183,1);
 
        REQUIRE(-1 != server.initialize() );
 
-       Socket client(Socket::getMyHostName(),9183);
+       Socket client("localhost",9183);
 
        REQUIRE(-1 != client.initialize() );
 

Reply via email to