Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/69161?usp=email )

Change subject: base: Make ListenSocket::listen(int port) protected.
......................................................................

base: Make ListenSocket::listen(int port) protected.

Stop making the old API available.

Change-Id: I70752d081cb572a8ae5bf396d2ea43ecc7be1e9c
---
M src/base/socket.hh
M src/base/socket.test.cc
2 files changed, 19 insertions(+), 35 deletions(-)



diff --git a/src/base/socket.hh b/src/base/socket.hh
index 7a616bd..81f4d62 100644
--- a/src/base/socket.hh
+++ b/src/base/socket.hh
@@ -99,6 +99,8 @@
      */
     static void cleanup();

+    virtual bool listen(int port);
+
   public:
     /**
      * @ingroup api_socket
@@ -110,7 +112,6 @@

     virtual int accept();

-    virtual bool listen(int port);
     virtual void listen();

     virtual void output(std::ostream &os) const;
diff --git a/src/base/socket.test.cc b/src/base/socket.test.cc
index cb24c49..8e1c25b 100644
--- a/src/base/socket.test.cc
+++ b/src/base/socket.test.cc
@@ -121,6 +121,7 @@
 class MockListenSocket : public ListenSocket
 {
   public:
+    MockListenSocket(int port) : ListenSocket("mock", port) {}
     /*
* This mock Listen Socket is used to ensure the static variables are reset * back to their default values after deconstruction (i.e., after a test
@@ -138,7 +139,7 @@
      * Tests the default behavior where listenSocket is constructed, and is
      * not listening to a port.
      */
-    MockListenSocket listen_socket;
+    MockListenSocket listen_socket(-1);
     EXPECT_EQ(-1, listen_socket.getfd());
     EXPECT_FALSE(listen_socket.islistening());
     EXPECT_FALSE(listen_socket.allDisabled());
@@ -146,7 +147,7 @@

 TEST(SocketTest, DisableAll)
 {
-    MockListenSocket listen_socket;
+    MockListenSocket listen_socket(-1);
     listen_socket.disableAll();
     EXPECT_EQ(-1, listen_socket.getfd());
     EXPECT_FALSE(listen_socket.islistening());
@@ -155,8 +156,8 @@

 TEST(SocketTest, ListenToPort)
 {
-    MockListenSocket listen_socket;
-    EXPECT_TRUE(listen_socket.listen(TestPort1));
+    MockListenSocket listen_socket(TestPort1);
+    listen_socket.listen();
     EXPECT_NE(-1, listen_socket.getfd());
     EXPECT_TRUE(listen_socket.islistening());
     EXPECT_FALSE(listen_socket.allDisabled());
@@ -164,32 +165,14 @@

 TEST(SocketTest, RelistenWithSameInstanceSamePort)
 {
-    MockListenSocket listen_socket;
-    EXPECT_TRUE(listen_socket.listen(TestPort1));
+    MockListenSocket listen_socket(TestPort1);
+    listen_socket.listen();

     /*
* You cannot listen to another port if you are already listening to one.
      */
     gtestLogOutput.str("");
-    EXPECT_ANY_THROW(listen_socket.listen(TestPort1));
-    std::string expected =
-        "panic: panic condition listening occurred: "
-        "Socket already listening!\n";
-    std::string actual = gtestLogOutput.str();
-    EXPECT_EQ(expected, actual);
-}
-
-TEST(SocketTest, RelistenWithSameInstanceDifferentPort)
-{
-    MockListenSocket listen_socket;
-    EXPECT_TRUE(listen_socket.listen(TestPort1));
-
-    /*
- * You cannot listen to another port if you are already listening to one.
-     */
-    gtestLogOutput.str("");
-    EXPECT_ANY_THROW(listen_socket.listen(TestPort2));
-
+    EXPECT_ANY_THROW(listen_socket.listen());
     std::string expected =
         "panic: panic condition listening occurred: "
         "Socket already listening!\n";
@@ -199,30 +182,30 @@

 TEST(SocketTest, RelistenWithDifferentInstanceOnDifferentPort)
 {
-    MockListenSocket listen_socket;
-    EXPECT_TRUE(listen_socket.listen(TestPort1));
+    MockListenSocket listen_socket(TestPort1);
+    listen_socket.listen();

     /*
      * You can listen to another port with a different instance.
      */
-    MockListenSocket listen_socket_2;
-    EXPECT_TRUE(listen_socket_2.listen(TestPort2));
+    MockListenSocket listen_socket_2(TestPort2);
+    listen_socket_2.listen();
 }

 TEST(SocketTest, RelistenWithDifferentInstanceOnSamePort)
 {
-    MockListenSocket listen_socket;
-    EXPECT_TRUE(listen_socket.listen(TestPort1));
+    MockListenSocket listen_socket(TestPort1);
+    listen_socket.listen();

     /*
      * You cannot listen to a port that's already being listened to.
      */
-    MockListenSocket listen_socket_2;
-    EXPECT_FALSE(listen_socket_2.listen(TestPort1));
+    MockListenSocket listen_socket_2(TestPort1);
+    listen_socket_2.listen();
 }

 TEST(SocketTest, AcceptError)
 {
-    MockListenSocket listen_socket;
+    MockListenSocket listen_socket(-1);
     EXPECT_EQ(-1, listen_socket.accept());
 }

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/69161?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I70752d081cb572a8ae5bf396d2ea43ecc7be1e9c
Gerrit-Change-Number: 69161
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-CC: Gabe Black <gabebl...@google.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org

Reply via email to