modelbox::ExternalDataMap

函数 作用
CreateBufferList 创建BufferList
Send 发送BufferList给流程图的输入
Recv 接收当前流程图处理结果的BufferList
Close 关闭当前ExternalDataMap对象,等待数据完全处理完成
Shutdown 强制关闭当前ExternalDataMap对象,无论数据是否处理完成
SetOutputMeta 设置当前对象输入端口的DataMeta值

CreateBufferList

创建BufferList

    std::shared_ptr<BufferList> CreateBufferList()

args:

return:

modelbox::BufferList 创建存储数据的BufferList

Send

发送BufferList给流程图的输入

    Status Send(const std::string& port_name,
              std::shared_ptr<BufferList> buffer_list)

args:

  • port_name (string) —— 发送数据的目标端口名字
  • buffer_list (modelbox::BufferList) —— 发送的数据

return:

modelbox::Status 发送数据的状态

Recv

接收当前流程图处理结果的BufferList

    using OutputBufferList = std::unordered_map<std::string, std::shared_ptr<BufferList>>;
    Status Recv(OutputBufferList& map_buffer_list, int32_t timeout = 0)

args:

  • map_buffer_list (OutputBufferList) —— 接收数据的数据结构对象
  • timeout (int32_t) —— 超时的时间

return:

modelbox::Status 接收给当前flow对象的BufferList的状态

Close

关闭当前ExternalDataMap对象,等待数据完全处理完成

    Status Close()

args:

return:

modelbox::Status 关闭当前ExternalDataMap对象的状态

Shutdown

强制关闭当前ExternalDataMap对象

    Status Shutdown()

args:

return:

modelbox::Status 强制关闭当前ExternalDataMap对象的状态

SetOutputMeta

设置当前对象输入端口的DataMeta值

     Status SetOutputMeta(const std::string& port_name,
                       std::shared_ptr<DataMeta> meta)

args:

  • port_name (string) —— 设置meta的目标端口名字
  • meta (modelbox::DataMeta) —— 设置的数据meta

return:

modelbox::Status 设置当前对象输入端口的DataMeta的状态

example:

    #include <modelbox/flow.h>

    int main() {
        auto flow = std::make_shared<Flow>();
        auto external_map = flow->CreateExternalDataMap();
        auto buffer_list = external_map->CreateBufferList();
        auto data_meta = std::make_shared<DataMeta>()
        data_meta->SetMeta("key", "value");
        external_map->SetOutputMeta("input1", data_meta);

        // build buffer
        ...

        auto status = external_map->Send("input1", buffer_list);
        extern_data->Close();

        OutputBufferList map_buffer_list;
        status = extern_data->Recv(map_buffer_list);

        // or shutdown
        extern_data->ShutDown();
        return 0;
    }
©2022 ModelBox Team all right reserved,powered by Gitbook文件修订时间: 2022-11-18 01:21:29

results matching ""

    No results matching ""