]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/net: decouple listen_ertr from FixedCPUServerSocket.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Wed, 8 Sep 2021 19:27:44 +0000 (19:27 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 14 Sep 2021 10:01:35 +0000 (10:01 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/net/Socket.cc
src/crimson/net/Socket.h
src/test/crimson/test_socket.cc

index a2a7b1701b81bacf29cb263751efd4f887c96785..baecdf7561ff27be74ad8fd10598556133d34dc3 100644 (file)
@@ -198,7 +198,7 @@ void Socket::set_trap(bp_type_t type, bp_action_t action, socket_blocker* blocke
 }
 #endif
 
-FixedCPUServerSocket::listen_ertr::future<>
+crimson::net::listen_ertr::future<>
 FixedCPUServerSocket::listen(entity_addr_t addr)
 {
   assert(seastar::this_shard_id() == cpu);
index 9cb3006ea5572c016a1be40bbab8e42178dc274c..3a149cee1452753157105d32bcd8b0ec36cfb4c1 100644 (file)
@@ -160,6 +160,10 @@ class Socket
   friend class FixedCPUServerSocket;
 };
 
+using listen_ertr = crimson::errorator<
+  crimson::ct_error::address_in_use // The address is already bound
+  >;
+
 class FixedCPUServerSocket
     : public seastar::peering_sharded_service<FixedCPUServerSocket> {
   const seastar::shard_id cpu;
@@ -196,9 +200,6 @@ public:
   FixedCPUServerSocket(const FixedCPUServerSocket&) = delete;
   FixedCPUServerSocket& operator=(const FixedCPUServerSocket&) = delete;
 
-  using listen_ertr = crimson::errorator<
-    crimson::ct_error::address_in_use // The address is already bound
-    >;
   listen_ertr::future<> listen(entity_addr_t addr);
 
   // fn_accept should be a nothrow function of type
index 49d6aef7d64d26ca7cbc0d68e7b12014a784c026..4ba7c547fa4322efbcbb497617f101360a05c5ff 100644 (file)
@@ -21,6 +21,7 @@ using seastar::engine;
 using seastar::future;
 using crimson::net::error;
 using crimson::net::FixedCPUServerSocket;
+using crimson::net::listen_ertr;
 using crimson::net::Socket;
 using crimson::net::SocketRef;
 using crimson::net::stop_t;
@@ -75,7 +76,7 @@ future<> test_bind_same() {
         return pss2->listen(saddr).safe_then([] {
           logger.error("test_bind_same() should raise address_in_use");
           ceph_abort();
-        }, FixedCPUServerSocket::listen_ertr::all_same_way(
+        }, listen_ertr::all_same_way(
             [] (const std::error_code& e) {
           if (e == std::errc::address_in_use) {
             // successful!
@@ -91,7 +92,7 @@ future<> test_bind_same() {
           return pss2->destroy();
         });
       });
-    }, FixedCPUServerSocket::listen_ertr::all_same_way(
+    }, listen_ertr::all_same_way(
         [saddr] (const std::error_code& e) {
       logger.error("test_bind_same(): there is another instance running at {}",
                    saddr);
@@ -116,7 +117,7 @@ future<> test_accept() {
           return socket->close().finally([cleanup = std::move(socket)] {});
         });
       });
-    }, FixedCPUServerSocket::listen_ertr::all_same_way(
+    }, listen_ertr::all_same_way(
         [saddr] (const std::error_code& e) {
       logger.error("test_accept(): there is another instance running at {}",
                    saddr);
@@ -162,7 +163,7 @@ class SocketFactory {
       return FixedCPUServerSocket::create().then([psf, saddr] (auto pss) {
         psf->pss = pss;
         return pss->listen(saddr
-        ).safe_then([]{}, FixedCPUServerSocket::listen_ertr::all_same_way(
+        ).safe_then([]{}, listen_ertr::all_same_way(
             [saddr] (const std::error_code& e) {
           logger.error("dispatch_sockets(): there is another instance running at {}",
                        saddr);