Future<Unit> wangle fixup
authorHans Fugal <fugalh@fb.com>
Wed, 1 Jul 2015 22:42:30 +0000 (15:42 -0700)
committerSara Golemon <sgolemon@fb.com>
Wed, 1 Jul 2015 23:24:55 +0000 (16:24 -0700)
Summary: Mostly this is `s/(Promise|Future|Try)<void>/\1<Unit>/`

Reviewed By: @djwatson

Differential Revision: D2201272

22 files changed:
folly/experimental/FutureDAG.h
folly/experimental/test/FutureDAGTest.cpp
folly/wangle/channel/AsyncSocketHandler.h
folly/wangle/channel/EventBaseHandler.h
folly/wangle/channel/FileRegion.h
folly/wangle/channel/Handler.h
folly/wangle/channel/HandlerContext-inl.h
folly/wangle/channel/HandlerContext.h
folly/wangle/channel/OutputBufferingHandler.h
folly/wangle/channel/Pipeline-inl.h
folly/wangle/channel/Pipeline.h
folly/wangle/channel/test/FileRegionTest.cpp
folly/wangle/channel/test/MockHandler.h
folly/wangle/channel/test/PipelineTest.cpp
folly/wangle/codec/CodecTest.cpp
folly/wangle/codec/LengthFieldPrepender.cpp
folly/wangle/codec/LengthFieldPrepender.h
folly/wangle/codec/StringCodec.h
folly/wangle/concurrent/FutureExecutor.h
folly/wangle/concurrent/test/ThreadPoolExecutorTest.cpp
folly/wangle/service/ClientDispatcher.h
folly/wangle/service/Service.h

index ebf20e84d304145b9418ba23eb6c1e8cda490c4e..c9ca715d5d05391ad17b130bd2c7a0281e2d9337 100644 (file)
@@ -27,7 +27,7 @@ class FutureDAG : public std::enable_shared_from_this<FutureDAG> {
   }
 
   typedef size_t Handle;
-  typedef std::function<Future<void>()> FutureFunc;
+  typedef std::function<Future<Unit>()> FutureFunc;
 
   Handle add(FutureFunc func, Executor* executor = nullptr) {
     nodes.emplace_back(std::move(func), executor);
@@ -39,9 +39,9 @@ class FutureDAG : public std::enable_shared_from_this<FutureDAG> {
     nodes[a].hasDependents = true;
   }
 
-  Future<void> go() {
+  Future<Unit> go() {
     if (hasCycle()) {
-      return makeFuture<void>(std::runtime_error("Cycle in FutureDAG graph"));
+      return makeFuture<Unit>(std::runtime_error("Cycle in FutureDAG graph"));
     }
     std::vector<Handle> rootNodes;
     std::vector<Handle> leafNodes;
@@ -54,7 +54,7 @@ class FutureDAG : public std::enable_shared_from_this<FutureDAG> {
       }
     }
 
-    auto sinkHandle = add([] { return Future<void>(); });
+    auto sinkHandle = add([] { return Future<Unit>(); });
     for (auto handle : leafNodes) {
       dependency(handle, sinkHandle);
     }
@@ -65,7 +65,7 @@ class FutureDAG : public std::enable_shared_from_this<FutureDAG> {
     }
 
     for (Handle handle = 0; handle < nodes.size() - 1; handle++) {
-      std::vector<Future<void>> dependencies;
+      std::vector<Future<Unit>> dependencies;
       for (auto depHandle : nodes[handle].dependencies) {
         dependencies.push_back(nodes[depHandle].promise.getFuture());
       }
@@ -74,7 +74,7 @@ class FutureDAG : public std::enable_shared_from_this<FutureDAG> {
         .via(nodes[handle].executor)
         .then([this, handle] {
           nodes[handle].func()
-            .then([this, handle] (Try<void>&& t) {
+            .then([this, handle] (Try<Unit>&& t) {
               nodes[handle].promise.setTry(std::move(t));
             });
         })
@@ -139,7 +139,7 @@ class FutureDAG : public std::enable_shared_from_this<FutureDAG> {
 
     FutureFunc func{nullptr};
     Executor* executor{nullptr};
-    SharedPromise<void> promise;
+    SharedPromise<Unit> promise;
     std::vector<Handle> dependencies;
     bool hasDependents{false};
     bool visited{false};
index 95dad8bae4a8551de4adc6160f0d8fecf37956d9..34fb614a5d128d7bb9d101742483b088c52007c9 100644 (file)
@@ -53,7 +53,7 @@ struct FutureDAGTest : public testing::Test {
     explicit TestNode(FutureDAGTest* test) {
       func = [this, test] {
         test->order.push_back(handle);
-        return Future<void>();
+        return Future<Unit>();
       };
       handle = test->dag->add(func);
     }
@@ -150,7 +150,7 @@ FutureDAG::FutureFunc makeFutureFunc = []{
 };
 
 FutureDAG::FutureFunc throwFunc = []{
-  return makeFuture<void>(std::runtime_error("oops"));
+  return makeFuture<Unit>(std::runtime_error("oops"));
 };
 
 TEST_F(FutureDAGTest, ThrowBegin) {
@@ -193,11 +193,11 @@ TEST_F(FutureDAGTest, Cycle3) {
 
 TEST_F(FutureDAGTest, DestroyBeforeComplete) {
   auto barrier = std::make_shared<boost::barrier>(2);
-  Future<void> f;
+  Future<Unit> f;
   {
     auto dag = FutureDAG::create();
     auto h1 = dag->add([barrier] {
-      auto p = std::make_shared<Promise<void>>();
+      auto p = std::make_shared<Promise<Unit>>();
       std::thread t([p, barrier]{
         barrier->wait();
         p->setValue();
index 267284940d358400d334972b7ae07a4f93ee3be8..76fb9888fc7baa783617cf1ea8e1ea881b539eb2 100644 (file)
@@ -78,7 +78,7 @@ class AsyncSocketHandler
     detachReadCallback();
   }
 
-  folly::Future<void> write(
+  folly::Future<Unit> write(
       Context* ctx,
       std::unique_ptr<folly::IOBuf> buf) override {
     if (UNLIKELY(!buf)) {
@@ -87,7 +87,7 @@ class AsyncSocketHandler
 
     if (!socket_->good()) {
       VLOG(5) << "socket is closed in write()";
-      return folly::makeFuture<void>(AsyncSocketException(
+      return folly::makeFuture<Unit>(AsyncSocketException(
           AsyncSocketException::AsyncSocketExceptionType::NOT_OPEN,
           "socket is closed in write()"));
     }
@@ -98,7 +98,7 @@ class AsyncSocketHandler
     return future;
   };
 
-  folly::Future<void> close(Context* ctx) override {
+  folly::Future<Unit> close(Context* ctx) override {
     if (socket_) {
       detachReadCallback();
       socket_->closeNow();
@@ -153,7 +153,7 @@ class AsyncSocketHandler
 
    private:
     friend class AsyncSocketHandler;
-    folly::Promise<void> promise_;
+    folly::Promise<Unit> promise_;
   };
 
   folly::IOBufQueue bufQueue_{folly::IOBufQueue::cacheChainLength()};
index 55290ded2845b48f6a6724464e8007e62f989669..d41c3c579a7491d08371298d184755c466cc2215 100644 (file)
@@ -19,10 +19,10 @@ namespace folly { namespace wangle {
 
 class EventBaseHandler : public OutboundBytesToBytesHandler {
  public:
-  folly::Future<void> write(
+  folly::Future<Unit> write(
       Context* ctx,
       std::unique_ptr<folly::IOBuf> buf) override {
-    folly::Future<void> retval;
+    folly::Future<Unit> retval;
     DCHECK(ctx->getTransport());
     DCHECK(ctx->getTransport()->getEventBase());
     ctx->getTransport()->getEventBase()->runImmediatelyOrRunInEventBaseThreadAndWait([&](){
@@ -31,10 +31,10 @@ class EventBaseHandler : public OutboundBytesToBytesHandler {
     return retval;
   }
 
-  Future<void> close(Context* ctx) override {
+  Future<Unit> close(Context* ctx) override {
     DCHECK(ctx->getTransport());
     DCHECK(ctx->getTransport()->getEventBase());
-    Future<void> retval;
+    Future<Unit> retval;
     ctx->getTransport()->getEventBase()->runImmediatelyOrRunInEventBaseThreadAndWait([&](){
         retval = ctx->fireClose();
     });
index 6360ae3589acd7a2adbda18bf4ace04490064a80..4d9506016be8f3aeb7b35e17d0f6dc8dc7b572a9 100644 (file)
@@ -30,7 +30,7 @@ class FileRegion {
   FileRegion(int fd, off_t offset, size_t count)
     : fd_(fd), offset_(offset), count_(count) {}
 
-  Future<void> transferTo(std::shared_ptr<AsyncTransport> transport) {
+  Future<Unit> transferTo(std::shared_ptr<AsyncTransport> transport) {
     auto socket = std::dynamic_pointer_cast<AsyncSocket>(
         transport);
     CHECK(socket);
@@ -56,7 +56,7 @@ class FileRegion {
     }
 
     friend class FileRegion;
-    folly::Promise<void> promise_;
+    folly::Promise<Unit> promise_;
   };
 
   const int fd_;
index d0b9edde3424eaabe7f7670ce6699bf76603b4a2..127ac97314648ec462fb092ab34109e8376eebaf 100644 (file)
@@ -71,8 +71,8 @@ class Handler : public HandlerBase<HandlerContext<Rout, Wout>> {
     ctx->fireTransportInactive();
   }
 
-  virtual Future<void> write(Context* ctx, Win msg) = 0;
-  virtual Future<void> close(Context* ctx) {
+  virtual Future<Unit> write(Context* ctx, Win msg) = 0;
+  virtual Future<Unit> close(Context* ctx) {
     return ctx->fireClose();
   }
 
@@ -89,15 +89,15 @@ class Handler : public HandlerBase<HandlerContext<Rout, Wout>> {
   virtual void channelWritabilityChanged(HandlerContext* ctx) {}
 
   // outbound
-  virtual Future<void> bind(
+  virtual Future<Unit> bind(
       HandlerContext* ctx,
       SocketAddress localAddress) {}
-  virtual Future<void> connect(
+  virtual Future<Unit> connect(
           HandlerContext* ctx,
           SocketAddress remoteAddress, SocketAddress localAddress) {}
-  virtual Future<void> disconnect(HandlerContext* ctx) {}
-  virtual Future<void> deregister(HandlerContext* ctx) {}
-  virtual Future<void> read(HandlerContext* ctx) {}
+  virtual Future<Unit> disconnect(HandlerContext* ctx) {}
+  virtual Future<Unit> deregister(HandlerContext* ctx) {}
+  virtual Future<Unit> read(HandlerContext* ctx) {}
   virtual void flush(HandlerContext* ctx) {}
   */
 };
@@ -141,8 +141,8 @@ class OutboundHandler : public HandlerBase<OutboundHandlerContext<Wout>> {
   typedef OutboundHandlerContext<Wout> Context;
   virtual ~OutboundHandler() = default;
 
-  virtual Future<void> write(Context* ctx, Win msg) = 0;
-  virtual Future<void> close(Context* ctx) {
+  virtual Future<Unit> write(Context* ctx, Win msg) = 0;
+  virtual Future<Unit> close(Context* ctx) {
     return ctx->fireClose();
   }
 };
@@ -156,7 +156,7 @@ class HandlerAdapter : public Handler<R, R, W, W> {
     ctx->fireRead(std::forward<R>(msg));
   }
 
-  Future<void> write(Context* ctx, W msg) override {
+  Future<Unit> write(Context* ctx, W msg) override {
     return ctx->fireWrite(std::forward<W>(msg));
   }
 };
index 6877f7defcfe9aa059dbe644a7e1ce3b341c766e..703b9cf34572be116dbb24bb2cf43172a1a6784d 100644 (file)
@@ -55,8 +55,8 @@ template <class Out>
 class OutboundLink {
  public:
   virtual ~OutboundLink() = default;
-  virtual Future<void> write(Out msg) = 0;
-  virtual Future<void> close() = 0;
+  virtual Future<Unit> write(Out msg) = 0;
+  virtual Future<Unit> close() = 0;
 };
 
 template <class H, class Context>
@@ -198,7 +198,7 @@ class ContextImpl
     }
   }
 
-  Future<void> fireWrite(Wout msg) override {
+  Future<Unit> fireWrite(Wout msg) override {
     DestructorGuard dg(this->pipeline_);
     if (this->nextOut_) {
       return this->nextOut_->write(std::forward<Wout>(msg));
@@ -208,7 +208,7 @@ class ContextImpl
     }
   }
 
-  Future<void> fireClose() override {
+  Future<Unit> fireClose() override {
     DestructorGuard dg(this->pipeline_);
     if (this->nextOut_) {
       return this->nextOut_->close();
@@ -267,12 +267,12 @@ class ContextImpl
   }
 
   // OutboundLink overrides
-  Future<void> write(Win msg) override {
+  Future<Unit> write(Win msg) override {
     DestructorGuard dg(this->pipeline_);
     return this->handler_->write(this, std::forward<Win>(msg));
   }
 
-  Future<void> close() override {
+  Future<Unit> close() override {
     DestructorGuard dg(this->pipeline_);
     return this->handler_->close(this);
   }
@@ -410,7 +410,7 @@ class OutboundContextImpl
   ~OutboundContextImpl() = default;
 
   // OutboundHandlerContext overrides
-  Future<void> fireWrite(Wout msg) override {
+  Future<Unit> fireWrite(Wout msg) override {
     DestructorGuard dg(this->pipeline_);
     if (this->nextOut_) {
       return this->nextOut_->write(std::forward<Wout>(msg));
@@ -420,7 +420,7 @@ class OutboundContextImpl
     }
   }
 
-  Future<void> fireClose() override {
+  Future<Unit> fireClose() override {
     DestructorGuard dg(this->pipeline_);
     if (this->nextOut_) {
       return this->nextOut_->close();
@@ -435,12 +435,12 @@ class OutboundContextImpl
   }
 
   // OutboundLink overrides
-  Future<void> write(Win msg) override {
+  Future<Unit> write(Win msg) override {
     DestructorGuard dg(this->pipeline_);
     return this->handler_->write(this, std::forward<Win>(msg));
   }
 
-  Future<void> close() override {
+  Future<Unit> close() override {
     DestructorGuard dg(this->pipeline_);
     return this->handler_->close(this);
   }
index 69a37f4b250924a2b2f0e88fd1cc322b07e0522e..0b9af759c9634d92661c8e11809888f514cec713 100644 (file)
@@ -35,8 +35,8 @@ class HandlerContext {
   virtual void fireTransportActive() = 0;
   virtual void fireTransportInactive() = 0;
 
-  virtual Future<void> fireWrite(Out msg) = 0;
-  virtual Future<void> fireClose() = 0;
+  virtual Future<Unit> fireWrite(Out msg) = 0;
+  virtual Future<Unit> fireClose() = 0;
 
   virtual PipelineBase* getPipeline() = 0;
   std::shared_ptr<AsyncTransport> getTransport() {
@@ -88,8 +88,8 @@ class OutboundHandlerContext {
  public:
   virtual ~OutboundHandlerContext() = default;
 
-  virtual Future<void> fireWrite(Out msg) = 0;
-  virtual Future<void> fireClose() = 0;
+  virtual Future<Unit> fireWrite(Out msg) = 0;
+  virtual Future<Unit> fireClose() = 0;
 
   virtual PipelineBase* getPipeline() = 0;
   std::shared_ptr<AsyncTransport> getTransport() {
index d712b8a0a11c1c2c7e561969b56dcbee937e0d4e..86a93299b5f36b241ed6b9922b9509a4c416e11f 100644 (file)
@@ -34,7 +34,7 @@ namespace folly { namespace wangle {
 class OutputBufferingHandler : public OutboundBytesToBytesHandler,
                                protected EventBase::LoopCallback {
  public:
-  Future<void> write(Context* ctx, std::unique_ptr<IOBuf> buf) override {
+  Future<Unit> write(Context* ctx, std::unique_ptr<IOBuf> buf) override {
     CHECK(buf);
     if (!queueSends_) {
       return ctx->fireWrite(std::move(buf));
@@ -54,15 +54,15 @@ class OutputBufferingHandler : public OutboundBytesToBytesHandler,
   }
 
   void runLoopCallback() noexcept override {
-    MoveWrapper<SharedPromise<void>> sharedPromise;
+    MoveWrapper<SharedPromise<Unit>> sharedPromise;
     std::swap(*sharedPromise, sharedPromise_);
     getContext()->fireWrite(std::move(sends_))
-      .then([sharedPromise](Try<void> t) mutable {
+      .then([sharedPromise](Try<Unit> t) mutable {
         sharedPromise->setTry(std::move(t));
       });
   }
 
-  Future<void> close(Context* ctx) override {
+  Future<Unit> close(Context* ctx) override {
     if (isLoopCallbackScheduled()) {
       cancelLoopCallback();
     }
@@ -72,11 +72,11 @@ class OutputBufferingHandler : public OutboundBytesToBytesHandler,
       folly::make_exception_wrapper<std::runtime_error>(
         "close() called while sends still pending"));
     sends_.reset();
-    sharedPromise_ = SharedPromise<void>();
+    sharedPromise_ = SharedPromise<Unit>();
     return ctx->fireClose();
   }
 
-  SharedPromise<void> sharedPromise_;
+  SharedPromise<Unit> sharedPromise_;
   std::unique_ptr<IOBuf> sends_{nullptr};
   bool queueSends_{true};
 };
index 64096a145010177b7e63e7a20e5b5922d69a7835..2ef6745be49aff811659f06823b6e63fce5c1a55 100644 (file)
@@ -204,7 +204,7 @@ Pipeline<R, W>::readException(exception_wrapper e) {
 
 template <class R, class W>
 template <class T>
-typename std::enable_if<!std::is_same<T, Unit>::value, Future<void>>::type
+typename std::enable_if<!std::is_same<T, Unit>::value, Future<Unit>>::type
 Pipeline<R, W>::write(W msg) {
   if (!back_) {
     throw std::invalid_argument("write(): no outbound handler in Pipeline");
@@ -214,7 +214,7 @@ Pipeline<R, W>::write(W msg) {
 
 template <class R, class W>
 template <class T>
-typename std::enable_if<!std::is_same<T, Unit>::value, Future<void>>::type
+typename std::enable_if<!std::is_same<T, Unit>::value, Future<Unit>>::type
 Pipeline<R, W>::close() {
   if (!back_) {
     throw std::invalid_argument("close(): no outbound handler in Pipeline");
index 0a81be99cadf66b6c92dfb098a53aef385861885..09977ed77fb5a7cf2d5f9e827c48528461f6c40f 100644 (file)
@@ -168,11 +168,11 @@ class Pipeline : public PipelineBase {
   transportInactive();
 
   template <class T = W>
-  typename std::enable_if<!std::is_same<T, Unit>::value, Future<void>>::type
+  typename std::enable_if<!std::is_same<T, Unit>::value, Future<Unit>>::type
   write(W msg);
 
   template <class T = W>
-  typename std::enable_if<!std::is_same<T, Unit>::value, Future<void>>::type
+  typename std::enable_if<!std::is_same<T, Unit>::value, Future<Unit>>::type
   close();
 
   void finalize() override;
index 965743dd9882694b309d5eb8936cc9635e3114e2..2a377dd698b637191915dc3732137b53799a3e75 100644 (file)
@@ -89,7 +89,7 @@ TEST_F(FileRegionTest, Repeated) {
   int sendCount = 1000;
 
   FileRegion fileRegion(fd, 0, count);
-  std::vector<Future<void>> fs;
+  std::vector<Future<Unit>> fs;
   for (int i = 0; i < sendCount; i++) {
     fs.push_back(fileRegion.transferTo(socket));
   }
index eb5f44ced434b5031f99a93f72411e8da3d8ea26..39a2579667f6bfb59e93a0b8d8179d672dcd9044 100644 (file)
@@ -45,13 +45,13 @@ class MockHandler : public Handler<Rin, Rout, Win, Wout> {
     read_(ctx, msg);
   }
 
-  Future<void> write(Context* ctx, Win msg) override {
+  Future<Unit> write(Context* ctx, Win msg) override {
     return makeFutureWith([&](){
       write_(ctx, msg);
     });
   }
 
-  Future<void> close(Context* ctx) override {
+  Future<Unit> close(Context* ctx) override {
     return makeFutureWith([&](){
       close_(ctx);
     });
index 84a25584b6d08c05e6cdc6f34c61975fbf6e64a8..4777b08c60a81e9255a6c4e602106e64a9234de3 100644 (file)
@@ -266,7 +266,7 @@ class ConcreteHandler : public Handler<Rin, Rout, Win, Wout> {
   typedef typename Handler<Rin, Rout, Win, Wout>::Context Context;
  public:
   void read(Context* ctx, Rin msg) override {}
-  Future<void> write(Context* ctx, Win msg) override { return makeFuture(); }
+  Future<Unit> write(Context* ctx, Win msg) override { return makeFuture(); }
 };
 
 typedef HandlerAdapter<std::string, std::string> StringHandler;
index 25ff2fea49b7aa339c333cb1fb904652118b80d2..5a50a0c94858f6f740915edfe9a95659b574c57e 100644 (file)
@@ -44,7 +44,7 @@ class FrameTester
 class BytesReflector
     : public BytesToBytesHandler {
  public:
-  Future<void> write(Context* ctx, std::unique_ptr<IOBuf> buf) override {
+  Future<Unit> write(Context* ctx, std::unique_ptr<IOBuf> buf) override {
     IOBufQueue q_(IOBufQueue::cacheChainLength());
     q_.append(std::move(buf));
     ctx->fireRead(q_);
index 88238e0863b309f34e7476cf9c2c064f34e8f1ac..0a8111446ebd18c4d7cb470ac5910e66f2e6efbc 100644 (file)
@@ -32,7 +32,7 @@ LengthFieldPrepender::LengthFieldPrepender(
           lengthFieldLength == 8 );
   }
 
-Future<void> LengthFieldPrepender::write(
+Future<Unit> LengthFieldPrepender::write(
     Context* ctx, std::unique_ptr<IOBuf> buf) {
   int length = lengthAdjustment_ + buf->computeChainDataLength();
   if (lengthIncludesLengthField_) {
index d2e1d37bf5224ecef22fce845a9194fb17aaf92f..8d14444ebfc21ce047a37cee3ed2d93abf6d3373 100644 (file)
@@ -55,7 +55,7 @@ class LengthFieldPrepender
     bool lengthIncludesLengthField = false,
     bool networkByteOrder = true);
 
-  Future<void> write(Context* ctx, std::unique_ptr<IOBuf> buf);
+  Future<Unit> write(Context* ctx, std::unique_ptr<IOBuf> buf);
 
  private:
   int lengthFieldLength_;
index cbe0e843b25c722d2da0a3923107fa02b012eec4..0f53a980600231be23901ecc37195a5e7de06102 100644 (file)
@@ -37,7 +37,7 @@ class StringCodec : public Handler<std::unique_ptr<IOBuf>, std::string,
     ctx->fireRead(data);
   }
 
-  Future<void> write(Context* ctx, std::string msg) override {
+  Future<Unit> write(Context* ctx, std::string msg) override {
     auto buf = IOBuf::copyBuffer(msg.data(), msg.length());
     return ctx->fireWrite(std::move(buf));
   }
index cbf4123a92db710b0fe15e59ef9e90ab95534657..c9998108c541e46f0ab43d1eb98d8a5ad9615495 100644 (file)
@@ -62,9 +62,9 @@ class FutureExecutor : public ExecutorImpl {
    */
   template <typename F>
   typename std::enable_if<!isFuture<typename std::result_of<F()>::type>::value,
-                          Future<typename std::result_of<F()>::type>>::type
+                          Future<typename Unit::Lift<typename std::result_of<F()>::type>::type>>::type
   addFuture(F func) {
-    typedef typename std::result_of<F()>::type T;
+    using T = typename Unit::Lift<typename std::result_of<F()>::type>::type;
     Promise<T> promise;
     auto future = promise.getFuture();
     auto movePromise = folly::makeMoveWrapper(std::move(promise));
index 59c28c01c42d547e318ba599e41871fdfcb68178..c12834d7584799484608c882b5bb68f0570f0ad3 100644 (file)
@@ -255,17 +255,17 @@ static void futureExecutor() {
       EXPECT_EQ(100, t.value());
     });
   fe.addFuture([] () { return makeFuture(); }).then(
-    [&] (Try<void>&& t) {
+    [&] (Try<Unit>&& t) {
       c++;
       EXPECT_NO_THROW(t.value());
     });
   fe.addFuture([] () { return; }).then(
-    [&] (Try<void>&& t) {
+    [&] (Try<Unit>&& t) {
       c++;
       EXPECT_NO_THROW(t.value());
     });
   fe.addFuture([] () { throw std::runtime_error("oops"); }).then(
-    [&] (Try<void>&& t) {
+    [&] (Try<Unit>&& t) {
       c++;
       EXPECT_THROW(t.value(), std::runtime_error);
     });
index 66f24cc99c7553d40ec34d16c5a663375b70150e..f6807d2598ddbb24ad614418c87f89b829c434a6 100644 (file)
@@ -68,11 +68,11 @@ class SerialClientDispatcher : public HandlerAdapter<Req, Resp>
     return f;
   }
 
-  virtual Future<void> close() override {
+  virtual Future<Unit> close() override {
     return HandlerAdapter<Req, Resp>::close(nullptr);
   }
 
-  virtual Future<void> close(Context* ctx) override {
+  virtual Future<Unit> close(Context* ctx) override {
     return HandlerAdapter<Req, Resp>::close(ctx);
   }
 
index 7874e19830bcd5c8092f6a59a462449a654a4ad2..a2946fc2f749f7549a9cb088ad86c551fc99fa63 100644 (file)
@@ -34,7 +34,7 @@ class Service {
  public:
   virtual Future<Resp> operator()(Req request) = 0;
   virtual ~Service() = default;
-  virtual Future<void> close() {
+  virtual Future<Unit> close() {
     return makeFuture();
   }
   virtual bool isAvailable() {
@@ -69,7 +69,7 @@ class ServiceFilter : public Service<ReqA, RespA> {
       : service_(service) {}
   virtual ~ServiceFilter() = default;
 
-  virtual Future<void> close() override {
+  virtual Future<Unit> close() override {
     return service_->close();
   }