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.

Reply via email to