[ https://issues.apache.org/jira/browse/IGNITE-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15715245#comment-15715245 ]
Igor Sapego edited comment on IGNITE-1680 at 12/27/16 12:30 PM: ---------------------------------------------------------------- Ok, here is concept that I have implemented and checked: {code} // If user has any jobs, processors or other classes, that // may be invoked by the remote side, they should be registered // in the following function. Every module should have no more // than one function with the following signature. This function // called by Ignite when module is loaded. IGNITE_EXPORTED_CALL void IgniteModuleInit(ignite::InvokeManager& im) { im.RegisterCacheEntryProcessor<UserProcessor1>(); im.RegisterCacheEntryProcessor<UserProcessor2>(); im.RegisterJob<UserJob1>(); im.RegisterJob<UserJob2>(); ... } // User classes should implement corresponding Ignite classes and // have static methods, that return class id. Something like: class UserProcessor1 : public CacheEntryProcessor<...> { // User implements CacheEntryProcessor interface here... // Function, that return some unique ID for the class. static int64_t GetIgniteId() { ... } } {code} What do you guys think? was (Author: isapego): Ok, here is concept that I have implemented and checked: {code} // If user has any jobs, processors or other classes, that // may be invoked by the remote side, they should be registered // in the following function. Every module should have no more // than one function with the following signature. This function // called by Ignite when module is loaded. IGNITE_EXPORTED_CALL void IgniteModuleInit(ignite::InvokeManager& im) { im.RegisterCacheEntryProcessor<UserProcessor1>(); im.RegisterCacheEntryProcessor<UserProcessor2>(); im.RegisterJob<UserJob1>(); im.RegisterJob<UserJob2>(); ... } // User classes should implement corresponding Ignite classes and // have static methods, that return class id. Something like: class UserProcessor1 : public CacheEntryProcessor<...> { // User implements CacheEntryProcessor interface here... // Function, that return some unique ID for the class. static int64_t GetIgniteId() { ... } } {code} What do you guys think? > CPP: Implement basic API for user entry point lookup > ---------------------------------------------------- > > Key: IGNITE-1680 > URL: https://issues.apache.org/jira/browse/IGNITE-1680 > Project: Ignite > Issue Type: Task > Components: platforms > Affects Versions: 1.1.4 > Reporter: Igor Sapego > Assignee: Igor Sapego > Labels: cpp, roadmap > Fix For: 2.0 > > > Need to implement IgniteCompute class for C++ with one basic method > IgniteCompute::Call(...) which will provide basic remote job execution API. -- This message was sent by Atlassian JIRA (v6.3.4#6332)