mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-21 13:44:15 +08:00
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/59206 Reland of https://github.com/pytorch/pytorch/pull/58423 This is part 2 of the previous PR. Here we address the remaining occurrences of "raw" Message, namely the ones within toMessageImpl. And since they're the last ones, we make the constructor of Message private, to prevent new usages from emerging. ghstack-source-id: 130202848 Test Plan: CI Reviewed By: mrshenli Differential Revision: D28623892 fbshipit-source-id: f815cf6b93e488c118e5d2298473e6e9d9f4c132
33 lines
790 B
C++
33 lines
790 B
C++
#pragma once
|
|
|
|
#include <torch/csrc/distributed/rpc/rpc_command_base.h>
|
|
#include <torch/csrc/distributed/rpc/types.h>
|
|
|
|
namespace torch {
|
|
namespace distributed {
|
|
namespace rpc {
|
|
|
|
// RPC call representing calling a Python function over RPC.
|
|
class TORCH_API PythonCall final : public RpcCommandBase {
|
|
public:
|
|
PythonCall(SerializedPyObj&& serializedPyObj, bool isAsyncExecution);
|
|
|
|
c10::intrusive_ptr<Message> toMessageImpl() && override;
|
|
|
|
static std::unique_ptr<PythonCall> fromMessage(const Message& message);
|
|
|
|
const SerializedPyObj& serializedPyObj() const;
|
|
|
|
inline bool isAsyncExecution() const {
|
|
return isAsyncExecution_;
|
|
}
|
|
|
|
private:
|
|
SerializedPyObj serializedPyObj_;
|
|
const bool isAsyncExecution_;
|
|
};
|
|
|
|
} // namespace rpc
|
|
} // namespace distributed
|
|
} // namespace torch
|