FlipperWebSocket

Summary:
Contains the implementation of FlipperWebSocket with any necessary changes to use it but without switching it on.

About SocketRocket and Cocoapods

A decision had to be made about whether to define different sub-specs, one for RSocket and another for SocketRocket.

I've opted to keep the podspec as is because:
- Keeps pod consumption as is.
- Makes easier to switch implementations using GK.
- There's no intention to keep RSocket going into the future. So, there's no point in creating a sub-spec only to remove it in the future.
- SocketRocket is a relatively small library so is not contributing to a significant increase in binary size.

If, as reviewer, you consider a subspec makes more sense, then feel free to reach out to discuss.

Reviewed By: fabiomassimo

Differential Revision: D30371791

fbshipit-source-id: 225c5b1de76aff1a6e36640a41765b963aaa2796
This commit is contained in:
Lorenzo Blasa
2021-08-26 09:01:17 -07:00
committed by Facebook GitHub Bot
parent 23682f914f
commit cac09d14aa
10 changed files with 650 additions and 33 deletions

View File

@@ -10,12 +10,14 @@
#import "FlipperClient.h"
#import <Flipper/FlipperCertificateProvider.h>
#import <Flipper/FlipperClient.h>
#import <Flipper/FlipperSocketProvider.h>
#include <folly/io/async/EventBase.h>
#include <folly/io/async/ScopedEventBaseThread.h>
#include <memory>
#import "FlipperClient+Testing.h"
#import "FlipperCppWrapperPlugin.h"
#import "FlipperKitCertificateProvider.h"
#import "FlipperWebSocket.h"
#import "SKEnvironmentVariables.h"
#include "SKStateUpdateCPPWrapper.h"
@@ -101,6 +103,11 @@ using WrapperPlugin = facebook::flipper::FlipperCppWrapperPlugin;
[SKEnvironmentVariables getInsecurePort],
[SKEnvironmentVariables getSecurePort]});
_cppClient = facebook::flipper::FlipperClient::instance();
// To switch to a websocket provider, uncomment the line below.
// facebook::flipper::FlipperSocketProvider::setDefaultProvider(
// std::make_unique<facebook::flipper::FlipperWebSocketProvider>());
} catch (const std::system_error& e) {
// Probably ran out of disk space.
return nil;