From 668192ca7476ebc5a858056ca9598a3fc2eb2240 Mon Sep 17 00:00:00 2001 From: Hans Fugal Date: Wed, 1 Jul 2015 10:24:18 -0700 Subject: [PATCH] make it really clear that wangle/rx is deprecated Summary: More people are starting to use Rx. Yay! But they're trying to use `wangle/rx`. So make sure there's no doubt about its deprecated status. Reviewed By: @yfeldblum Differential Revision: D2196273 --- folly/Makefile.am | 10 ++++----- folly/wangle/concurrent/ThreadPoolExecutor.h | 2 +- folly/wangle/{ => deprecated}/rx/Dummy.cpp | 0 folly/wangle/{ => deprecated}/rx/Observable.h | 6 +++--- folly/wangle/{ => deprecated}/rx/Observer.h | 2 +- folly/wangle/{ => deprecated}/rx/README.md | 21 ++++++++++--------- folly/wangle/{ => deprecated}/rx/Subject.h | 6 +++--- .../wangle/{ => deprecated}/rx/Subscription.h | 4 ++-- .../{ => deprecated}/rx/test/RxBenchmark.cpp | 4 ++-- .../{ => deprecated}/rx/test/RxTest.cpp | 4 ++-- folly/wangle/{ => deprecated}/rx/types.h | 0 11 files changed, 30 insertions(+), 29 deletions(-) rename folly/wangle/{ => deprecated}/rx/Dummy.cpp (100%) rename folly/wangle/{ => deprecated}/rx/Observable.h (98%) rename folly/wangle/{ => deprecated}/rx/Observer.h (98%) rename folly/wangle/{ => deprecated}/rx/README.md (66%) rename folly/wangle/{ => deprecated}/rx/Subject.h (88%) rename folly/wangle/{ => deprecated}/rx/Subscription.h (93%) rename folly/wangle/{ => deprecated}/rx/test/RxBenchmark.cpp (97%) rename folly/wangle/{ => deprecated}/rx/test/RxTest.cpp (98%) rename folly/wangle/{ => deprecated}/rx/types.h (100%) diff --git a/folly/Makefile.am b/folly/Makefile.am index c8e14e61..d85c052d 100644 --- a/folly/Makefile.am +++ b/folly/Makefile.am @@ -308,11 +308,11 @@ nobase_follyinclude_HEADERS = \ wangle/concurrent/NamedThreadFactory.h \ wangle/concurrent/ThreadFactory.h \ wangle/concurrent/ThreadPoolExecutor.h \ - wangle/rx/Observable.h \ - wangle/rx/Observer.h \ - wangle/rx/Subject.h \ - wangle/rx/Subscription.h \ - wangle/rx/types.h \ + wangle/deprecated/rx/Observable.h \ + wangle/deprecated/rx/Observer.h \ + wangle/deprecated/rx/Subject.h \ + wangle/deprecated/rx/Subscription.h \ + wangle/deprecated/rx/types.h \ wangle/ssl/ClientHelloExtStats.h \ wangle/ssl/DHParam.h \ wangle/ssl/PasswordInFile.h \ diff --git a/folly/wangle/concurrent/ThreadPoolExecutor.h b/folly/wangle/concurrent/ThreadPoolExecutor.h index bb77d39c..70a5375f 100644 --- a/folly/wangle/concurrent/ThreadPoolExecutor.h +++ b/folly/wangle/concurrent/ThreadPoolExecutor.h @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/folly/wangle/rx/Dummy.cpp b/folly/wangle/deprecated/rx/Dummy.cpp similarity index 100% rename from folly/wangle/rx/Dummy.cpp rename to folly/wangle/deprecated/rx/Dummy.cpp diff --git a/folly/wangle/rx/Observable.h b/folly/wangle/deprecated/rx/Observable.h similarity index 98% rename from folly/wangle/rx/Observable.h rename to folly/wangle/deprecated/rx/Observable.h index 95b60bfc..bae27a0b 100644 --- a/folly/wangle/rx/Observable.h +++ b/folly/wangle/deprecated/rx/Observable.h @@ -16,9 +16,9 @@ #pragma once -#include // must come first -#include -#include +#include // must come first +#include +#include #include #include diff --git a/folly/wangle/rx/Observer.h b/folly/wangle/deprecated/rx/Observer.h similarity index 98% rename from folly/wangle/rx/Observer.h rename to folly/wangle/deprecated/rx/Observer.h index 5797a0c1..b671a7e4 100644 --- a/folly/wangle/rx/Observer.h +++ b/folly/wangle/deprecated/rx/Observer.h @@ -16,7 +16,7 @@ #pragma once -#include // must come first +#include // must come first #include #include #include diff --git a/folly/wangle/rx/README.md b/folly/wangle/deprecated/rx/README.md similarity index 66% rename from folly/wangle/rx/README.md rename to folly/wangle/deprecated/rx/README.md index 8c31ae00..ae9614f9 100644 --- a/folly/wangle/rx/README.md +++ b/folly/wangle/deprecated/rx/README.md @@ -13,16 +13,11 @@ It is basically the plural of Futures (a la Wangle). For more on Rx, I recommend these resources: -- Netflix blog post (RxJava): http://techblog.netflix.com/2013/02/rxjava-netflix-api.html -- Introduction to Rx eBook (C#): http://www.introtorx.com/content/v1.0.10621.0/01_WhyRx.html -- The RxJava wiki: https://github.com/Netflix/RxJava/wiki -- Netflix QCon presentation: http://www.infoq.com/presentations/netflix-functional-rx -- https://rx.codeplex.com/ - -There are open source C++ implementations, I haven't looked at them. They -might be the best way to go rather than writing it NIH-style. I mostly did it -as an exercise, to think through how closely we might want to integrate -something like this with Wangle, and to get a feel for how it works in C++. +Netflix blog post (RxJava): http://techblog.netflix.com/2013/02/rxjava-netflix-api.html +Introduction to Rx eBook (C#): http://www.introtorx.com/content/v1.0.10621.0/01_WhyRx.html +The RxJava wiki: https://github.com/Netflix/RxJava/wiki +Netflix QCon presentation: http://www.infoq.com/presentations/netflix-functional-rx +https://rx.codeplex.com/ I haven't even tried to support move-only data in this version. I'm on the fence about the usage of shared_ptr. Subject is underdeveloped. A whole rich @@ -34,3 +29,9 @@ probably riddled with lifetime corner case bugs that will come out like a swarm of angry bees as soon as someone tries an infinite sequence, or tries to partially observe a long sequence. I'm pretty sure subscribeOn has a bug that I haven't tracked down yet. + +DEPRECATED: +This was an experimental exploration. There are better, more robust, and (most +importantly) supported C++ implementations, notably +[rxcpp](https://rxcpp.codeplex.com/). Use that instead. You really shouldn't +use this one. It's unsupported and incomplete. Honest. diff --git a/folly/wangle/rx/Subject.h b/folly/wangle/deprecated/rx/Subject.h similarity index 88% rename from folly/wangle/rx/Subject.h rename to folly/wangle/deprecated/rx/Subject.h index c806d705..08b79012 100644 --- a/folly/wangle/rx/Subject.h +++ b/folly/wangle/deprecated/rx/Subject.h @@ -16,9 +16,9 @@ #pragma once -#include // must come first -#include -#include +#include // must come first +#include +#include namespace folly { namespace wangle { diff --git a/folly/wangle/rx/Subscription.h b/folly/wangle/deprecated/rx/Subscription.h similarity index 93% rename from folly/wangle/rx/Subscription.h rename to folly/wangle/deprecated/rx/Subscription.h index 09af8c9d..de8e2354 100644 --- a/folly/wangle/rx/Subscription.h +++ b/folly/wangle/deprecated/rx/Subscription.h @@ -16,8 +16,8 @@ #pragma once -#include // must come first -#include +#include // must come first +#include namespace folly { namespace wangle { diff --git a/folly/wangle/rx/test/RxBenchmark.cpp b/folly/wangle/deprecated/rx/test/RxBenchmark.cpp similarity index 97% rename from folly/wangle/rx/test/RxBenchmark.cpp rename to folly/wangle/deprecated/rx/test/RxBenchmark.cpp index 4e174942..88e9e1b2 100644 --- a/folly/wangle/rx/test/RxBenchmark.cpp +++ b/folly/wangle/deprecated/rx/test/RxBenchmark.cpp @@ -15,8 +15,8 @@ */ #include -#include -#include +#include +#include #include using namespace folly::wangle; diff --git a/folly/wangle/rx/test/RxTest.cpp b/folly/wangle/deprecated/rx/test/RxTest.cpp similarity index 98% rename from folly/wangle/rx/test/RxTest.cpp rename to folly/wangle/deprecated/rx/test/RxTest.cpp index 012a8c2f..e75ddde7 100644 --- a/folly/wangle/rx/test/RxTest.cpp +++ b/folly/wangle/deprecated/rx/test/RxTest.cpp @@ -14,8 +14,8 @@ * limitations under the License. */ -#include -#include +#include +#include #include using namespace folly::wangle; diff --git a/folly/wangle/rx/types.h b/folly/wangle/deprecated/rx/types.h similarity index 100% rename from folly/wangle/rx/types.h rename to folly/wangle/deprecated/rx/types.h -- 2.34.1