From ac6751e607e4a0fbe2d13cecddf0ae3136077a43 Mon Sep 17 00:00:00 2001 From: Christopher Dykes Date: Tue, 20 Jun 2017 10:11:42 -0700 Subject: [PATCH] Delete folly/futures/OpaqueCallbackShunt.h Summary: It is not used anywhere, not even in tests, so kill it. Reviewed By: yfeldblum Differential Revision: D5280800 fbshipit-source-id: 7e6a308bf09198548b77dcc1bfacc0ee95eb4887 --- folly/Makefile.am | 1 - folly/futures/OpaqueCallbackShunt.h | 57 ----------------------------- 2 files changed, 58 deletions(-) delete mode 100644 folly/futures/OpaqueCallbackShunt.h diff --git a/folly/Makefile.am b/folly/Makefile.am index 37d47db4..e02841a4 100644 --- a/folly/Makefile.am +++ b/folly/Makefile.am @@ -195,7 +195,6 @@ nobase_follyinclude_HEADERS = \ futures/FutureSplitter.h \ futures/InlineExecutor.h \ futures/ManualExecutor.h \ - futures/OpaqueCallbackShunt.h \ futures/Promise-inl.h \ futures/Promise.h \ futures/QueuedImmediateExecutor.h \ diff --git a/folly/futures/OpaqueCallbackShunt.h b/folly/futures/OpaqueCallbackShunt.h deleted file mode 100644 index 81fa04f6..00000000 --- a/folly/futures/OpaqueCallbackShunt.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2017 Facebook, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include - -namespace folly { - -/// These classes help you wrap an existing C style callback function -/// into a Future. -/// -/// void legacy_send_async(..., void (*cb)(void*), void*); -/// -/// Future wrappedSendAsync(T&& obj) { -/// auto handle = new OpaqueCallbackShunt(obj); -/// auto future = handle->promise_.getFuture(); -/// legacy_send_async(..., OpaqueCallbackShunt::callback, handle) -/// return future; -/// } -/// -/// If the legacy function doesn't conform to void (*cb)(void*), use a lambda: -/// -/// auto cb = [](t1*, t2*, void* arg) { -/// OpaqueCallbackShunt::callback(arg); -/// }; -/// legacy_send_async(..., cb, handle); - -template -class OpaqueCallbackShunt { -public: - explicit OpaqueCallbackShunt(T&& obj) - : obj_(std::move(obj)) { } - static void callback(void* arg) { - std::unique_ptr> handle( - static_cast*>(arg)); - handle->promise_.setValue(std::move(handle->obj_)); - } - folly::Promise promise_; -private: - T obj_; -}; - -} // folly -- 2.34.1