mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Follows #131671 Pull Request resolved: https://github.com/pytorch/pytorch/pull/136439 Approved by: https://github.com/kwen2501
30 lines
811 B
C++
30 lines
811 B
C++
#pragma once
|
|
|
|
#include <torch/csrc/distributed/rpc/rpc_command_base.h>
|
|
#include <torch/csrc/distributed/rpc/types.h>
|
|
|
|
namespace torch::distributed::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_;
|
|
// NOLINTNEXTLINE(cppcoreguidelines-avoid-const-or-ref-data-members)
|
|
const bool isAsyncExecution_;
|
|
};
|
|
|
|
} // namespace torch::distributed::rpc
|