Files
flipper/xplat/Flipper/FireAndForgetBasedFlipperResponder.h
Andrey Goncharov 342bb2bd55 Remove legacy notice for FireAndForgetResponder
Summary:
Quoting lblasa:
History trip:
- It was used at the beginning of times with RSocket.
- RSocket introduced an RPC mechanism so a new responder was introduced which used it, thus making this responder legacy.
- WebSockets is introduced which doesn't have an RPC mechanism by default so this responder became the new non-legacy responder

Reviewed By: lblasa

Differential Revision: D37994288

fbshipit-source-id: 2458aed129058a5bfaafd607e73c52867d9713cf
2022-07-20 06:47:02 -07:00

53 lines
1.4 KiB
C++

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <folly/json.h>
#include "FlipperConnectionManager.h"
#include "FlipperResponder.h"
namespace facebook {
namespace flipper {
class FireAndForgetBasedFlipperResponder : public FlipperResponder {
public:
FireAndForgetBasedFlipperResponder(
FlipperConnectionManager* socket,
int64_t responseID)
: socket_(socket), responseID_(responseID), idValid_(true) {}
FireAndForgetBasedFlipperResponder(FlipperConnectionManager* socket)
: socket_(socket), idValid_(false) {}
void success(const folly::dynamic& response) override {
const folly::dynamic message = idValid_
? folly::dynamic::object("id", responseID_)("success", response)
: folly::dynamic::object("success", response);
socket_->sendMessage(message);
}
void error(const folly::dynamic& response) override {
const folly::dynamic message = idValid_
? folly::dynamic::object("id", responseID_)("error", response)
: folly::dynamic::object("error", response);
socket_->sendMessage(message);
}
bool hasId() const {
return idValid_;
}
private:
FlipperConnectionManager* socket_;
int64_t responseID_;
bool idValid_;
};
} // namespace flipper
} // namespace facebook