↰ Return to documentation for file (morpheus/_lib/include/morpheus/messages/multi_response.hpp
)
#pragma once
#include "morpheus/messages/memory/response_memory.hpp"
#include "morpheus/messages/meta.hpp"
#include "morpheus/messages/multi.hpp"
#include "morpheus/messages/multi_tensor.hpp"
#include "morpheus/objects/tensor_object.hpp"
#include <cudf/types.hpp>
#include <pybind11/pytypes.h>
#include <cstddef>
#include <memory>
#include <string>
#include <utility>// for pair
#include <vector>
namespace morpheus {
/****** Component public implementations *******************/
/****** MultiResponseMessage****************************************/
#pragma GCC visibility push(default)
class MultiResponseMessage : public DerivedMultiMessage<MultiResponseMessage, MultiTensorMessage>
{
public:
MultiResponseMessage(const MultiResponseMessage &other) = default;
MultiResponseMessage(std::shared_ptr<MessageMeta> meta,
std::size_t mess_offset,
std::size_t mess_count,
std::shared_ptr<ResponseMemory> memory,
std::size_t offset,
std::size_t count);
const TensorObject get_output(const std::string &name) const;
TensorObject get_output(const std::string &name);
void set_output(const std::string &name, const TensorObject &value);
};
/****** MultiResponseMessageInterfaceProxy *************************/
struct MultiResponseMessageInterfaceProxy
{
static std::shared_ptr<MultiResponseMessage> init(std::shared_ptr<MessageMeta> meta,
cudf::size_type mess_offset,
cudf::size_type mess_count,
std::shared_ptr<ResponseMemory> memory,
cudf::size_type offset,
cudf::size_type count);
static std::shared_ptr<ResponseMemory> memory(MultiResponseMessage &self);
static std::size_t offset(MultiResponseMessage &self);
static std::size_t count(MultiResponseMessage &self);
static pybind11::object get_output(MultiResponseMessage &self, const std::string &name);
};
#pragma GCC visibility pop// end of group
} // namespace morpheus