Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

eProsima RPC over DDS - Connext Conf London October 2015

950 vues

Publié le

Small Presentation of eProsima RPC over DDS, for more information please visit www.eprosima.com

Publié dans : Logiciels
  • I have always found it hard to meet the requirements of being a student. Ever since my years of high school, I really have no idea what professors are looking for to give good grades. After some google searching, I found this service ⇒ www.HelpWriting.net ⇐ who helped me write my research paper.
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • The Most Effective Natural Breast Enlargement Techniques That Have Already Changed The Lives Of Over 7591 Women From 69 Countries Worldwide! ✄✄✄ https://t.cn/A6Li7dmy
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

eProsima RPC over DDS - Connext Conf London October 2015

  1. 1. eProsima RPC over DDS for RTI Connext DDS Connext Conference, London 2015 15/10/2015 Jaime Martin Losa CTO eProsima JaimeMartin@eProsima.com +34 607 91 37 45 www.eProsima.com
  2. 2. Old solution: Manual 2 Struct FunRequest { RequestID; RequestParameter1; /* ... */ RequestParameterN; }; Struct FunReply { RequestID; ReplyResult1; /* ... */ ReplyResultN; };
  3. 3. RPC over DDS Standard: Automatic 3 interface MyInterface { funReturnValueType Fun(in MyTypeI1 m1,in MyTypeI2 m2,..., out MyTypeO1 n1, out MyTypeO2 n2,..., inout MyType1 l1,inout MyType2 l2 ); /* ... */ };
  4. 4. Architecture Request Topic Reply Topic ClientApp Publisher Subscriber STUB Requester ServiceApp Publisher Subscriber Skeleton Replier Resource Aware Dispatching Agent Global Data Space 4
  5. 5. Definition of the Services
  6. 6. Definition of the services  OMG IDL 3.5 + DDS-XTYPES is used – “Any” and “valuetype” not part of DDS-XTYPES  Exceptions supported  Atributes in the interfaces ignored  Oneway invocations supported throught the IDL oneway keyword 6
  7. 7. eProsima RPC over DDS for RTI Connext DDS
  8. 8. eProsima RPC over DDS Features  Open Source: LGPL – Published on GitHub  Windows and Linux support (32 and 64 bits)  Project and makefile generation for VS2010-3 & gcc 4.x  Synchronous, asynchronous and one way operations  Different Server threading models  100% Standard: ISO C++ and OMG DDS  Comprehensive documentation
  9. 9. eProsima RPC over DDS  Available on: – eProsima.com web site:  http://www.eprosima.com/index.php/products-all/eprosima- rpc-over-dds-all – eProsima GitHub:  https://github.com/eprosima
  10. 10. Example
  11. 11. Hands On: Calculator  Create Calculator.idl  Generate Interface Support : /////////////////////////// // Connext Con Example // /////////////////////////// exception divideByZeroEx{ long count; }; interface Calculator { float multiply(in float a,in float b); float divide(in float a,in float b) raises(divideByZeroEx); }; rpcddsgen -ppDisable -example x64Win64VS2013 Calculator.idl
  12. 12. Hands On: Calculator  Edit the Example: CalculatorClientExample.cxx // Call to remote procedures try { return_ = proxy->multiply(16, 2); // multiply std::cout << return_ << std::endl; return_ = proxy->divide(16, 2); // divide std::cout << return_ << std::endl; return_ = proxy->divide(16, 0); // user exception std::cout << return_ << std::endl; } catch (divideByZeroEx &ex) { std::cout << "divideByZeroEx" << std::endl; } catch (SystemException &ex) { std::cout << "System Exception:" << std::endl; }
  13. 13. Hands On: Calculator  Edit the CalculatorServerImplExample.cxx DDS_Float CalculatorServerImplExample::multiply (/*in*/ DDS_Float a, /*in*/ DDS_Float b) { DDS_Float return_ = a*b; return return_; } DDS_Float CalculatorServerImplExample::divide (/*in*/ DDS_Float a, /*in*/ DDS_Float b) { DDS_Float return_ = 0.0; if (b == 0) { throw divideByZeroEx(); } return_ = a / b; return return_; }
  14. 14. Thank you! Jaime Martin Losa CTO eProsima JaimeMartin@eProsima.com +34 607 91 37 45 www.eProsima.com

×