Hi Igniters,
finally, I've compiled my code and run my test. But after I call my closure
I got this errors: "Operation cannot be performed in raw mode.", and
unfortunally I've no idea what it does mean.
This is the code of call:
IgniteConfiguration cfg;
std::string home = getenv("IGNITE_HOME");
fs::path cfg_path = fs::path(home) / "platforms" / "cpp" /
"client_config.xml";
cfg.springCfgPath = cfg_path.string();
ignite = Ignition::Start(cfg);
IgniteBinding binding = ignite.GetBinding();
binding.RegisterComputeFunc<Calculation>();
Compute compute = ignite.GetCompute();
[...]
Calculation functor(name, args, false);
auto fut = compute.CallAsync<std::string>(functor);
[...]
And Calculation is:
class CalculationEngineIgniteServer: public
ignite::compute::ComputeFunc<std::string>
{
friend struct ignite::binary::BinaryType<CalculationEngineIgniteServer>;
public:
CalculationEngineIgniteServer(
) = default;
CalculationEngineIgniteServer(
const std::string &name,
const std::vector<std::string> &input,
bool localLog
);
virtual std::string Call();
private:
std::string name_;
bool local_log_;
std::vector<std::string> input_;
};
Then I defined BinaryType for Calculation and for std::vector<std::string>.
I don't understand where I miss.
Thanks,
F.D.