REGISTER_METHOD(MLSingleShotInvoke);
REGISTER_METHOD(MLSingleShotGetValue);
REGISTER_METHOD(MLSingleShotSetValue);
- // SingleShot::setTimeout()
- // SingleShot::close()
+ REGISTER_METHOD(MLSingleShotSetTimeout);
+ REGISTER_METHOD(MLSingleShotClose);
// Single API end
("Could not find TensorsData handle with given id: %d", tensors_data_id));
return;
}
+
+ if (!tensors_data->DisposableFromJS()) {
+ ReportSuccess(out);
+ return;
+ }
+
// Dispose underlying tensorsInfo
PlatformResult result = GetTensorsInfoManager().DisposeTensorsInfo(tensors_data->TensorsInfoId());
if (!result) {
// TODO move to the up section with field names
namespace {
+const std::string kTimeout = "timeout";
const std::string kModelPath = "modelPath";
const std::string kInTensorsInfo = "inTensorsInfo";
const std::string kOutTensorsInfo = "outTensorsInfo";
ReportSuccess(out);
}
-// SingleShot::setTimeout()
+void MlInstance::MLSingleShotSetTimeout(const picojson::value& args, picojson::object& out) {
+ ScopeLogger("args: %s", args.serialize().c_str());
+ CHECK_ARGS(args, kId, double, out);
+ CHECK_ARGS(args, kTimeout, double, out);
+
+ auto id = static_cast<int>(args.get(kId).get<double>());
+ auto timeout = static_cast<unsigned long>(args.get(kTimeout).get<double>());
+
+ auto ret = single_manager_.SetTimeout(id, timeout);
+ if (!ret) {
+ ReportError(ret, &out);
+ return;
+ }
+
+ ReportSuccess(out);
+}
-// SingleShot::close()
+void MlInstance::MLSingleShotClose(const picojson::value& args, picojson::object& out) {
+ ScopeLogger("args: %s", args.serialize().c_str());
+ CHECK_ARGS(args, kId, double, out);
+
+ auto id = static_cast<int>(args.get(kId).get<double>());
+
+ auto ret = single_manager_.Close(id);
+ if (!ret) {
+ ReportError(ret, &out);
+ return;
+ }
+
+ ReportSuccess(out);
+}
// Single API end
CHECK_ARGS(args, kName, std::string, out);
CHECK_ARGS(args, kStatus, double, out);
CHECK_ARGS(args, kRequestId, double, out);
- CHECK_ARGS(args, kDataId, double, out);
- CHECK_ARGS(args, kCallbackId, double, out);
const auto& custom_filter_name = args.get(kName).get<std::string>();
auto status = static_cast<int>(args.get(kStatus).get<double>());
auto request_id = static_cast<int>(args.get(kRequestId).get<double>());
- auto data_id = static_cast<int>(args.get(kDataId).get<double>());
- auto callback_id = static_cast<int>(args.get(kCallbackId).get<double>());
- auto ret = pipeline_manager_.CustomFilterOutput(custom_filter_name, request_id, status, data_id,
- callback_id);
+ auto ret = pipeline_manager_.CustomFilterOutput(custom_filter_name, request_id, status);
if (!ret) {
LogAndReportError(ret, &out);
return;