Я ищу предложения относительно библиотек RPC, реализованных на С++, для разработчиков на С++.
Некоторые ограничения требований:
- Должно работать как с системами linux/unix, так и с win32.
- Уметь выполнять бесплатные функции и методы класса
- Надеюсь, написанный на современном С++ не 90-е/java-esque С++
- Уметь работать через сети и hetrogenous архитектуры.
- Не слишком медленный или неэффективный
- Мы надеемся предоставить интерфейсы для стиля TR1 std:: function и др.
Мой пример использования - вызывать свободную функцию foo на удаленной машине.
---snip---
// foo translation unit
int foo(int i, int j)
{
return i + j;
}
---snip---
---snip---
// client side main
int main()
{
//register foo on client and server
//setup necassary connections and states
int result;
if (RPCmechanism.invoke("foo",4,9,result))
std::cout << "foo(4,9) = " result << std::endl;
else
std::cout << "failed to invoke foo(4,9)!" << std::endl;
return 0;
}
---snip---
Что-то, что может достичь вышеупомянутого или подобного, было бы здорово.
Примечание. Я НЕ заинтересован в других языковых привязках. Пожалуйста, не предлагайте решение, потому что оно имеет другие языковые привязки. Меня интересуют только хорошо разработанные RPC-фреймворки, написанные на С++ для языка С++, которые эффективны и подходят для сценариев HPC.