New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version...
Transcript of New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version...
eProsima RPCREST C++ APIVersion 0.3.0
Generated by Doxygen 1.8.5
Wed May 14 2014 19:34:28
Contents
1 eProsima RPC over REST 1
2 Module Index 3
2.1 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Namespace Index 5
3.1 Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Hierarchical Index 7
4.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Class Index 9
5.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6 Module Documentation 13
6.1 eProsima RPCREST API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.2 Client Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.3 Server Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.4 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.5 Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.6 Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.7 Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7 Namespace Documentation 23
7.1 FooREST::FooResource Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
iv CONTENTS
8 Class Documentation 25
8.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator Class Reference . . . . . . . . . . . . . . . . . 25
8.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.2.1 _FastBuffer_iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.3.1 memcopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.3.2 operator& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.3.3 operator++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.3.4 operator++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.3.5 operator+= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.1.3.6 operator- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.1.3.7 operator<< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.1.3.8 operator<< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.1.3.9 operator>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.1.3.10 operator>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.1.3.11 rmemcopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.2 eprosima::rpc::exception::BadParamException Class Reference . . . . . . . . . . . . . . . . . . . 28
8.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.2.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.2.1 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.2.2 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.2.3 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.2.4 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.3 eprosima::rpc::transport::BossProcess Class Reference . . . . . . . . . . . . . . . . . . . . . . . 31
8.4 eprosima::rpc::exception::ClientInternalException Class Reference . . . . . . . . . . . . . . . . . 31
8.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8.4.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4.2.1 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4.2.2 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4.2.3 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4.2.4 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.5 FooREST::FooResource::Emptyvoid Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 34
8.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
CONTENTS v
8.5.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.5.2.1 Emptyvoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.5.2.2 Emptyvoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.5.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.5.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.5.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.5.3.3 status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.5.3.4 status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.5.3.5 status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.6 eprosima::rpc::transport::Endpoint Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.7 eprosima::rpc::exception::Exception Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 37
8.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.2.1 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.2.2 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.8 eprosima::rpc::protocol::rest::FastBuffer Class Reference . . . . . . . . . . . . . . . . . . . . . . 39
8.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.8.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.8.2.1 FastBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.8.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.8.3.1 begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.8.3.2 end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.8.3.3 getBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.8.3.4 getBufferSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.8.3.5 resize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.9 FooREST::FooResourceProxy Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.9.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.9.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.9.2.1 FooResourceProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.10 FooREST::FooResourceServer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.10.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.10.2.1 FooResourceServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.11 FooREST::FooResourceServerImpl Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 45
8.11.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.12 eprosima::rpc::protocol::FooRESTProtocol Class Reference . . . . . . . . . . . . . . . . . . . . . 46
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
vi CONTENTS
8.12.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.12.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.12.2.1 activateInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.12.2.2 linkFooREST_FooResourceImpl . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.12.2.3 setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.13 eprosima::rpc::protocol::rest::FooRESTProtocol Class Reference . . . . . . . . . . . . . . . . . . 48
8.13.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.13.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.13.2.1 setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.13.2.2 worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.14 eprosima::rpc::protocol::rest::HTTPData Class Reference . . . . . . . . . . . . . . . . . . . . . . 51
8.14.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.14.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.14.2.1 HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.14.2.2 HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.14.2.3 HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.14.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.14.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.14.3.2 getData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.14.3.3 getMediaType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.14.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.14.3.5 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.15 eprosima::rpc::transport::HttpMessage Class Reference . . . . . . . . . . . . . . . . . . . . . . . 53
8.15.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.15.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.15.2.1 HttpMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.15.2.2 HttpMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15.3.1 getBodyContentLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15.3.2 getBodyContentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15.3.3 getBodyData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15.3.4 getContainsResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15.3.5 getHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15.3.6 getMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.15.3.7 getMethodStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.15.3.8 getResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.15.3.9 getResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.15.3.10 getUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.15.3.11 getVersionCompatible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.15.3.12 setBodyContentLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
CONTENTS vii
8.15.3.13 setBodyContentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.15.3.14 setBodyContentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.15.3.15 setBodyData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.15.3.16 setBodyData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.15.3.17 setHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.15.3.18 setHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.15.3.19 setMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.15.3.20 setResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.15.3.21 setResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.15.3.22 setResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.15.3.23 setUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.15.3.24 setUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.15.3.25 setVersionCompatible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.16 eprosima::rpc::protocol::rest::HTTPMethod Class Reference . . . . . . . . . . . . . . . . . . . . . 59
8.16.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.16.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.16.2.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.16.2.2 getMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.16.2.3 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.16.2.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.17 eprosima::rpc::protocol::rest::HTTPParam Class Reference . . . . . . . . . . . . . . . . . . . . . 60
8.17.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.2.1 HTTPParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.3.2 getName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.3.3 getValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.17.3.5 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.18 eprosima::rpc::protocol::rest::HTTPParameters Class Reference . . . . . . . . . . . . . . . . . . 62
8.18.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.18.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.18.2.1 addParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.18.2.2 containsParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.18.2.3 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.18.2.4 get_params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.18.2.5 get_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.18.2.6 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference . . . . . . . . . . . . . . . . . . . . 63
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
viii CONTENTS
8.19.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.19.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.19.2.1 HttpProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.19.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.19.3.1 connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.19.3.2 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.19.3.3 send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.20 eprosima::rpc::protocol::rest::HTTPResponseCode Class Reference . . . . . . . . . . . . . . . . 66
8.20.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.20.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.20.2.1 HTTPResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.20.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.20.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.20.3.2 getStatusCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.20.3.3 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.20.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.21 eprosima::rpc::transport::HttpServerTransport Class Reference . . . . . . . . . . . . . . . . . . . 67
8.21.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.21.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.21.2.1 HttpServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.21.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.21.3.1 bossProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.21.3.2 sendReply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.21.3.3 worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
8.22 eprosima::rpc::protocol::rest::HTTPUri Class Reference . . . . . . . . . . . . . . . . . . . . . . . 71
8.22.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8.22.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8.22.2.1 HTTPUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8.22.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.22.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.22.3.2 getPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.22.3.3 getResourcePath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.22.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.22.3.5 setBaseUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.22.3.6 setHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.23 eprosima::rpc::protocol::rest::HTTPVersion Class Reference . . . . . . . . . . . . . . . . . . . . . 73
8.23.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
8.23.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
8.23.2.1 HTTPVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
8.23.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
CONTENTS ix
8.23.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
8.23.3.2 HTTPVersionRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
8.23.3.3 HTTPVersionResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.23.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.23.3.5 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.24 eprosima::rpc::exception::IncompatibleException Class Reference . . . . . . . . . . . . . . . . . 75
8.24.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.24.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.24.2.1 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.24.2.2 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.24.2.3 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.24.2.4 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.24.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.24.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.24.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.25 eprosima::rpc::exception::InitializeException Class Reference . . . . . . . . . . . . . . . . . . . . 78
8.25.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.25.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.25.2.1 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.25.2.2 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.25.2.3 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.25.2.4 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.25.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.25.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.25.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.26 eprosima::rpc::protocol::Protocol Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.26.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.26.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.26.2.1 _setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.26.2.2 getTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.26.2.3 setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.27 eprosima::rpc::proxy::Proxy Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.27.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.27.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.27.2.1 Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.27.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.27.3.1 getProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.27.3.2 getTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.28 eprosima::rpc::transport::ProxyTransport Class Reference . . . . . . . . . . . . . . . . . . . . . . 84
8.28.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
x CONTENTS
8.28.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.28.2.1 connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.28.2.2 getBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.28.2.3 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.28.2.4 send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.29 RESOURCES_BASE_URI Interface Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference . . . . . . . . . . . . . . . . . . . . 87
8.30.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.30.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.30.2.1 beginSerializeTemplateParameters . . . . . . . . . . . . . . . . . . . . . . . . 88
8.30.2.2 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.30.2.3 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.30.2.4 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.30.2.5 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.30.2.6 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.30.2.7 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.30.2.8 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.30.2.9 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.30.2.10 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.30.2.11 deserializeUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.30.2.12 endSerializeTemplateParameters . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.30.2.13 existsQueryParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.30.2.14 existsTagLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.30.2.15 getQueryParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.30.2.16 getTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.30.2.17 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.30.2.18 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.30.2.19 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.30.2.20 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.30.2.21 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.30.2.22 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.30.2.23 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.30.2.24 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.30.2.25 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.30.2.26 serializeQueryParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.30.2.27 serializeTemplateParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.31 eprosima::rpc::server::Server Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.31.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.31.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.31.2.1 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
CONTENTS xi
8.31.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.31.3.1 process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.32 eprosima::rpc::exception::ServerInternalException Class Reference . . . . . . . . . . . . . . . . . 99
8.32.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.32.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.32.2.1 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.32.2.2 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.32.2.3 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.32.2.4 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.32.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.32.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.32.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference . . . . . . . . . . . . . . . 102
8.33.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.33.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.33.2.1 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.33.2.2 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.33.2.3 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.33.2.4 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.33.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.33.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.33.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.34 eprosima::rpc::strategy::ServerStrategy Class Reference . . . . . . . . . . . . . . . . . . . . . . 105
8.34.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.34.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.34.2.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.35 eprosima::rpc::strategy::ServerStrategyImpl Class Reference . . . . . . . . . . . . . . . . . . . . 106
8.35.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8.35.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8.35.2.1 schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8.36 eprosima::rpc::exception::ServerTimeoutException Class Reference . . . . . . . . . . . . . . . . 106
8.36.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.36.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.36.2.1 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.36.2.2 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.36.2.3 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.36.2.4 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.36.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.36.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.36.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
xii CONTENTS
8.37 eprosima::rpc::transport::ServerTransport Class Reference . . . . . . . . . . . . . . . . . . . . . 109
8.37.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
8.37.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.37.2.1 getBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.37.2.2 getCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.37.2.3 getLinkedProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.37.2.4 getStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.37.2.5 linkProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.37.2.6 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.37.2.7 sendReply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.37.2.8 setCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.37.2.9 setStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.38 eprosima::rpc::strategy::SingleThreadStrategy Class Reference . . . . . . . . . . . . . . . . . . . 112
8.38.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.38.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.38.2.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.39 eprosima::rpc::exception::SystemException Class Reference . . . . . . . . . . . . . . . . . . . . 114
8.39.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.2.1 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.2.2 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.2.3 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.2.4 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.2.5 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.2.6 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.39.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.39.3.1 minor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.39.3.2 minor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.39.3.3 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.39.3.4 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.39.3.5 what . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.40 eprosima::rpc::transport::TCPEndpoint Class Reference . . . . . . . . . . . . . . . . . . . . . . . 118
8.40.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.40.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.40.2.1 getReadBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.40.2.2 getReadBufferCurrentPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.40.2.3 getReadBufferEmptySpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.40.2.4 getReadBufferFillUse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.40.2.5 getReadBufferLeftSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.40.2.6 getReadBufferLeftUsedSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
CONTENTS xiii
8.40.2.7 getReadBufferLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.40.2.8 getWriteBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.40.2.9 getWriteBufferLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.40.2.10 getWriteBufferUsage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.40.2.11 increaseReadBufferCurrentPointer . . . . . . . . . . . . . . . . . . . . . . . . 121
8.40.2.12 increaseReadBufferFillUse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.40.2.13 isOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.40.2.14 resizeReadBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.40.2.15 resizeWriteBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.40.2.16 socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.40.2.17 write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.40.2.18 write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.41 eprosima::rpc::transport::TCPProxyTransport Class Reference . . . . . . . . . . . . . . . . . . . 124
8.41.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.41.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.41.2.1 TCPProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.41.2.2 TCPProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.41.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.41.3.1 connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.41.3.2 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.41.3.3 send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.42 eprosima::rpc::transport::TCPServerTransport Class Reference . . . . . . . . . . . . . . . . . . . 126
8.42.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.42.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.42.2.1 TCPServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.42.2.2 ∼TCPServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.42.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.42.3.1 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.42.3.2 sendReply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.42.3.3 worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.43 eprosima::rpc::strategy::ThreadPerRequestStrategy Class Reference . . . . . . . . . . . . . . . . 129
8.43.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.43.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.43.2.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference . . . . . . . . . . . . . . . . . . . . 130
8.44.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.44.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.44.2.1 ThreadPoolStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.44.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
8.44.3.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
xiv CONTENTS
8.45 eprosima::rpc::transport::Transport Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 133
8.45.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8.45.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8.45.2.1 getBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8.46 eprosima::rpc::exception::UserException Class Reference . . . . . . . . . . . . . . . . . . . . . . 134
8.46.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.46.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.46.2.1 UserException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.46.2.2 UserException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.46.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.46.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.46.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Index 137
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 1
eProsima RPC over REST
eProsima RPCREST Library
eProsima
eProsima RPC over REST is a service invocation framework that enables to build distributed applications withminimal effort using the client/server paradigm.
eProsima RPC over REST provides an implementation of this general concept of invoking remote procedures.eProsima RPC over REST is a service invocation framework that allows the developers to build distributed applica-tions with a minimal effort. It makes transparent the remote procedure call, avoiding the programmers from explicitlycoding the details for this remote interaction, permitting them to focus on the application logic.
eProsima RPC also brings other features:
• Synchronous invocation: The synchronous invocation is the mostly common used approach. It blocks theclient’s thread until the reply is received from the server.
• eProsima RPC over REST provides several strategies for the server. These strategies define how the serveracts when a new request is received. Current supported strategies are: single-thread strategy, thread-poolstrategy and thread-per-request strategy. Single-thread strategy uses only one thread for every incomingrequest. Thread-pool strategy uses a fixed amount of threads to process the incoming requests. Thread-per-request strategy creates a new thread for each new incoming request.
• Complete RESTful Frameworks: Developers can use eProsima RPC over REST code within their applica-tions.
2 eProsima RPC over REST
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 2
Module Index
2.1 Modules
Here is a list of all modules:
eProsima RPCREST API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Client Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Server Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Module Index
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 3
Namespace Index
3.1 Namespace List
Here is a list of all documented namespaces with brief descriptions:
FooREST::FooResourceThis class represents the interface FooResource defined by the user in the IDL file . . . . . . . 23
6 Namespace Index
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 4
Hierarchical Index
4.1 Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
eprosima::rpc::protocol::rest::_FastBuffer_iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25eprosima::rpc::transport::BossProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31FooREST::FooResource::Emptyvoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34enable_shared_from_this
eprosima::rpc::transport::TCPEndpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118eprosima::rpc::transport::Endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
eprosima::rpc::transport::TCPEndpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118exception
eprosima::rpc::exception::Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37eprosima::rpc::exception::SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
eprosima::rpc::exception::BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . 28eprosima::rpc::exception::ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . 31eprosima::rpc::exception::IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . 75eprosima::rpc::exception::InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . 78eprosima::rpc::exception::ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . 99eprosima::rpc::exception::ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . 102eprosima::rpc::exception::ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . 106
eprosima::rpc::exception::UserException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134eprosima::rpc::protocol::rest::FastBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39FooREST::FooResourceServerImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45eprosima::rpc::protocol::rest::HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51eprosima::rpc::transport::HttpMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53eprosima::rpc::protocol::rest::HTTPMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59eprosima::rpc::protocol::rest::HTTPParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60eprosima::rpc::protocol::rest::HTTPParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62eprosima::rpc::protocol::rest::HTTPResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66eprosima::rpc::protocol::rest::HTTPUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71eprosima::rpc::protocol::rest::HTTPVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73noncopyable
eprosima::rpc::transport::TCPEndpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118eprosima::rpc::protocol::Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
eprosima::rpc::protocol::FooRESTProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46eprosima::rpc::protocol::rest::FooRESTProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
eprosima::rpc::proxy::Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83FooREST::FooResourceProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
RESOURCES_BASE_URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86eprosima::rpc::protocol::rest::RESTSerializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8 Hierarchical Index
eprosima::rpc::server::Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
FooREST::FooResourceServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
eprosima::rpc::strategy::ServerStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
eprosima::rpc::strategy::SingleThreadStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112eprosima::rpc::strategy::ThreadPerRequestStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . 129eprosima::rpc::strategy::ThreadPoolStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
eprosima::rpc::strategy::ServerStrategyImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106eprosima::rpc::transport::Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
eprosima::rpc::transport::ProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84eprosima::rpc::transport::HttpProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63eprosima::rpc::transport::TCPProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
eprosima::rpc::transport::ServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109eprosima::rpc::transport::HttpServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67eprosima::rpc::transport::TCPServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 5
Class Index
5.1 Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
eprosima::rpc::protocol::rest::_FastBuffer_iteratorThis class implements the iterator used to go through a FastBuffer . . . . . . . . . . . . . . . 25
eprosima::rpc::exception::BadParamExceptionThis class is thrown as an exception when there is some bad paremeter in a object . . . . . . 28
eprosima::rpc::transport::BossProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31eprosima::rpc::exception::ClientInternalException
This class is thrown as an exception when there is an error in the proxy side . . . . . . . . . . 31FooREST::FooResource::Emptyvoid
This class represents the structure Emptyvoid defined by the user in the IDL file . . . . . . . . 34eprosima::rpc::transport::Endpoint
This class represents an endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36eprosima::rpc::exception::Exception
This abstract class is used to create exceptions . . . . . . . . . . . . . . . . . . . . . . . . . 37eprosima::rpc::protocol::rest::FastBuffer
This class represents a byte stream that contains (or will contain) serialized data. This class isused by the serializers to serialize or deserialize using their own representation . . . . . . . . 39
FooREST::FooResourceProxyThis class implements a specific server’s proxy for the defined interface FooResource . . . . . 41
FooREST::FooResourceServerThis class implements a specific server for the defined interface FooResource by user . . . . . 44
FooREST::FooResourceServerImplThis class is the skeleton of the servant and its remote procedures has to be implemented . . 45
eprosima::rpc::protocol::FooRESTProtocolProtocol base class for the specific application . . . . . . . . . . . . . . . . . . . . . . . . . . 46
eprosima::rpc::protocol::rest::FooRESTProtocolThis class is responsible for serializing and deserializing the requests and responses of thisapplication. It uses a RESTful protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
eprosima::rpc::protocol::rest::HTTPDataThis class represents the content of an HTTP message . . . . . . . . . . . . . . . . . . . . . 51
eprosima::rpc::transport::HttpMessageThis class represents an HTTP message . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
eprosima::rpc::protocol::rest::HTTPMethodThis class represents an HTTP method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
eprosima::rpc::protocol::rest::HTTPParamThis class represents an HTTP query parameter . . . . . . . . . . . . . . . . . . . . . . . . 60
eprosima::rpc::protocol::rest::HTTPParametersThis class represents an HTTP query parameter . . . . . . . . . . . . . . . . . . . . . . . . 62
10 Class Index
eprosima::rpc::transport::HttpProxyTransportThis interface is the base of all proxy classes that implement an HTTP transport . . . . . . . . 63
eprosima::rpc::protocol::rest::HTTPResponseCodeThis class represents the response code of an HTTP response message . . . . . . . . . . . . 66
eprosima::rpc::transport::HttpServerTransportThis interface is the base of all classes that implement a transport that could be used by a proxy 67
eprosima::rpc::protocol::rest::HTTPUriThis class represents an HTTP URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
eprosima::rpc::protocol::rest::HTTPVersionThis class represents an HTTP version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
eprosima::rpc::exception::IncompatibleExceptionThis class is thrown as an exception when a selected protocol and transport are incompatible . 75
eprosima::rpc::exception::InitializeExceptionThis class is thrown as an exception when there is an error initializating an object . . . . . . . 78
eprosima::rpc::protocol::ProtocolThis abstract class represents the protocol used by the RPCs. It serializes and deserializes theinformation and uses a eprosima::rpc::transport::Transport to send it and receive it . . . . . . . 81
eprosima::rpc::proxy::ProxyThis class implements the common functionalities that all server’s proxies have . . . . . . . . 83
eprosima::rpc::transport::ProxyTransportThis interface is the base of all classes that implement a transport that can be used by the proxy 84
RESOURCES_BASE_URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86eprosima::rpc::protocol::rest::RESTSerializer
This class serializes REST data to get an HTTP message suitable for HTTP communications . 87eprosima::rpc::server::Server
This class implements the common functionalities that any server has . . . . . . . . . . . . . 97eprosima::rpc::exception::ServerInternalException
This class is thrown as an exception when there is an error in the server side . . . . . . . . . 99eprosima::rpc::exception::ServerNotFoundException
This class is thrown as an exception when the server is not found . . . . . . . . . . . . . . . . 102eprosima::rpc::strategy::ServerStrategy
This class is the base of all classes that implement a server strategy. that could be used by theserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
eprosima::rpc::strategy::ServerStrategyImplThis class is the base of all classes that implement a server strategy. that could be used by theserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
eprosima::rpc::exception::ServerTimeoutExceptionThis class is thrown as an exception when the remote procedure call exceeds the maximum time 106
eprosima::rpc::transport::ServerTransportThis interface is the base of all classes that implement a transport that can be used by the server 109
eprosima::rpc::strategy::SingleThreadStrategyThis class implements the sigle thread strategy. The server uses a reception thread to executeall the requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
eprosima::rpc::exception::SystemExceptionThis abstract class is used to create internal FASTRPC exceptions . . . . . . . . . . . . . . . 114
eprosima::rpc::transport::TCPEndpointThis class represents a TCP endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
eprosima::rpc::transport::TCPProxyTransportThis class represents a TCP transport. It must be used by TCP clients . . . . . . . . . . . . . 124
eprosima::rpc::transport::TCPServerTransportThis class represents a TCP transport. It must be used by TCP servers . . . . . . . . . . . . 126
eprosima::rpc::strategy::ThreadPerRequestStrategyThis class implements the thread per request strategy. The server creates a new thread for everynew incoming request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
eprosima::rpc::strategy::ThreadPoolStrategyThis class implements a thread pool strategy. The server schedules the incoming requests in afree thread of the thread pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
5.1 Class List 11
eprosima::rpc::transport::TransportThis class is the base of all classes that implement a transport that could be used by the proxyor the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
eprosima::rpc::exception::UserExceptionThis abstract class is used to create user exceptions . . . . . . . . . . . . . . . . . . . . . . 134
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
12 Class Index
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 6
Module Documentation
6.1 eProsima RPCREST API Reference
eProsima RPC over REST internal API grouped in modules.
Collaboration diagram for eProsima RPCREST API Reference:
eProsima RPCREST API Reference
Exceptions
Client Module
Server Module
Transports
Protocols
Modules
• Client Module
This group contains related API to create a client application. This API is used by the tool rpcrestgen to generatecustom code based in a defined interface. That interface and its remote procedures have to be defined in IDL orWADL.
• Server Module
This group contains related API to create a server application. Except the custom server’s strategies, this API is usedby the tool rpcrestgen to generate custom code based in a defined interface. That interface and its remote procedurehave to be defined in IDL or WADL.
• Exceptions
14 Module Documentation
Exceptions used by the eProsima RPCREST API. All exceptions defined in this module are thrown by the eProsimaRPCREST library and the code generated by the tool rpcrestgen.
• Transports
Network transports that eProsima RPCREST library offers. These transports define how a connection is establishedbetween a proxy and a server.
• Protocols
Protocols used by the RPCs. They define how to serialize and deserialize the information and use a eprosima::rpc-::transport::Transport to send it and receive it.
6.1.1 Detailed Description
eProsima RPC over REST internal API grouped in modules.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
6.2 Client Module 15
6.2 Client Module
This group contains related API to create a client application. This API is used by the tool rpcrestgen to generatecustom code based in a defined interface. That interface and its remote procedures have to be defined in IDL orWADL.
Collaboration diagram for Client Module:
eProsima RPCREST API Reference Client Module
Classes
• class eprosima::rpc::proxy::Proxy
This class implements the common functionalities that all server’s proxies have.
6.2.1 Detailed Description
This group contains related API to create a client application. This API is used by the tool rpcrestgen to generatecustom code based in a defined interface. That interface and its remote procedures have to be defined in IDL orWADL.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
16 Module Documentation
6.3 Server Module
This group contains related API to create a server application. Except the custom server’s strategies, this API isused by the tool rpcrestgen to generate custom code based in a defined interface. That interface and its remoteprocedure have to be defined in IDL or WADL.
Collaboration diagram for Server Module:
eProsima RPCREST API Reference Server Module Strategies
Modules
• Strategies
Server’s strategies that can be used in the server application. These strategies define how the server schedules aincoming request.
Classes
• class eprosima::rpc::server::Server
This class implements the common functionalities that any server has.
• class eprosima::rpc::strategy::ServerStrategy
This class is the base of all classes that implement a server strategy. that could be used by the server.
• class eprosima::rpc::strategy::ServerStrategyImpl
This class is the base of all classes that implement a server strategy. that could be used by the server.
6.3.1 Detailed Description
This group contains related API to create a server application. Except the custom server’s strategies, this API isused by the tool rpcrestgen to generate custom code based in a defined interface. That interface and its remoteprocedure have to be defined in IDL or WADL.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
6.4 Exceptions 17
6.4 Exceptions
Exceptions used by the eProsima RPCREST API. All exceptions defined in this module are thrown by the eProsimaRPCREST library and the code generated by the tool rpcrestgen.
Collaboration diagram for Exceptions:
eProsima RPCREST API Reference Exceptions
Classes
• class eprosima::rpc::exception::BadParamException
This class is thrown as an exception when there is some bad paremeter in a object.
• class eprosima::rpc::exception::ClientInternalException
This class is thrown as an exception when there is an error in the proxy side.
• class eprosima::rpc::exception::Exception
This abstract class is used to create exceptions.
• class eprosima::rpc::exception::IncompatibleException
This class is thrown as an exception when a selected protocol and transport are incompatible.
• class eprosima::rpc::exception::InitializeException
This class is thrown as an exception when there is an error initializating an object.
• class eprosima::rpc::exception::ServerInternalException
This class is thrown as an exception when there is an error in the server side.
• class eprosima::rpc::exception::ServerNotFoundException
This class is thrown as an exception when the server is not found.
• class eprosima::rpc::exception::ServerTimeoutException
This class is thrown as an exception when the remote procedure call exceeds the maximum time.
• class eprosima::rpc::exception::SystemException
This abstract class is used to create internal FASTRPC exceptions.
• class eprosima::rpc::exception::UserException
This abstract class is used to create user exceptions.
6.4.1 Detailed Description
Exceptions used by the eProsima RPCREST API. All exceptions defined in this module are thrown by the eProsimaRPCREST library and the code generated by the tool rpcrestgen.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
18 Module Documentation
6.5 Strategies
Server’s strategies that can be used in the server application. These strategies define how the server schedules aincoming request.
Collaboration diagram for Strategies:
Server Module Strategies
Classes
• class eprosima::rpc::strategy::SingleThreadStrategy
This class implements the sigle thread strategy. The server uses a reception thread to execute all the requests.
• class eprosima::rpc::strategy::ThreadPerRequestStrategy
This class implements the thread per request strategy. The server creates a new thread for every new incomingrequest.
• class eprosima::rpc::strategy::ThreadPoolStrategy
This class implements a thread pool strategy. The server schedules the incoming requests in a free thread of thethread pool.
6.5.1 Detailed Description
Server’s strategies that can be used in the server application. These strategies define how the server schedules aincoming request.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
6.6 Transports 19
6.6 Transports
Network transports that eProsima RPCREST library offers. These transports define how a connection is establishedbetween a proxy and a server.
Collaboration diagram for Transports:
eProsima RPCREST API Reference Transports
Classes
• class eprosima::rpc::transport::Endpoint
This class represents an endpoint.
• class eprosima::rpc::transport::TCPEndpoint
This class represents a TCP endpoint.
• class eprosima::rpc::transport::HttpProxyTransport
This interface is the base of all proxy classes that implement an HTTP transport.
• class eprosima::rpc::transport::HttpServerTransport
This interface is the base of all classes that implement a transport that could be used by a proxy.
• class eprosima::rpc::transport::HttpMessage
This class represents an HTTP message.
• class eprosima::rpc::transport::ProxyTransport
This interface is the base of all classes that implement a transport that can be used by the proxy.
• class eprosima::rpc::transport::ServerTransport
This interface is the base of all classes that implement a transport that can be used by the server.
• class eprosima::rpc::transport::TCPProxyTransport
This class represents a TCP transport. It must be used by TCP clients.
• class eprosima::rpc::transport::TCPServerTransport
This class represents a TCP transport. It must be used by TCP servers.
• class eprosima::rpc::transport::Transport
This class is the base of all classes that implement a transport that could be used by the proxy or the server.
Typedefs
• typedef enumeprosima::rpc::transport::TransportBehaviour eprosima::rpc::transport::TransportBehaviour
This enumeration specifies the behaviour of the transport.
Enumerations
• enum eprosima::rpc::transport::TransportBehaviour { PROXY_BEHAVIOUR, SERVER_BEHAVIOUR }
This enumeration specifies the behaviour of the transport.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
20 Module Documentation
Variables
• boost::function< void(TCPEndpoint ∗)> eprosima::rpc::transport::BossProcess::function
Callback designed to receive a proxy request and schedule it invoking the concrete threading strategy.
6.6.1 Detailed Description
Network transports that eProsima RPCREST library offers. These transports define how a connection is establishedbetween a proxy and a server.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
6.7 Protocols 21
6.7 Protocols
Protocols used by the RPCs. They define how to serialize and deserialize the information and use a eprosima::rpc-::transport::Transport to send it and receive it.
Collaboration diagram for Protocols:
eProsima RPCREST API Reference Protocols
Classes
• class eprosima::rpc::protocol::Protocol
This abstract class represents the protocol used by the RPCs. It serializes and deserializes the information and usesa eprosima::rpc::transport::Transport to send it and receive it.
• class eprosima::rpc::protocol::rest::_FastBuffer_iterator
This class implements the iterator used to go through a FastBuffer.
• class eprosima::rpc::protocol::rest::RESTSerializer
This class serializes REST data to get an HTTP message suitable for HTTP communications.
Enumerations
• enum eprosima::rpc::protocol::rest::Method { HTTP_GET, HTTP_PUT, HTTP_POST, HTTP_DELETE }
This enumerator represents the supported HTTP methods.
6.7.1 Detailed Description
Protocols used by the RPCs. They define how to serialize and deserialize the information and use a eprosima::rpc-::transport::Transport to send it and receive it.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
22 Module Documentation
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 7
Namespace Documentation
7.1 FooREST::FooResource Namespace Reference
This class represents the interface FooResource defined by the user in the IDL file.
Classes
• class Emptyvoid
This class represents the structure Emptyvoid defined by the user in the IDL file.
7.1.1 Detailed Description
This class represents the interface FooResource defined by the user in the IDL file.
24 Namespace Documentation
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Chapter 8
Class Documentation
8.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator Class Reference
This class implements the iterator used to go through a FastBuffer.
#include <FastBuffer.h>
Public Member Functions
• _FastBuffer_iterator ()
Default constructor. The iterator points to any position.• _FastBuffer_iterator (char ∗buffer, size_t index)
Constructor. The iterator points to the indicated position.• void operator<< (const _FastBuffer_iterator &iterator)
This operator changes the iterator’s raw buffer. This operator makes the iterator point to the same position but inanother raw buffer. The new raw buffer is the same than the source iterator’s.
• void operator>> (const _FastBuffer_iterator &iterator)
This operator changes the position where the iterator points. This operator takes the index of the source iterator, butthe iterator continues using its own raw buffer.
• template<typename _T >
void operator<< (const _T &data)
This operator copies data in the raw buffer. The copy uses the size of the data type.• template<typename _T >
void operator>> (_T &data)
This operator copies data from the raw buffer to a variable. The copy uses the size of the data type.• void memcopy (const void ∗src, const size_t size)
This function copies a buffer into the raw buffer.• void rmemcopy (void ∗dst, const size_t size)
This function copies from the raw buffer to a external buffer.• void operator+= (size_t numBytes)
This function increments the position where the iterator points.• size_t operator- (const _FastBuffer_iterator &it) const
This operator returns the subtraction of the current interator’s position and the source iterator’s position. Sourceiterator whose position is subtracted to the current iterator’s position.
• _FastBuffer_iterator operator++ ()
This function increments the iterator in one the position.• _FastBuffer_iterator operator++ (int)
This function increments the iterator in one position.• char ∗ operator& ()
This function returns the current position in the raw buffer.
26 Class Documentation
8.1.1 Detailed Description
This class implements the iterator used to go through a FastBuffer.
8.1.2 Constructor & Destructor Documentation
8.1.2.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator::_FastBuffer_iterator ( char ∗ buffer, size_t index ) [inline],[explicit]
Constructor. The iterator points to the indicated position.
Parameters
buffer Pointer to the raw buffer.index Position of the raw buffer where the iterator will be pointing.
8.1.3 Member Function Documentation
8.1.3.1 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::memcopy ( const void ∗ src, const size_t size )[inline]
This function copies a buffer into the raw buffer.
Parameters
src The source buffer.size The number of bytes to be copied.
8.1.3.2 char∗ eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator& ( ) [inline]
This function returns the current position in the raw buffer.
Returns
The current position in the raw buffer.
8.1.3.3 _FastBuffer_iterator eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator++ ( ) [inline]
This function increments the iterator in one the position.
Returns
The current iterator.
8.1.3.4 _FastBuffer_iterator eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator++ ( int ) [inline]
This function increments the iterator in one position.
Returns
The current iterator.
8.1.3.5 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator+= ( size_t numBytes ) [inline]
This function increments the position where the iterator points.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator Class Reference 27
Parameters
numBytes Number of bytes that the iterator moves the current position.
8.1.3.6 size_t eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator- ( const _FastBuffer_iterator & it ) const[inline]
This operator returns the subtraction of the current interator’s position and the source iterator’s position. Sourceiterator whose position is subtracted to the current iterator’s position.
Returns
The result of subtracting the current iterator’s position and the source iterator’s position.
8.1.3.7 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator<< ( const _FastBuffer_iterator & iterator )[inline]
This operator changes the iterator’s raw buffer. This operator makes the iterator point to the same position but inanother raw buffer. The new raw buffer is the same than the source iterator’s.
Parameters
iterator The source iterator. The iterator will use the source iterator’s raw buffer after this operation.
8.1.3.8 template<typename _T > void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator<< ( const _T & data )[inline]
This operator copies data in the raw buffer. The copy uses the size of the data type.
Parameters
data Data to be copied. It cannot be NULL.
8.1.3.9 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator>> ( const _FastBuffer_iterator & iterator )[inline]
This operator changes the position where the iterator points. This operator takes the index of the source iterator,but the iterator continues using its own raw buffer.
Parameters
The source iterator. The iterator will use the source’s iterator index to point to its own raw buffer.
8.1.3.10 template<typename _T > void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator>> ( _T & data )[inline]
This operator copies data from the raw buffer to a variable. The copy uses the size of the data type.
Parameters
data Data to be filled.
8.1.3.11 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::rmemcopy ( void ∗ dst, const size_t size ) [inline]
This function copies from the raw buffer to a external buffer.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
28 Class Documentation
Parameters
dst The destination buffer.size The size in bytes to be copied.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/FastBuffer.h
8.2 eprosima::rpc::exception::BadParamException Class Reference
This class is thrown as an exception when there is some bad paremeter in a object.
#include <BadParamException.h>
Inheritance diagram for eprosima::rpc::exception::BadParamException:
eprosima::rpc::exception::BadParamException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.2 eprosima::rpc::exception::BadParamException Class Reference 29
Collaboration diagram for eprosima::rpc::exception::BadParamException:
eprosima::rpc::exception::BadParamException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Public Member Functions
• BadParamException (const std::string &message)
Default constructor.
• BadParamException (std::string &&message)
Default constructor.
• BadParamException (const BadParamException &ex)
Default copy constructor.
• BadParamException (BadParamException &&ex)
Default move constructor.
• BadParamException & operator= (const BadParamException &ex)
Assigment operation.
• BadParamException & operator= (BadParamException &&ex)
Assigment operation.
• virtual ∼BadParamException () throw ()
Default constructor.
• virtual void raise () const
This function throws the object as an exception.
Additional Inherited Members
8.2.1 Detailed Description
This class is thrown as an exception when there is some bad paremeter in a object.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
30 Class Documentation
8.2.2 Constructor & Destructor Documentation
8.2.2.1 eprosima::rpc::exception::BadParamException::BadParamException ( const std::string & message )
Default constructor.
Parameters
message An error message. This message is copied.
8.2.2.2 eprosima::rpc::exception::BadParamException::BadParamException ( std::string && message )
Default constructor.
Parameters
message An error message. This message is moved.
8.2.2.3 eprosima::rpc::exception::BadParamException::BadParamException ( const BadParamException & ex )
Default copy constructor.
Parameters
ex BadParamException that will be copied.
8.2.2.4 eprosima::rpc::exception::BadParamException::BadParamException ( BadParamException && ex )
Default move constructor.
Parameters
ex BadParamException that will be moved.
8.2.3 Member Function Documentation
8.2.3.1 BadParamException& eprosima::rpc::exception::BadParamException::operator= ( const BadParamException &ex )
Assigment operation.
Parameters
ex BadParamException that will be copied.
8.2.3.2 BadParamException& eprosima::rpc::exception::BadParamException::operator= ( BadParamException && ex )
Assigment operation.
Parameters
ex BadParamException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/BadParamException.h
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.3 eprosima::rpc::transport::BossProcess Class Reference 31
8.3 eprosima::rpc::transport::BossProcess Class Reference
Public Attributes
• boost::function< void(TCPEndpoint ∗)> function
Callback designed to receive a proxy request and schedule it invoking the concrete threading strategy.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/TCPServerTransportImpl.h
8.4 eprosima::rpc::exception::ClientInternalException Class Reference
This class is thrown as an exception when there is an error in the proxy side.
#include <ClientInternalException.h>
Inheritance diagram for eprosima::rpc::exception::ClientInternalException:
eprosima::rpc::exception::ClientInternalException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
32 Class Documentation
Collaboration diagram for eprosima::rpc::exception::ClientInternalException:
eprosima::rpc::exception::ClientInternalException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Public Member Functions
• ClientInternalException (const std::string &message)
Default constructor.
• ClientInternalException (std::string &&message)
Default constructor.
• ClientInternalException (const ClientInternalException &ex)
Default copy constructor.
• ClientInternalException (ClientInternalException &&ex)
Default move constructor.
• ClientInternalException & operator= (const ClientInternalException &ex)
Assigment operation.
• ClientInternalException & operator= (ClientInternalException &&ex)
Assigment operation.
• virtual ∼ClientInternalException () throw ()
Default constructor.
• virtual void raise () const
This function throws the object as an exception.
Additional Inherited Members
8.4.1 Detailed Description
This class is thrown as an exception when there is an error in the proxy side.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.4 eprosima::rpc::exception::ClientInternalException Class Reference 33
8.4.2 Constructor & Destructor Documentation
8.4.2.1 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( const std::string & message )
Default constructor.
Parameters
message An error message. This message is copied.
8.4.2.2 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( std::string && message )
Default constructor.
Parameters
message An error message. This message is moved.
8.4.2.3 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( const ClientInternalException & ex )
Default copy constructor.
Parameters
ex ClientInternalException that will be copied.
8.4.2.4 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( ClientInternalException && ex )
Default move constructor.
Parameters
ex ClientInternalException that will be moved.
8.4.3 Member Function Documentation
8.4.3.1 ClientInternalException& eprosima::rpc::exception::ClientInternalException::operator= ( constClientInternalException & ex )
Assigment operation.
Parameters
ex ClientInternalException that will be copied.
8.4.3.2 ClientInternalException& eprosima::rpc::exception::ClientInternalException::operator= (ClientInternalException && ex )
Assigment operation.
Parameters
ex ClientInternalException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/ClientInternalException.h
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
34 Class Documentation
8.5 FooREST::FooResource::Emptyvoid Class Reference
This class represents the structure Emptyvoid defined by the user in the IDL file.
#include <FooREST.h>
Public Member Functions
• Emptyvoid ()
Default constructor.
• ∼Emptyvoid ()
Default destructor.
• Emptyvoid (const Emptyvoid &x)
Copy constructor.
• Emptyvoid (Emptyvoid &&x)
Move constructor.
• Emptyvoid & operator= (const Emptyvoid &x)
Copy assignment.
• Emptyvoid & operator= (Emptyvoid &&x)
Move assignment.
• void status (int32_t _status)
This function sets a value in member status.
• int32_t status () const
This function returns the value of member status.
• int32_t & status ()
This function returns a reference to member status.
8.5.1 Detailed Description
This class represents the structure Emptyvoid defined by the user in the IDL file.
8.5.2 Constructor & Destructor Documentation
8.5.2.1 FooREST::FooResource::Emptyvoid::Emptyvoid ( const Emptyvoid & x )
Copy constructor.
Parameters
x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.
8.5.2.2 FooREST::FooResource::Emptyvoid::Emptyvoid ( Emptyvoid && x )
Move constructor.
Parameters
x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.5 FooREST::FooResource::Emptyvoid Class Reference 35
8.5.3 Member Function Documentation
8.5.3.1 FooREST::FooResource::Emptyvoid & FooREST::FooResource::Emptyvoid::operator= ( const Emptyvoid & x)
Copy assignment.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
36 Class Documentation
Parameters
x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.
8.5.3.2 FooREST::FooResource::Emptyvoid & FooREST::FooResource::Emptyvoid::operator= ( Emptyvoid && x )
Move assignment.
Parameters
x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.
8.5.3.3 void FooREST::FooResource::Emptyvoid::status ( int32_t _status ) [inline]
This function sets a value in member status.
Parameters
_status New value for member status
8.5.3.4 int32_t FooREST::FooResource::Emptyvoid::status ( ) const [inline]
This function returns the value of member status.
Returns
Value of member status
8.5.3.5 int32_t& FooREST::FooResource::Emptyvoid::status ( ) [inline]
This function returns a reference to member status.
Returns
Reference to member status
The documentation for this class was generated from the following files:
• utils/doxygen/examples/restful/FooREST.h
• utils/doxygen/examples/restful/FooREST.cxx
8.6 eprosima::rpc::transport::Endpoint Class Reference
This class represents an endpoint.
#include <Endpoint.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.7 eprosima::rpc::exception::Exception Class Reference 37
Inheritance diagram for eprosima::rpc::transport::Endpoint:
eprosima::rpc::transport::Endpoint
eprosima::rpc::transport::TCPEndpoint
Protected Member Functions
• Endpoint ()
Default constructor.
• virtual ∼Endpoint ()
Default destructor.
8.6.1 Detailed Description
This class represents an endpoint.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/components/Endpoint.h
8.7 eprosima::rpc::exception::Exception Class Reference
This abstract class is used to create exceptions.
#include <Exception.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
38 Class Documentation
Inheritance diagram for eprosima::rpc::exception::Exception:
eprosima::rpc::exception::Exception
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::UserException
std::exception
eprosima::rpc::exception::BadParamException
eprosima::rpc::exception::ClientInternalException
eprosima::rpc::exception::IncompatibleException
eprosima::rpc::exception::InitializeException
eprosima::rpc::exception::ServerInternalException
eprosima::rpc::exception::ServerNotFoundException
eprosima::rpc::exception::ServerTimeoutException
Collaboration diagram for eprosima::rpc::exception::Exception:
eprosima::rpc::exception::Exception
std::exception
Public Member Functions
• virtual ∼Exception () throw ()
Default destructor.
• virtual void raise () const =0
This function throws the object as exception.
Protected Member Functions
• Exception ()
Default constructor.
• Exception (const Exception &ex)
Default copy constructor.
• Exception (Exception &&ex)
Default move constructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.8 eprosima::rpc::protocol::rest::FastBuffer Class Reference 39
• Exception & operator= (const Exception &ex)
Assigment operation.
• Exception & operator= (Exception &&)
Assigment operation.
8.7.1 Detailed Description
This abstract class is used to create exceptions.
8.7.2 Constructor & Destructor Documentation
8.7.2.1 eprosima::rpc::exception::Exception::Exception ( const Exception & ex ) [protected]
Default copy constructor.
Parameters
ex Exception that will be copied.
8.7.2.2 eprosima::rpc::exception::Exception::Exception ( Exception && ex ) [protected]
Default move constructor.
Parameters
ex Exception that will be moved.
8.7.3 Member Function Documentation
8.7.3.1 Exception& eprosima::rpc::exception::Exception::operator= ( const Exception & ex ) [protected]
Assigment operation.
Parameters
ex Exception that will be copied.
8.7.3.2 Exception& eprosima::rpc::exception::Exception::operator= ( Exception && ) [protected]
Assigment operation.
Parameters
ex Exception that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/Exception.h
8.8 eprosima::rpc::protocol::rest::FastBuffer Class Reference
This class represents a byte stream that contains (or will contain) serialized data. This class is used by the serializersto serialize or deserialize using their own representation.
#include <FastBuffer.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
40 Class Documentation
Public Types
• typedef _FastBuffer_iterator iterator
Public Member Functions
• FastBuffer ()
This constructor creates an internal stream and assigns it to the eprosima::FastBuffer object. The user can obtainthis internal stream using the function eprosima::FastBuffer::getBuffer(). Be careful because this internal stream isdeleted when destroying the eprosima::FastBuffer object.
• FastBuffer (char ∗const buffer, const size_t bufferSize)
This constructor assigns the user’s byte stream to the eprosima::FastBuffer object. The user’s stream will be used toserialize.
• char ∗ getBuffer () const
This function returns the stream that the eprosima::FastBuffer object uses to serialize data.
• size_t getBufferSize () const
This function returns the allocated memory size of the stream that the eprosima::FastBuffer object to serialize data.
• iterator begin ()
This function returns an iterator which points to the begining of the stream.
• iterator end ()
This function returns an iterator which points to the end of the stream.
• bool resize (size_t minSizeInc)
This function resizes the raw buffer. It will call the user’s defined function for this purpose.
8.8.1 Detailed Description
This class represents a byte stream that contains (or will contain) serialized data. This class is used by the serializersto serialize or deserialize using their own representation.
8.8.2 Constructor & Destructor Documentation
8.8.2.1 eprosima::rpc::protocol::rest::FastBuffer::FastBuffer ( char ∗const buffer, const size_t bufferSize )
This constructor assigns the user’s byte stream to the eprosima::FastBuffer object. The user’s stream will be usedto serialize.
Parameters
buffer The user’s buffer that will be used. This buffer is not deallocated in the object’s destruction.Cannot be NULL.
bufferSize The length of the user’s buffer.
8.8.3 Member Function Documentation
8.8.3.1 iterator eprosima::rpc::protocol::rest::FastBuffer::begin ( ) [inline]
This function returns an iterator which points to the begining of the stream.
Returns
The new iterator.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.9 FooREST::FooResourceProxy Class Reference 41
8.8.3.2 iterator eprosima::rpc::protocol::rest::FastBuffer::end ( ) [inline]
This function returns an iterator which points to the end of the stream.
Returns
The new iterator.
8.8.3.3 char∗ eprosima::rpc::protocol::rest::FastBuffer::getBuffer ( ) const [inline]
This function returns the stream that the eprosima::FastBuffer object uses to serialize data.
Returns
The stream used by the eprosima::FastBuffer object to serialize data.
8.8.3.4 size_t eprosima::rpc::protocol::rest::FastBuffer::getBufferSize ( ) const [inline]
This function returns the allocated memory size of the stream that the eprosima::FastBuffer object to serialize data.
Returns
The size of the allocated memory of the stream used by the eprosima::FastBuffer object to serialize data.
8.8.3.5 bool eprosima::rpc::protocol::rest::FastBuffer::resize ( size_t minSizeInc )
This function resizes the raw buffer. It will call the user’s defined function for this purpose.
Parameters
minSizeInc The minimun expected growth of the current raw buffer.
Returns
True if the operation works. False if it does not.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/FastBuffer.h
8.9 FooREST::FooResourceProxy Class Reference
This class implements a specific server’s proxy for the defined interface FooResource.
#include <FooRESTProxy.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
42 Class Documentation
Inheritance diagram for FooREST::FooResourceProxy:
FooREST::FooResourceProxy
eprosima::rpc::proxy::Proxy
Collaboration diagram for FooREST::FooResourceProxy:
FooREST::FooResourceProxy
eprosima::rpc::proxy::Proxy
Public Member Functions
• FooResourceProxy (eprosima::rpc::transport::ProxyTransport &transport, eprosima::rpc::protocol::FooREST-Protocol &protocol)
This constructor sets the transport that will be used by the server’s proxy.
• virtual ∼FooResourceProxy ()
Destructor.
• void FooProcedure ()
Proxy method for the operation FooProcedure.
Additional Inherited Members
8.9.1 Detailed Description
This class implements a specific server’s proxy for the defined interface FooResource.
8.9.2 Constructor & Destructor Documentation
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.9 FooREST::FooResourceProxy Class Reference 43
8.9.2.1 FooREST::FooResourceProxy::FooResourceProxy ( eprosima::rpc::transport::ProxyTransport & transport,eprosima::rpc::protocol::FooRESTProtocol & protocol )
This constructor sets the transport that will be used by the server’s proxy.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
44 Class Documentation
Parameters
transport The network transport that server’s proxy has to use. This transport’s object is not deleted bythis class in its destructor. Cannot be NULL.
protocol The protocol used to send the information over the transport. This protocol’s object is notdeleted by this class in its destructor. Cannot be NULL.
Exceptions
eprosima::rpc::exception::-InitializeException
This exception is thrown when the initialization was wrong.
The documentation for this class was generated from the following files:
• utils/doxygen/examples/restful/FooRESTProxy.h• utils/doxygen/examples/restful/FooRESTProxy.cxx
8.10 FooREST::FooResourceServer Class Reference
This class implements a specific server for the defined interface FooResource by user.
#include <FooRESTServer.h>
Inheritance diagram for FooREST::FooResourceServer:
FooREST::FooResourceServer
eprosima::rpc::server::Server
Collaboration diagram for FooREST::FooResourceServer:
FooREST::FooResourceServer
eprosima::rpc::server::Server
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.11 FooREST::FooResourceServerImpl Class Reference 45
Public Member Functions
• FooResourceServer (eprosima::rpc::strategy::ServerStrategy &strategy, eprosima::rpc::transport::Server-Transport &transport, eprosima::rpc::protocol::FooRESTProtocol &protocol, FooResourceServerImpl &ser-vant)
This constructor sets the transport that will be used by the server.
• virtual ∼FooResourceServer ()
Destructor.
Additional Inherited Members
8.10.1 Detailed Description
This class implements a specific server for the defined interface FooResource by user.
8.10.2 Constructor & Destructor Documentation
8.10.2.1 FooREST::FooResourceServer::FooResourceServer ( eprosima::rpc::strategy::ServerStrategy & strategy,eprosima::rpc::transport::ServerTransport & transport, eprosima::rpc::protocol::FooRESTProtocol& protocol, FooResourceServerImpl & servant )
This constructor sets the transport that will be used by the server.
Parameters
strategy Strategy used by server to work with new requests. This class doesn’t delete this object in itsdestructor. Cannot be NULL.
transport The network transport that the server has to use. This transport’s object is not deleted by thisclass in its destructor. Cannot be NULL.
protocol Generated protocol that the server has to use. This class has the information to processrequests and build responses for this application environment.
servant Servant that the server will use to invoke user’s functions.
Exceptions
eProsima::RPCDDS::-InitializeException
This exception is thrown when the initialization was wrong.
The documentation for this class was generated from the following files:
• utils/doxygen/examples/restful/FooRESTServer.h• utils/doxygen/examples/restful/FooRESTServer.cxx
8.11 FooREST::FooResourceServerImpl Class Reference
This class is the skeleton of the servant and its remote procedures has to be implemented.
#include <FooRESTServerImpl.h>
Public Member Functions
• FooResourceServerImpl ()
The default constructor.
• virtual ∼FooResourceServerImpl ()
Destructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
46 Class Documentation
• virtual void FooProcedure ()=0
Skeleton of the operation FooProcedure.
8.11.1 Detailed Description
This class is the skeleton of the servant and its remote procedures has to be implemented.
The documentation for this class was generated from the following file:
• utils/doxygen/examples/restful/FooRESTServerImpl.h
8.12 eprosima::rpc::protocol::FooRESTProtocol Class Reference
Protocol base class for the specific application.
#include <FooRESTProtocol.h>
Inheritance diagram for eprosima::rpc::protocol::FooRESTProtocol:
eprosima::rpc::protocol::FooRESTProtocol
eprosima::rpc::protocol::rest::FooRESTProtocol
eprosima::rpc::protocol::Protocol
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.12 eprosima::rpc::protocol::FooRESTProtocol Class Reference 47
Collaboration diagram for eprosima::rpc::protocol::FooRESTProtocol:
eprosima::rpc::protocol::FooRESTProtocol
eprosima::rpc::protocol::Protocol FooREST::FooResourceServerImpl
_FooREST_FooResource_impl
Public Member Functions
• virtual bool setTransport (eprosima::rpc::transport::Transport &transport)=0
This method sets the transport for the communications. It has to be implemented by the children classes.• virtual bool activateInterface (const char ∗interfaceName)=0
In some protocols this function activates needed entities to use an interface.• void linkFooREST_FooResourceImpl (FooREST::FooResourceServerImpl &impl)
This method links a specific servant with the protocol.• virtual void FooREST_FooResource_FooProcedure ()=0
This method implements the proxy part of the protocol for the operation FooProcedure. It has to be implemented bythe child classes.
Protected Attributes
• FooREST::FooResourceServerImpl ∗ _FooREST_FooResource_impl
Additional Inherited Members
8.12.1 Detailed Description
Protocol base class for the specific application.
8.12.2 Member Function Documentation
8.12.2.1 virtual bool eprosima::rpc::protocol::FooRESTProtocol::activateInterface ( const char ∗ interfaceName ) [purevirtual]
In some protocols this function activates needed entities to use an interface.
Parameters
interfaceName Interface name.
Returns
Whether the activation works successfully.
Implemented in eprosima::rpc::protocol::rest::FooRESTProtocol.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
48 Class Documentation
8.12.2.2 void eprosima::rpc::protocol::FooRESTProtocol::linkFooREST_FooResourceImpl (FooREST::FooResourceServerImpl & impl ) [inline]
This method links a specific servant with the protocol.
Parameters
impl Servant implementation.
8.12.2.3 virtual bool eprosima::rpc::protocol::FooRESTProtocol::setTransport ( eprosima::rpc::transport::Transport &transport ) [pure virtual]
This method sets the transport for the communications. It has to be implemented by the children classes.
Parameters
transport Transport to use.
Returns
True if the assignment is successful, false otherwise
Implements eprosima::rpc::protocol::Protocol.
Implemented in eprosima::rpc::protocol::rest::FooRESTProtocol.
The documentation for this class was generated from the following file:
• utils/doxygen/examples/restful/FooRESTProtocol.h
8.13 eprosima::rpc::protocol::rest::FooRESTProtocol Class Reference
This class is responsible for serializing and deserializing the requests and responses of this application. It uses aRESTful protocol.
#include <FooRESTRESTProtocol.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.13 eprosima::rpc::protocol::rest::FooRESTProtocol Class Reference 49
Inheritance diagram for eprosima::rpc::protocol::rest::FooRESTProtocol:
eprosima::rpc::protocol::rest::FooRESTProtocol
eprosima::rpc::protocol::FooRESTProtocol
eprosima::rpc::protocol::Protocol
Collaboration diagram for eprosima::rpc::protocol::rest::FooRESTProtocol:
eprosima::rpc::protocol::rest::FooRESTProtocol
eprosima::rpc::protocol::FooRESTProtocol
eprosima::rpc::protocol::Protocol FooREST::FooResourceServerImpl
_FooREST_FooResource_impl
Public Member Functions
• FooRESTProtocol ()
Default constructor.
• virtual ∼FooRESTProtocol ()
Default destructor.
• bool setTransport (eprosima::rpc::transport::Transport &transport)
This method sets the transport for the communications. It must be an HTTP transport.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
50 Class Documentation
• bool activateInterface (const char ∗interfaceName)
This method does not apply to this class.
• eprosima::rpc::transport::HttpMessage deserialize_FooResource_FooProcedure (RESTSerializer &rest-Serializer, eprosima::rpc::transport::HttpMessage &httpMessage)
This method implements the server part of the protocol for the operation FooProcedure.
• void FooREST_FooResource_FooProcedure ()
This method implements the proxy part of the protocol for the operation FooProcedure.
• eprosima::rpc::transport::HttpMessage processRequest (eprosima::rpc::transport::HttpMessage &http-Message)
Static Public Member Functions
• static void worker (Protocol &protocol, void ∗&data, size_t dataLength, eprosima::rpc::transport::Endpoint∗endpoint)
This callback receives the requests and calls the specific protocol to process them.
Additional Inherited Members
8.13.1 Detailed Description
This class is responsible for serializing and deserializing the requests and responses of this application. It uses aRESTful protocol.
8.13.2 Member Function Documentation
8.13.2.1 bool eprosima::rpc::protocol::rest::FooRESTProtocol::setTransport ( eprosima::rpc::transport::Transport &transport ) [virtual]
This method sets the transport for the communications. It must be an HTTP transport.
Parameters
transport Transport to use
Returns
True if the assignment is successful, false otherwise
Implements eprosima::rpc::protocol::FooRESTProtocol.
8.13.2.2 void FooRESTProtocol::worker ( Protocol & protocol, void ∗& data, size_t dataLength,eprosima::rpc::transport::Endpoint ∗ endpoint ) [static]
This callback receives the requests and calls the specific protocol to process them.
Parameters
protocol Protocol that must process the requestdata Received data
dataLength received data length
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.14 eprosima::rpc::protocol::rest::HTTPData Class Reference 51
endpoint Proxy endpoint where the request came from
The documentation for this class was generated from the following files:
• utils/doxygen/examples/restful/FooRESTRESTProtocol.h• utils/doxygen/examples/restful/FooRESTRESTProtocol.cxx
8.14 eprosima::rpc::protocol::rest::HTTPData Class Reference
This class represents the content of an HTTP message.
#include <HTTPEntities.h>
Public Member Functions
• HTTPData ()
Default constructor.
• HTTPData (std::string &host)
HTTPData constructor.
• HTTPData (std::string &clength, std::string &ctype, std::string &data)
HTTPData constructor.
• HTTPData (std::string &host, std::string &clength, std::string &ctype, std::string &data)
HTTPData constructor.
• ∼HTTPData ()
Default destructor.
• std::string & get_data ()
Gets the string representation of the HTTP body.
• void set_data (std::string &data)
Copies the string representation of the HTTP body and its headers.
• void set_data (std::string &&data)
Moves the string representation of the HTTP body.
• string getMediaType ()
Gets the Content-Type field of the HTTP message.
• string getData ()
Gets the body of the HTTP message.
8.14.1 Detailed Description
This class represents the content of an HTTP message.
8.14.2 Constructor & Destructor Documentation
8.14.2.1 eprosima::rpc::protocol::rest::HTTPData::HTTPData ( std::string & host )
HTTPData constructor.
Parameters
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
52 Class Documentation
host Content of the "Host" header.
8.14.2.2 eprosima::rpc::protocol::rest::HTTPData::HTTPData ( std::string & clength, std::string & ctype, std::string & data )
HTTPData constructor.
Parameters
clength Content of the "Content-Length" header.ctype Content of the "Content-Type" header.data HTTP body.
8.14.2.3 eprosima::rpc::protocol::rest::HTTPData::HTTPData ( std::string & host, std::string & clength, std::string & ctype,std::string & data )
HTTPData constructor.
Parameters
host Content of the "Host" header.clength Content of the "Content-Length" header.
ctype Content of the "Content-Type" header.data HTTP body.
8.14.3 Member Function Documentation
8.14.3.1 std::string& eprosima::rpc::protocol::rest::HTTPData::get_data ( ) [inline]
Gets the string representation of the HTTP body.
Returns
String representation of the HTTP body.
8.14.3.2 string eprosima::rpc::protocol::rest::HTTPData::getData ( )
Gets the body of the HTTP message.
Returns
Body of the HTTP message.
8.14.3.3 string eprosima::rpc::protocol::rest::HTTPData::getMediaType ( )
Gets the Content-Type field of the HTTP message.
Returns
Content-Type field of the HTTP message.
8.14.3.4 void eprosima::rpc::protocol::rest::HTTPData::set_data ( std::string & data ) [inline]
Copies the string representation of the HTTP body and its headers.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.15 eprosima::rpc::transport::HttpMessage Class Reference 53
Parameters
data String representation of the HTTP body and its headers.
8.14.3.5 void eprosima::rpc::protocol::rest::HTTPData::set_data ( std::string && data ) [inline]
Moves the string representation of the HTTP body.
Parameters
data String representation of the HTTP body.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/HTTPEntities.h
8.15 eprosima::rpc::transport::HttpMessage Class Reference
This class represents an HTTP message.
#include <HttpMessage.h>
Public Types
• enum Methods {HTTP_METHOD_GET = 0, HTTP_METHOD_PUT, HTTP_METHOD_POST, HTTP_METHOD_DELETE,HTTP_METHOD_INVALID }
This enumerator represents the supported HTTP request methods.
• typedef enumeprosima::rpc::transport::HttpMessage::Methods Methods
This enumerator represents the supported HTTP request methods.
Public Member Functions
• HttpMessage ()
Default constructor.
• HttpMessage (const HttpMessage &httpMessage)
Copy constructor.
• HttpMessage (HttpMessage &&httpMessage)
Move constructor.
• void setMethod (const Methods method)
Sets the HTTP method of the request message.
• Methods getMethod ()
Gets the HTTP method of the request message as an enumerator.
• const std::string & getMethodStr () const
Gets the HTTP method a of the request message s a string.
• void setHost (const std::string &host)
Copies the HTTP host.
• void setHost (std::string &&host)
Moves the HTTP host.
• const std::string & getHost () const
Gets the HTTP host.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
54 Class Documentation
• void setUri (const std::string &uri)
Copies the resource URI. This will be the requested resource in an HTTP request.
• void setUri (std::string &&uri)
Moves the resource URI. This will be the requested resource in an HTTP request.
• const std::string & getUri () const
Gets the resource URI.
• void setBodyContentType (const std::string &body_content_type)
Copies the content of the Content-Type header.
• void setBodyContentType (std::string &&body_content_type)
Moves the content of the Content-Type header.
• const std::string & getBodyContentType () const
Gets the content of the Content-Type header.
• void setBodyContentLength (const std::string &body_content_length)
Copies the content of the Content-Length header.
• size_t getBodyContentLength () const
Gets the content of the Content-Length header.
• void setBodyData (const std::string &body_data)
Copies the body of the HTTP message.
• void setBodyData (std::string &&body_data)
Moves the body of the HTTP message.
• const std::string & getBodyData () const
Gets the body of the HTTP message.
• void setResponseCode (int32_t responseCode)
Copies the HTTP response numeric code.
• int32_t getResponseCode () const
Gets the HTTP response numeric code.
• void setResponseStatus (const std::string &responseStatus)
Copies the response status, a brief string explanation about the HTTP code.
• void setResponseStatus (std::string &&responseStatus)
Moves the response status, a brief string explanation about the HTTP code.
• const std::string & getResponseStatus () const
Gets the response status, a brief string explanation about the HTTP code.
• void setVersionCompatible (bool b)
Sets a boolean indicating if the HTTP version is 1.1.
• bool getVersionCompatible () const
Gets a boolean indicating if the HTTP version is 1.1.
• bool getContainsResponseStatus ()
This methods indicates wether the HTTP message contains the optional HTTP response status message.
8.15.1 Detailed Description
This class represents an HTTP message.
8.15.2 Constructor & Destructor Documentation
8.15.2.1 eprosima::rpc::transport::HttpMessage::HttpMessage ( const HttpMessage & httpMessage ) [inline]
Copy constructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.15 eprosima::rpc::transport::HttpMessage Class Reference 55
Parameters
httpMessage Original HTTPMessage object to copy the data from
8.15.2.2 eprosima::rpc::transport::HttpMessage::HttpMessage ( HttpMessage && httpMessage ) [inline]
Move constructor.
Parameters
httpMessage Original HTTPMessage object to move the data from.
8.15.3 Member Function Documentation
8.15.3.1 size_t eprosima::rpc::transport::HttpMessage::getBodyContentLength ( ) const [inline]
Gets the content of the Content-Length header.
Returns
Content of the Content-Length header
8.15.3.2 const std::string& eprosima::rpc::transport::HttpMessage::getBodyContentType ( ) const [inline]
Gets the content of the Content-Type header.
Returns
Content of the Content-Type header
8.15.3.3 const std::string& eprosima::rpc::transport::HttpMessage::getBodyData ( ) const [inline]
Gets the body of the HTTP message.
Returns
Body of the HTTP message
8.15.3.4 bool eprosima::rpc::transport::HttpMessage::getContainsResponseStatus ( ) [inline]
This methods indicates wether the HTTP message contains the optional HTTP response status message.
Returns
b True if the HTTP status is present and false otherwise
8.15.3.5 const std::string& eprosima::rpc::transport::HttpMessage::getHost ( ) const [inline]
Gets the HTTP host.
Returns
URL of the HTTP host
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
56 Class Documentation
8.15.3.6 Methods eprosima::rpc::transport::HttpMessage::getMethod ( ) [inline]
Gets the HTTP method of the request message as an enumerator.
Returns
Enumerator representation of the HTTP method
8.15.3.7 const std::string& eprosima::rpc::transport::HttpMessage::getMethodStr ( ) const [inline]
Gets the HTTP method a of the request message s a string.
Returns
String representation of the HTTP method
8.15.3.8 int32_t eprosima::rpc::transport::HttpMessage::getResponseCode ( ) const [inline]
Gets the HTTP response numeric code.
Returns
HTTP response code.
8.15.3.9 const std::string& eprosima::rpc::transport::HttpMessage::getResponseStatus ( ) const [inline]
Gets the response status, a brief string explanation about the HTTP code.
Returns
HTTP status.
8.15.3.10 const std::string& eprosima::rpc::transport::HttpMessage::getUri ( ) const [inline]
Gets the resource URI.
Returns
URI of the requested resource
8.15.3.11 bool eprosima::rpc::transport::HttpMessage::getVersionCompatible ( ) const [inline]
Gets a boolean indicating if the HTTP version is 1.1.
Returns
b True for HTTP version 1.1 and false otherwise
8.15.3.12 void eprosima::rpc::transport::HttpMessage::setBodyContentLength ( const std::string & body_content_length )[inline]
Copies the content of the Content-Length header.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.15 eprosima::rpc::transport::HttpMessage Class Reference 57
Parameters
body_content_-length
Content of the Content-Length header
8.15.3.13 void eprosima::rpc::transport::HttpMessage::setBodyContentType ( const std::string & body_content_type )[inline]
Copies the content of the Content-Type header.
Parameters
body_content_-type
Content of the Content-Type header
8.15.3.14 void eprosima::rpc::transport::HttpMessage::setBodyContentType ( std::string && body_content_type )[inline]
Moves the content of the Content-Type header.
Parameters
body_content_-type
Content of the Content-Type header
8.15.3.15 void eprosima::rpc::transport::HttpMessage::setBodyData ( const std::string & body_data ) [inline]
Copies the body of the HTTP message.
Parameters
body_data Body of the HTTP message
8.15.3.16 void eprosima::rpc::transport::HttpMessage::setBodyData ( std::string && body_data ) [inline]
Moves the body of the HTTP message.
Parameters
body_data Body of the HTTP message
8.15.3.17 void eprosima::rpc::transport::HttpMessage::setHost ( const std::string & host ) [inline]
Copies the HTTP host.
Parameters
host URL of the HTTP host. This string will be the content of the ’Host’ header.
8.15.3.18 void eprosima::rpc::transport::HttpMessage::setHost ( std::string && host ) [inline]
Moves the HTTP host.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
58 Class Documentation
Parameters
host URL of the HTTP host. This string will be the content of the ’Host’ header.
8.15.3.19 void eprosima::rpc::transport::HttpMessage::setMethod ( const Methods method ) [inline]
Sets the HTTP method of the request message.
Parameters
method HTTP request method to set
8.15.3.20 void eprosima::rpc::transport::HttpMessage::setResponseCode ( int32_t responseCode ) [inline]
Copies the HTTP response numeric code.
Parameters
responseCode HTTP response code.
8.15.3.21 void eprosima::rpc::transport::HttpMessage::setResponseStatus ( const std::string & responseStatus )[inline]
Copies the response status, a brief string explanation about the HTTP code.
Parameters
responseStatus HTTP status.
8.15.3.22 void eprosima::rpc::transport::HttpMessage::setResponseStatus ( std::string && responseStatus ) [inline]
Moves the response status, a brief string explanation about the HTTP code.
Parameters
responseStatus HTTP status.
8.15.3.23 void eprosima::rpc::transport::HttpMessage::setUri ( const std::string & uri ) [inline]
Copies the resource URI. This will be the requested resource in an HTTP request.
Parameters
uri URI of the requested resource
8.15.3.24 void eprosima::rpc::transport::HttpMessage::setUri ( std::string && uri ) [inline]
Moves the resource URI. This will be the requested resource in an HTTP request.
Parameters
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.16 eprosima::rpc::protocol::rest::HTTPMethod Class Reference 59
uri URI of the requested resource
8.15.3.25 void eprosima::rpc::transport::HttpMessage::setVersionCompatible ( bool b ) [inline]
Sets a boolean indicating if the HTTP version is 1.1.
Parameters
b This boolean has to be true for HTTP version 1.1 and false otherwise
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/messages/HttpMessage.h
8.16 eprosima::rpc::protocol::rest::HTTPMethod Class Reference
This class represents an HTTP method.
#include <HTTPEntities.h>
Public Member Functions
• HTTPMethod ()
Default constructor.
• HTTPMethod (Method method)
Copy constructor.
• ∼HTTPMethod ()
Default destructor.
• std::string & get_data ()
Gets a string representation of the HTTP method.
• Method getMethod ()
Gets an enumeration representation of the HTTP method.
• void set_data (const std::string &data)
Copies the string representation of an HTTP method.
• void set_data (std::string &&data)
Moves the string representation of an HTTP method.
8.16.1 Detailed Description
This class represents an HTTP method.
8.16.2 Member Function Documentation
8.16.2.1 std::string& eprosima::rpc::protocol::rest::HTTPMethod::get_data ( ) [inline]
Gets a string representation of the HTTP method.
Returns
The string representation of the HTTP method.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
60 Class Documentation
8.16.2.2 Method eprosima::rpc::protocol::rest::HTTPMethod::getMethod ( ) [inline]
Gets an enumeration representation of the HTTP method.
Returns
The enumeration representation of the HTTP method.
8.16.2.3 void eprosima::rpc::protocol::rest::HTTPMethod::set_data ( const std::string & data ) [inline]
Copies the string representation of an HTTP method.
Parameters
data A string representation of an HTTP method.
8.16.2.4 void eprosima::rpc::protocol::rest::HTTPMethod::set_data ( std::string && data ) [inline]
Moves the string representation of an HTTP method.
Parameters
data A string representation of an HTTP method.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/HTTPEntities.h
8.17 eprosima::rpc::protocol::rest::HTTPParam Class Reference
This class represents an HTTP query parameter.
#include <HTTPEntities.h>
Public Member Functions
• HTTPParam ()
Default constructor.
• HTTPParam (std::string &name, std::string &value)
HTTPParam constructor.
• ∼HTTPParam ()
Default destructor.
• std::string & get_data ()
Gets the string representation of an HTTP query parameter.
• void set_data (const std::string &data)
Copies the string representation of an HTTP query parameter.
• void set_data (std::string &&data)
Moves the string representation of an HTTP query parameter.
• string getName ()
Gets the parameter name.
• string getValue ()
Gets the parameter value.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.17 eprosima::rpc::protocol::rest::HTTPParam Class Reference 61
8.17.1 Detailed Description
This class represents an HTTP query parameter.
8.17.2 Constructor & Destructor Documentation
8.17.2.1 eprosima::rpc::protocol::rest::HTTPParam::HTTPParam ( std::string & name, std::string & value )
HTTPParam constructor.
Parameters
name Parameter name.value Parameter value.
8.17.3 Member Function Documentation
8.17.3.1 std::string& eprosima::rpc::protocol::rest::HTTPParam::get_data ( ) [inline]
Gets the string representation of an HTTP query parameter.
Returns
String representation of an HTTP query parameter.
8.17.3.2 string eprosima::rpc::protocol::rest::HTTPParam::getName ( ) [inline]
Gets the parameter name.
Returns
Parameter name.
8.17.3.3 string eprosima::rpc::protocol::rest::HTTPParam::getValue ( ) [inline]
Gets the parameter value.
Returns
Parameter value.
8.17.3.4 void eprosima::rpc::protocol::rest::HTTPParam::set_data ( const std::string & data ) [inline]
Copies the string representation of an HTTP query parameter.
Parameters
data String representation of an HTTP query parameter.
8.17.3.5 void eprosima::rpc::protocol::rest::HTTPParam::set_data ( std::string && data ) [inline]
Moves the string representation of an HTTP query parameter.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
62 Class Documentation
Parameters
data String representation of an HTTP query parameter.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/HTTPEntities.h
8.18 eprosima::rpc::protocol::rest::HTTPParameters Class Reference
This class represents an HTTP query parameter.
#include <HTTPEntities.h>
Public Member Functions
• HTTPParameters ()
Default constructor.
• ∼HTTPParameters ()
Default destructor.
• size_t & get_size ()
Gets the number of HTTP query parameters.
• std::vector< HTTPParam > & get_params ()
Gets the vector containing the HTTP query parameters.
• std::string & get_data ()
Gets a string representation of the HTTP query parameters.
• void set_data (std::string &&data)
Moves the string representation of the HTTP query parameters.
• void addParam (HTTPParam ¶m)
Adds an HTTPParam to the set of HTTP parameters.
• bool containsParam (string name)
Checks if the set already contains a certain HTTP query parameter.
8.18.1 Detailed Description
This class represents an HTTP query parameter.
8.18.2 Member Function Documentation
8.18.2.1 void eprosima::rpc::protocol::rest::HTTPParameters::addParam ( HTTPParam & param )
Adds an HTTPParam to the set of HTTP parameters.
Parameters
param HTTP parameter to add.
8.18.2.2 bool eprosima::rpc::protocol::rest::HTTPParameters::containsParam ( string name ) [inline]
Checks if the set already contains a certain HTTP query parameter.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference 63
Parameters
name Name of the HTTP parameter.
Returns
True if the parameter is in the set, false if it is not.
8.18.2.3 std::string& eprosima::rpc::protocol::rest::HTTPParameters::get_data ( ) [inline]
Gets a string representation of the HTTP query parameters.
Returns
String representation of the HTTP query parameters.
8.18.2.4 std::vector<HTTPParam>& eprosima::rpc::protocol::rest::HTTPParameters::get_params ( ) [inline]
Gets the vector containing the HTTP query parameters.
Returns
Vector containing the HTTP parameters.
8.18.2.5 size_t& eprosima::rpc::protocol::rest::HTTPParameters::get_size ( ) [inline]
Gets the number of HTTP query parameters.
Returns
Number of HTTP parameters.
8.18.2.6 void eprosima::rpc::protocol::rest::HTTPParameters::set_data ( std::string && data )
Moves the string representation of the HTTP query parameters.
Parameters
data String representation of the HTTP query parameters.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/HTTPEntities.h
8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference
This interface is the base of all proxy classes that implement an HTTP transport.
#include <HttpProxyTransport.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
64 Class Documentation
Inheritance diagram for eprosima::rpc::transport::HttpProxyTransport:
eprosima::rpc::transport::HttpProxyTransport
eprosima::rpc::transport::ProxyTransport
eprosima::rpc::transport::Transport
Collaboration diagram for eprosima::rpc::transport::HttpProxyTransport:
eprosima::rpc::transport::HttpProxyTransport
eprosima::rpc::transport::ProxyTransport
eprosima::rpc::transport::Transport
Public Member Functions
• HttpProxyTransport (const std::string &serverAddress)
Default constructor.
• virtual ∼HttpProxyTransport ()
Default destructor.
• virtual const char ∗ getType () const
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference 65
This function returns the type of the transport. In this case, it is HTTP.
• bool connect ()
Starts an HTTP connection with an HTTP server.
• bool send (const void ∗buffer, const size_t bufferSize)
Sends an HTTP request to the server.
• int receive (void ∗buffer, const size_t bufferSize, size_t &dataToRead)
Receives an HTTP response from the server.
8.19.1 Detailed Description
This interface is the base of all proxy classes that implement an HTTP transport.
8.19.2 Constructor & Destructor Documentation
8.19.2.1 eprosima::rpc::transport::HttpProxyTransport::HttpProxyTransport ( const std::string & serverAddress )
Default constructor.
Parameters
serverAddress Server IP address or URL.
8.19.3 Member Function Documentation
8.19.3.1 bool eprosima::rpc::transport::HttpProxyTransport::connect ( ) [virtual]
Starts an HTTP connection with an HTTP server.
Returns
true if the operation is successful, false otherwise.
Implements eprosima::rpc::transport::ProxyTransport.
8.19.3.2 int eprosima::rpc::transport::HttpProxyTransport::receive ( void ∗ buffer, const size_t bufferSize, size_t & dataToRead) [virtual]
Receives an HTTP response from the server.
Parameters
buffer Buffer that will contain the HTTP message.bufferSize This parameter is not used in this class.
dataToRead Number of bytes received.
Returns
-1 if the operation fails.
Implements eprosima::rpc::transport::ProxyTransport.
8.19.3.3 bool eprosima::rpc::transport::HttpProxyTransport::send ( const void ∗ buffer, const size_t bufferSize )[virtual]
Sends an HTTP request to the server.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
66 Class Documentation
Parameters
buffer Buffer containing the HTTP message.bufferSize This parameter is not used in this class.
Returns
true if the operation is successful, false otherwise.
Implements eprosima::rpc::transport::ProxyTransport.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/HttpProxyTransport.h
8.20 eprosima::rpc::protocol::rest::HTTPResponseCode Class Reference
This class represents the response code of an HTTP response message.
#include <HTTPEntities.h>
Public Member Functions
• HTTPResponseCode ()
Default constructor.
• HTTPResponseCode (std::string &code, std::string &text)
HTTPResponseCode constructor.
• ∼HTTPResponseCode ()
Default destructor.
• std::string & get_data ()
Gets a string representation of the HTTP response code.
• void set_data (std::string &data)
Copies the string representation of the HTTP response code.
• void set_data (std::string &&data)
Moves the string representation of the HTTP response code.
• int getStatusCode ()
Gets the HTTP status code as an integer.
8.20.1 Detailed Description
This class represents the response code of an HTTP response message.
8.20.2 Constructor & Destructor Documentation
8.20.2.1 eprosima::rpc::protocol::rest::HTTPResponseCode::HTTPResponseCode ( std::string & code, std::string & text )
HTTPResponseCode constructor.
Parameters
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.21 eprosima::rpc::transport::HttpServerTransport Class Reference 67
code HTTP response code.text HTTP response text.
8.20.3 Member Function Documentation
8.20.3.1 std::string& eprosima::rpc::protocol::rest::HTTPResponseCode::get_data ( ) [inline]
Gets a string representation of the HTTP response code.
Returns
String representation of the HTTP response code.
8.20.3.2 int eprosima::rpc::protocol::rest::HTTPResponseCode::getStatusCode ( ) [inline]
Gets the HTTP status code as an integer.
Returns
HTTP status code.
8.20.3.3 void eprosima::rpc::protocol::rest::HTTPResponseCode::set_data ( std::string & data ) [inline]
Copies the string representation of the HTTP response code.
Parameters
data String representation of the HTTP response code.
8.20.3.4 void eprosima::rpc::protocol::rest::HTTPResponseCode::set_data ( std::string && data ) [inline]
Moves the string representation of the HTTP response code.
Parameters
data String representation of the HTTP response code.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/HTTPEntities.h
8.21 eprosima::rpc::transport::HttpServerTransport Class Reference
This interface is the base of all classes that implement a transport that could be used by a proxy.
#include <HttpServerTransport.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
68 Class Documentation
Inheritance diagram for eprosima::rpc::transport::HttpServerTransport:
eprosima::rpc::transport::HttpServerTransport
eprosima::rpc::transport::ServerTransport
eprosima::rpc::transport::Transport
Collaboration diagram for eprosima::rpc::transport::HttpServerTransport:
eprosima::rpc::transport::HttpServerTransport
eprosima::rpc::transport::ServerTransport
eprosima::rpc::transport::Transport
Public Member Functions
• HttpServerTransport (const std::string &to_connect)
Default constructor.
• virtual ∼HttpServerTransport ()
Default destructor.
• virtual const char ∗ getType () const
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.21 eprosima::rpc::transport::HttpServerTransport Class Reference 69
This function returns the type of the transport.
• void run ()
This method runs the TCP server needed for the HTTP connections.
• void stop ()
This method stops the TCP server needed for the HTTP connections.
• void sendReply (void ∗data, size_t dataLength, Endpoint ∗connection)
This function is used to send a reply to a proxy.
• int receive (char ∗buffer, size_t bufferLength, size_t &dataToRead, Endpoint ∗endpoint)
This function does not apply to HTTP transport..
• void bossProcess (TCPEndpoint ∗connection)
This callback method is invoked when a request arrives. It makes the thread strategy schedule the incoming request.
• void worker (TCPEndpoint ∗connection)
This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.
8.21.1 Detailed Description
This interface is the base of all classes that implement a transport that could be used by a proxy.
8.21.2 Constructor & Destructor Documentation
8.21.2.1 eprosima::rpc::transport::HttpServerTransport::HttpServerTransport ( const std::string & to_connect )
Default constructor.
Parameters
to_connect Listening IP interface.
8.21.3 Member Function Documentation
8.21.3.1 void eprosima::rpc::transport::HttpServerTransport::bossProcess ( TCPEndpoint ∗ connection )
This callback method is invoked when a request arrives. It makes the thread strategy schedule the incoming request.
Parameters
connection Incoming endpoint.
8.21.3.2 void eprosima::rpc::transport::HttpServerTransport::sendReply ( void ∗ data, size_t dataLength, Endpoint ∗connection ) [virtual]
This function is used to send a reply to a proxy.
Parameters
data HTTP response to send.dataLength Length of the data to send.
endpoint Target endpoint to send the data to.
Implements eprosima::rpc::transport::ServerTransport.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
70 Class Documentation
8.21.3.3 void eprosima::rpc::transport::HttpServerTransport::worker ( TCPEndpoint ∗ connection )
This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.22 eprosima::rpc::protocol::rest::HTTPUri Class Reference 71
Parameters
connection Incoming endpoint
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/HttpServerTransport.h
8.22 eprosima::rpc::protocol::rest::HTTPUri Class Reference
This class represents an HTTP URI.
#include <HTTPEntities.h>
Public Member Functions
• HTTPUri ()
Default constructor.
• HTTPUri (std::string &path)
HTTPUri Constructor.
• ∼HTTPUri ()
Default constructor.
• void setHost (string host)
Sets the "host" part of the URI.
• void setBaseUri (string baseUri)
Sets the base URI of a given RESTful application.
• std::string getPath ()
Sets the "path" part of the URI.
• std::string getResourcePath ()
Gets the resources path of the URI. The resources path is the complete URI minus the declared base URI.
• std::string get_data ()
Gets a string representation of the URI.
• void set_data (std::string data)
Sets the string representation of the URI.
8.22.1 Detailed Description
This class represents an HTTP URI.
8.22.2 Constructor & Destructor Documentation
8.22.2.1 eprosima::rpc::protocol::rest::HTTPUri::HTTPUri ( std::string & path )
HTTPUri Constructor.
Parameters
path String representation of the URI.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
72 Class Documentation
8.22.3 Member Function Documentation
8.22.3.1 std::string eprosima::rpc::protocol::rest::HTTPUri::get_data ( ) [inline]
Gets a string representation of the URI.
Returns
String representation of the URI.
8.22.3.2 std::string eprosima::rpc::protocol::rest::HTTPUri::getPath ( ) [inline]
Sets the "path" part of the URI.
Returns
String representation of the path.
8.22.3.3 std::string eprosima::rpc::protocol::rest::HTTPUri::getResourcePath ( ) [inline]
Gets the resources path of the URI. The resources path is the complete URI minus the declared base URI.
Returns
String representation of the resources path.
8.22.3.4 void eprosima::rpc::protocol::rest::HTTPUri::set_data ( std::string data ) [inline]
Sets the string representation of the URI.
Parameters
data String representation of the URI.
8.22.3.5 void eprosima::rpc::protocol::rest::HTTPUri::setBaseUri ( string baseUri ) [inline]
Sets the base URI of a given RESTful application.
Parameters
host String representation of the base URI.
8.22.3.6 void eprosima::rpc::protocol::rest::HTTPUri::setHost ( string host ) [inline]
Sets the "host" part of the URI.
Parameters
host String representation of the host.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/HTTPEntities.h
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.23 eprosima::rpc::protocol::rest::HTTPVersion Class Reference 73
8.23 eprosima::rpc::protocol::rest::HTTPVersion Class Reference
This class represents an HTTP version.
#include <HTTPEntities.h>
Public Member Functions
• HTTPVersion ()
Default constructor.• ∼HTTPVersion ()
Default destructor.• void set_data (const std::string &data)
Copies the string representation of the HTTP version.• void set_data (std::string &&data)
Moves the string representation of the HTTP version.• std::string & get_data ()
Gets the string representation of the HTTP version.
Static Public Member Functions
• static HTTPVersion HTTPVersionRequest ()
Static constructor. Creates an empty HTTP version for a request message.• static HTTPVersion HTTPVersionResponse ()
Static constructor. Creates an empty HTTP version for a response message.• static HTTPVersion HTTPVersionRequest (std::string &version)
Static constructor. Creates an HTTP version for a request message.• static HTTPVersion HTTPVersionResponse (std::string &version)
Static constructor. Creates an HTTP version for a response message.
8.23.1 Detailed Description
This class represents an HTTP version.
8.23.2 Constructor & Destructor Documentation
8.23.2.1 eprosima::rpc::protocol::rest::HTTPVersion::HTTPVersion ( )
Default constructor.
Parameters
version HTTP version to copy.
8.23.3 Member Function Documentation
8.23.3.1 std::string& eprosima::rpc::protocol::rest::HTTPVersion::get_data ( ) [inline]
Gets the string representation of the HTTP version.
Returns
String representation of the HTTP version.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
74 Class Documentation
8.23.3.2 static HTTPVersion eprosima::rpc::protocol::rest::HTTPVersion::HTTPVersionRequest ( std::string & version )[static]
Static constructor. Creates an HTTP version for a request message.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.24 eprosima::rpc::exception::IncompatibleException Class Reference 75
Parameters
version HTTP version.
8.23.3.3 static HTTPVersion eprosima::rpc::protocol::rest::HTTPVersion::HTTPVersionResponse ( std::string & version )[static]
Static constructor. Creates an HTTP version for a response message.
Parameters
version HTTP version.
8.23.3.4 void eprosima::rpc::protocol::rest::HTTPVersion::set_data ( const std::string & data ) [inline]
Copies the string representation of the HTTP version.
Parameters
data String representation of the HTTP version.
8.23.3.5 void eprosima::rpc::protocol::rest::HTTPVersion::set_data ( std::string && data ) [inline]
Moves the string representation of the HTTP version.
Parameters
data String representation of the HTTP version.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/HTTPEntities.h
8.24 eprosima::rpc::exception::IncompatibleException Class Reference
This class is thrown as an exception when a selected protocol and transport are incompatible.
#include <IncompatibleException.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
76 Class Documentation
Inheritance diagram for eprosima::rpc::exception::IncompatibleException:
eprosima::rpc::exception::IncompatibleException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Collaboration diagram for eprosima::rpc::exception::IncompatibleException:
eprosima::rpc::exception::IncompatibleException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.24 eprosima::rpc::exception::IncompatibleException Class Reference 77
Public Member Functions
• IncompatibleException (const std::string &message)
Default constructor.• IncompatibleException (std::string &&message)
Default constructor.• IncompatibleException (const IncompatibleException &ex)
Default copy constructor.• IncompatibleException (IncompatibleException &&ex)
Default move constructor.• IncompatibleException & operator= (const IncompatibleException &ex)
Assigment operation.• IncompatibleException & operator= (IncompatibleException &&ex)
Assigment operation.• virtual ∼IncompatibleException () throw ()
Default constructor.• virtual void raise () const
This function throws the object as an exception.
Additional Inherited Members
8.24.1 Detailed Description
This class is thrown as an exception when a selected protocol and transport are incompatible.
8.24.2 Constructor & Destructor Documentation
8.24.2.1 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( const std::string & message )
Default constructor.
Parameters
message An error message. This message is copied.
8.24.2.2 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( std::string && message )
Default constructor.
Parameters
message An error message. This message is moved.
8.24.2.3 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( const IncompatibleException & ex )
Default copy constructor.
Parameters
ex IncompatibleException that will be copied.
8.24.2.4 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( IncompatibleException && ex )
Default move constructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
78 Class Documentation
Parameters
ex IncompatibleException that will be moved.
8.24.3 Member Function Documentation
8.24.3.1 IncompatibleException& eprosima::rpc::exception::IncompatibleException::operator= ( constIncompatibleException & ex )
Assigment operation.
Parameters
ex IncompatibleException that will be copied.
8.24.3.2 IncompatibleException& eprosima::rpc::exception::IncompatibleException::operator= (IncompatibleException && ex )
Assigment operation.
Parameters
ex IncompatibleException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/IncompatibleException.h
8.25 eprosima::rpc::exception::InitializeException Class Reference
This class is thrown as an exception when there is an error initializating an object.
#include <InitializeException.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.25 eprosima::rpc::exception::InitializeException Class Reference 79
Inheritance diagram for eprosima::rpc::exception::InitializeException:
eprosima::rpc::exception::InitializeException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Collaboration diagram for eprosima::rpc::exception::InitializeException:
eprosima::rpc::exception::InitializeException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
80 Class Documentation
Public Member Functions
• InitializeException (const std::string &message)
Default constructor.• InitializeException (std::string &&message)
Default constructor.• InitializeException (const InitializeException &ex)
Default copy constructor.• InitializeException (InitializeException &&ex)
Default move constructor.• InitializeException & operator= (const InitializeException &ex)
Assigment operation.• InitializeException & operator= (InitializeException &&ex)
Assigment operation.• virtual ∼InitializeException () throw ()
Default constructor.• virtual void raise () const
This function throws the object as an exception.
Additional Inherited Members
8.25.1 Detailed Description
This class is thrown as an exception when there is an error initializating an object.
8.25.2 Constructor & Destructor Documentation
8.25.2.1 eprosima::rpc::exception::InitializeException::InitializeException ( const std::string & message )
Default constructor.
Parameters
message An error message. This message is copied.
8.25.2.2 eprosima::rpc::exception::InitializeException::InitializeException ( std::string && message )
Default constructor.
Parameters
message An error message. This message is moved.
8.25.2.3 eprosima::rpc::exception::InitializeException::InitializeException ( const InitializeException & ex )
Default copy constructor.
Parameters
ex InitializeException that will be copied.
8.25.2.4 eprosima::rpc::exception::InitializeException::InitializeException ( InitializeException && ex )
Default move constructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.26 eprosima::rpc::protocol::Protocol Class Reference 81
Parameters
ex InitializeException that will be moved.
8.25.3 Member Function Documentation
8.25.3.1 InitializeException& eprosima::rpc::exception::InitializeException::operator= ( const InitializeException & ex )
Assigment operation.
Parameters
ex InitializeException that will be copied.
8.25.3.2 InitializeException& eprosima::rpc::exception::InitializeException::operator= ( InitializeException && ex )
Assigment operation.
Parameters
ex InitializeException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/InitializeException.h
8.26 eprosima::rpc::protocol::Protocol Class Reference
This abstract class represents the protocol used by the RPCs. It serializes and deserializes the information anduses a eprosima::rpc::transport::Transport to send it and receive it.
#include <Protocol.h>
Inheritance diagram for eprosima::rpc::protocol::Protocol:
eprosima::rpc::protocol::Protocol
eprosima::rpc::protocol::FooRESTProtocol
eprosima::rpc::protocol::rest::FooRESTProtocol
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
82 Class Documentation
Public Member Functions
• virtual bool setTransport (eprosima::rpc::transport::Transport &transport)=0
This method sets a eprosima::rpc::transport::Transport object, used for the communications.
Protected Member Functions
• Protocol ()
Default constructor.
• virtual ∼Protocol ()
Default destructor.
• eprosima::rpc::transport::Transport & getTransport () const
This method returns the eprosima::rpc::transport::Transport object, used for the communications.
• void _setTransport (eprosima::rpc::transport::Transport &transport)
This method sets a eprosima::rpc::transport::Transport object, used for the communications.
8.26.1 Detailed Description
This abstract class represents the protocol used by the RPCs. It serializes and deserializes the information anduses a eprosima::rpc::transport::Transport to send it and receive it.
8.26.2 Member Function Documentation
8.26.2.1 void eprosima::rpc::protocol::Protocol::_setTransport ( eprosima::rpc::transport::Transport & transport )[inline], [protected]
This method sets a eprosima::rpc::transport::Transport object, used for the communications.
Parameters
transport eprosima::rpc::transport::Transport to use for the communication.
8.26.2.2 eprosima::rpc::transport::Transport& eprosima::rpc::protocol::Protocol::getTransport ( ) const[inline], [protected]
This method returns the eprosima::rpc::transport::Transport object, used for the communications.
Returns
eprosima::rpc::transport::Transport used for the communications.
8.26.2.3 virtual bool eprosima::rpc::protocol::Protocol::setTransport ( eprosima::rpc::transport::Transport & transport )[pure virtual]
This method sets a eprosima::rpc::transport::Transport object, used for the communications.
Parameters
transport eprosima::rpc::transport::Transport to use for the communications.
Implemented in eprosima::rpc::protocol::rest::FooRESTProtocol, and eprosima::rpc::protocol::FooRESTProtocol.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/Protocol.h
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.27 eprosima::rpc::proxy::Proxy Class Reference 83
8.27 eprosima::rpc::proxy::Proxy Class Reference
This class implements the common functionalities that all server’s proxies have.
#include <Proxy.h>
Inheritance diagram for eprosima::rpc::proxy::Proxy:
eprosima::rpc::proxy::Proxy
FooREST::FooResourceProxy
Protected Member Functions
• Proxy (eprosima::rpc::transport::ProxyTransport &transport, eprosima::rpc::protocol::Protocol &protocol)
Proxy constructor.
• virtual ∼Proxy ()
The default destructor.
• eprosima::rpc::protocol::Protocol & getProtocol () const
Method to obtain the protocol.
• eprosima::rpc::transport::ProxyTransport & getTransport () const
Method to get the transport.
8.27.1 Detailed Description
This class implements the common functionalities that all server’s proxies have.
8.27.2 Constructor & Destructor Documentation
8.27.2.1 eprosima::rpc::proxy::Proxy::Proxy ( eprosima::rpc::transport::ProxyTransport & transport,eprosima::rpc::protocol::Protocol & protocol ) [protected]
Proxy constructor.
Parameters
transport The transport that will be used by the server’s proxy. This class doesn’t delete this object inits destructor.
protocol The protocol used to send information over the transport. This class doesn’t delete this objectin its destructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
84 Class Documentation
Exceptions
InitializeException This exception is thrown when the initialization went wrong.
8.27.3 Member Function Documentation
8.27.3.1 eprosima::rpc::protocol::Protocol& eprosima::rpc::proxy::Proxy::getProtocol ( ) const [inline],[protected]
Method to obtain the protocol.
Returns
The protocol used to send information over the transport
8.27.3.2 eprosima::rpc::transport::ProxyTransport& eprosima::rpc::proxy::Proxy::getTransport ( ) const[inline], [protected]
Method to get the transport.
Returns
The transport used used by the proxy
The documentation for this class was generated from the following file:
• includetmp/rpcrest/client/Proxy.h
8.28 eprosima::rpc::transport::ProxyTransport Class Reference
This interface is the base of all classes that implement a transport that can be used by the proxy.
#include <ProxyTransport.h>
Inheritance diagram for eprosima::rpc::transport::ProxyTransport:
eprosima::rpc::transport::ProxyTransport
eprosima::rpc::transport::HttpProxyTransport
eprosima::rpc::transport::TCPProxyTransport
eprosima::rpc::transport::Transport
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.28 eprosima::rpc::transport::ProxyTransport Class Reference 85
Collaboration diagram for eprosima::rpc::transport::ProxyTransport:
eprosima::rpc::transport::ProxyTransport
eprosima::rpc::transport::Transport
Public Member Functions
• ProxyTransport ()
Default constructor.
• virtual ∼ProxyTransport ()
Default destructor.
• virtual const char ∗ getType () const =0
This function returns the type of the transport. This function has to be implemented by the child classes.
• TransportBehaviour getBehaviour () const
This function returns the behaviour of the transport.
• virtual bool connect ()=0
Abstract method. It must start a connection with the server.
• virtual bool send (const void ∗buffer, const size_t bufferSize)=0
Abstract method. It must send a request to the server.
• virtual int receive (void ∗buffer, const size_t bufferSize, size_t &dataToRead)=0
Abstract method. It must receive a reply from the server.
8.28.1 Detailed Description
This interface is the base of all classes that implement a transport that can be used by the proxy.
8.28.2 Member Function Documentation
8.28.2.1 virtual bool eprosima::rpc::transport::ProxyTransport::connect ( ) [pure virtual]
Abstract method. It must start a connection with the server.
Returns
true if the operation is successful, false otherwise.
Implemented in eprosima::rpc::transport::TCPProxyTransport, and eprosima::rpc::transport::HttpProxyTransport.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
86 Class Documentation
8.28.2.2 TransportBehaviour eprosima::rpc::transport::ProxyTransport::getBehaviour ( ) const [inline],[virtual]
This function returns the behaviour of the transport.
Returns
The behaviour of the transport.
Implements eprosima::rpc::transport::Transport.
8.28.2.3 virtual int eprosima::rpc::transport::ProxyTransport::receive ( void ∗ buffer, const size_t bufferSize, size_t &dataToRead ) [pure virtual]
Abstract method. It must receive a reply from the server.
Parameters
buffer Buffer that will contain the HTTP message.bufferSize Size of the buffer.
dataToRead Number of bytes received.
Returns
-1 if the operation fails.
Implemented in eprosima::rpc::transport::TCPProxyTransport, and eprosima::rpc::transport::HttpProxyTransport.
8.28.2.4 virtual bool eprosima::rpc::transport::ProxyTransport::send ( const void ∗ buffer, const size_t bufferSize ) [purevirtual]
Abstract method. It must send a request to the server.
Parameters
buffer Buffer containing the requestbufferSize Buffer size
Returns
true if the operation is successful, false otherwise.
Implemented in eprosima::rpc::transport::TCPProxyTransport, and eprosima::rpc::transport::HttpProxyTransport.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/ProxyTransport.h
8.29 RESOURCES_BASE_URI Interface Reference
Public Attributes
• attribute string value
The documentation for this interface was generated from the following file:
• utils/doxygen/examples/restful/FooREST.idl
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 87
8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference
This class serializes REST data to get an HTTP message suitable for HTTP communications.
#include <RESTSerializer.h>
Public Member Functions
• RESTSerializer ()
Default constructor.
• ∼RESTSerializer ()
Default destructor.
• void reset ()
This function resets the buffer’s current position to the beginning.
• RESTSerializer & serialize (const std::string &string_t)
This function serializes a string.
• RESTSerializer & deserialize (std::string &string_t)
This function deserializes a string.
• RESTSerializer & serialize (HTTPMethod &method)
This function serializes an HTTP method.
• RESTSerializer & deserialize (HTTPMethod &method)
This function deserializes an HTTP method.
• RESTSerializer & serialize (HTTPUri &uri)
This function serializes an HTTP URI.
• RESTSerializer & deserialize (HTTPUri &uri)
This function deserializes an HTTP URI.
• RESTSerializer & serialize (HTTPVersion &version)
This function serializes an HTTP Version.
• RESTSerializer & deserialize (HTTPVersion &version)
This function deserializes an HTTP Version.
• RESTSerializer & serialize (HTTPData &data)
This function serializes an HTTP Body.
• RESTSerializer & deserialize (HTTPData &data)
This function deserializes an HTTP Body.
• RESTSerializer & serialize (HTTPResponseCode &responseCode)
This function serializes an HTTP Response code.
• RESTSerializer & deserialize (HTTPResponseCode &responseCode)
This function deserializes an HTTP Response code.
• RESTSerializer & serialize (HTTPParam ¶m)
This function serializes an HTTP Parameter.
• RESTSerializer & deserialize (HTTPParam ¶m)
This function deserializes an HTTP Parameter.
• RESTSerializer & serialize (HTTPParameters ¶ms)
This function serializes a set of HTTP Parameters.
• RESTSerializer & deserialize (HTTPParameters ¶ms)
This function deserializes an HTTP Parameters set.
• RESTSerializer & serialize (HTTPParameters ¶ms, size_t numElements)
This function serializes a set of HTTP Parameters.
• RESTSerializer & deserialize (HTTPParameters ¶ms, size_t numElements)
This function deserializes a set of HTTP Parameters.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
88 Class Documentation
• RESTSerializer & serializeQueryParameter (std::string &uri, const std::string ¶mName, const std::string¶mValue)
This function serializes an HTTP query parameter.• RESTSerializer & beginSerializeTemplateParameters (std::string &&uri)
This function initializes the proccess to serialize the template parameters inside the URI.• RESTSerializer & serializeTemplateParameter (const std::string ¶mValue)
This function serializes an HTTP template parameter in the URI.• RESTSerializer & endSerializeTemplateParameters (std::string &uri)
This function end the proccess to serialize the template parameters inside the URI.• RESTSerializer & deserializeUri (const std::string &uri, const std::string baseUri)
This function deserializes an HTTP URI.• bool existsTagLevel (const int level) const
Checks the existence of a path segment in a certain level in the URI.• std::string getTag (const int level)
Gets the path segment for a given level in the URI.• bool existsQueryParameter (const std::string &name)
Checks the presence of a certain HTTP query parameter.• std::string getQueryParameter (const std::string &name)
Gets the value of a certain HTTP query parameter.
8.30.1 Detailed Description
This class serializes REST data to get an HTTP message suitable for HTTP communications.
8.30.2 Member Function Documentation
8.30.2.1 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::beginSerializeTemplateParameters ( std::string &&uri )
This function initializes the proccess to serialize the template parameters inside the URI.
Parameters
uri URI to serialize the template parameters in.
Returns
Reference to the RESTSerializer object.
8.30.2.2 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( std::string & string_t )
This function deserializes a string.
Parameters
string_t The variable that will store the character read from the buffer.
Returns
Reference to the RESTSerializer object
8.30.2.3 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPMethod & method )
This function deserializes an HTTP method.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 89
Parameters
method Variable that will store the character read from the buffer.
Returns
Reference to the RESTSerializer object
8.30.2.4 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPUri & uri )
This function deserializes an HTTP URI.
Parameters
uri Variable that will store the URI read from the buffer.
Returns
Reference to the RESTSerializer object.
8.30.2.5 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPVersion & version )
This function deserializes an HTTP Version.
Parameters
version Variable that will store the HTTPVersion read from the buffer.
Returns
Reference to the RESTSerializer object.
8.30.2.6 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPData & data )
This function deserializes an HTTP Body.
Parameters
data Variable that will store the HTTPData read from the buffer.
Returns
Reference to the RESTSerializer object.
8.30.2.7 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPResponseCode &responseCode )
This function deserializes an HTTP Response code.
Parameters
responseCode The variable that will store the response code (HTTPResponseCode) read from the buffer.
Returns
Reference to the RESTSerializer object.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
90 Class Documentation
8.30.2.8 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPParam & param )
This function deserializes an HTTP Parameter.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 91
Parameters
param The variable that will store the HTTPParam read from the buffer.
Returns
Reference to the RESTSerializer object.
8.30.2.9 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPParameters & params )
This function deserializes an HTTP Parameters set.
Parameters
params The variable that will store the HTTPParameters object read from the buffer.
Returns
Reference to the RESTSerializer object.
8.30.2.10 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPParameters & params,size_t numElements )
This function deserializes a set of HTTP Parameters.
Parameters
params The variable that will store the character read from the buffer.numElements Nomber of parameters to deserialize.
Returns
Reference to the RESTSerializer object.
8.30.2.11 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserializeUri ( const std::string & uri, conststd::string baseUri )
This function deserializes an HTTP URI.
Parameters
uri Variable that will store the character read from the buffer.baseUri Base URI for the RESTful application.
Returns
Reference to the RESTSerializer object.
8.30.2.12 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::endSerializeTemplateParameters ( std::string & uri)
This function end the proccess to serialize the template parameters inside the URI.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
92 Class Documentation
Parameters
uri Variable that will store the expanded URI with the template parameters.
Returns
Reference to the RESTSerializer object.
8.30.2.13 bool eprosima::rpc::protocol::rest::RESTSerializer::existsQueryParameter ( const std::string & name )[inline]
Checks the presence of a certain HTTP query parameter.
Parameters
name HTTP query parameter name.
Returns
true if it exists, false if it does not.
8.30.2.14 bool eprosima::rpc::protocol::rest::RESTSerializer::existsTagLevel ( const int level ) const [inline]
Checks the existence of a path segment in a certain level in the URI.
Parameters
level Level of the path segment.
Returns
true if it exists, false if it does not.
8.30.2.15 std::string eprosima::rpc::protocol::rest::RESTSerializer::getQueryParameter ( const std::string & name )[inline]
Gets the value of a certain HTTP query parameter.
Parameters
name HTTP query parameter name.
Returns
HTTP query parameter value.
8.30.2.16 std::string eprosima::rpc::protocol::rest::RESTSerializer::getTag ( const int level ) [inline]
Gets the path segment for a given level in the URI.
Parameters
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 93
level Level of the path segment.
Returns
The tag for the given level.
8.30.2.17 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( const std::string & string_t )
This function serializes a string.
Parameters
string_t reference to the string to serialize
Returns
Reference to the RESTSerializer object
8.30.2.18 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPMethod & method )
This function serializes an HTTP method.
Parameters
method reference to the method that will do the serialization.
Returns
Reference to the RESTSerializer object
8.30.2.19 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPUri & uri )
This function serializes an HTTP URI.
Parameters
uri Reference to the URI to be serialized.
Returns
Reference to the RESTSerializer object.
8.30.2.20 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPVersion & version )
This function serializes an HTTP Version.
Parameters
version Reference to the HTTPVersion to serialize
Returns
Reference to the RESTSerializer object
8.30.2.21 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPData & data )
This function serializes an HTTP Body.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
94 Class Documentation
Parameters
data Reference to the HTTPData to serialize.
Returns
Reference to the RESTSerializer object.
8.30.2.22 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPResponseCode &responseCode )
This function serializes an HTTP Response code.
Parameters
responseCode Reference to the response code (HTTPResponseCode) to serialize.
Returns
Reference to the RESTSerializer object.
8.30.2.23 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPParam & param )
This function serializes an HTTP Parameter.
Parameters
param Reference to the parameter to serialize
Returns
Reference to the RESTSerializer object
8.30.2.24 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPParameters & params )
This function serializes a set of HTTP Parameters.
Parameters
params Reference to the parameter set to serialize.
Returns
Reference to the RESTSerializer object.
8.30.2.25 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPParameters & params, size_tnumElements )
This function serializes a set of HTTP Parameters.
Parameters
reference to the set of parameters to serialize.numElements number of parameters to serialize.
Returns
Reference to the RESTSerializer object.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 95
8.30.2.26 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serializeQueryParameter ( std::string & uri, conststd::string & paramName, const std::string & paramValue )
This function serializes an HTTP query parameter.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
96 Class Documentation
Parameters
uri HTTP URI with all the serialized parameters.paramName Parameter name.paramValue Parameter value.
Returns
Reference to the RESTSerializer object.
8.30.2.27 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serializeTemplateParameter ( const std::string ¶mValue )
This function serializes an HTTP template parameter in the URI.
Parameters
paramValue Reference to the parameter value to serialize.
Returns
Reference to the RESTSerializer object.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/protocols/rest/RESTSerializer.h
8.31 eprosima::rpc::server::Server Class Reference
This class implements the common functionalities that any server has.
#include <Server.h>
Inheritance diagram for eprosima::rpc::server::Server:
eprosima::rpc::server::Server
FooREST::FooResourceServer
Public Member Functions
• void serve ()
This function makes the server starts listening requests.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.31 eprosima::rpc::server::Server Class Reference 97
Exceptions
eprosima::rpc::exception::-InitializeException
This exception is thrown when the initialization fails for any reason.
• void stop ()
This function closes the server’s communications.
Static Public Member Functions
• static void process (Server &server, void ∗data, eprosima::rpc::transport::Endpoint &endpoint)
This callback is invoked by the ServerStrategy. It processes a request.
Protected Member Functions
• Server (eprosima::rpc::strategy::ServerStrategy &strategy, eprosima::rpc::transport::ServerTransport &trans-port, eprosima::rpc::protocol::Protocol &protocol)
A constructor. The associated domain participant is created.
• virtual ∼Server ()
The default destructor.
8.31.1 Detailed Description
This class implements the common functionalities that any server has.
8.31.2 Constructor & Destructor Documentation
8.31.2.1 eprosima::rpc::server::Server::Server ( eprosima::rpc::strategy::ServerStrategy & strategy,eprosima::rpc::transport::ServerTransport & transport, eprosima::rpc::protocol::Protocol & protocol )[protected]
A constructor. The associated domain participant is created.
Parameters
serviceName The service’s name that proxies will use to connect with the server.strategy The strategy used by the server to execute new requests. This class doesn’t delete this object
in its destructor. It cannot be NULL.transport The transport that will use the server. This class doesn’t delete this object in its destructor. If
the pointer is NULL, then a default UDPTransport will be used.domainId The domain id’s value that the server proxy will set in the domain participant.
Exceptions
InitializeException This exception is thrown when the initialization was wrong.
8.31.3 Member Function Documentation
8.31.3.1 static void eprosima::rpc::server::Server::process ( Server & server, void ∗ data,eprosima::rpc::transport::Endpoint & endpoint ) [static]
This callback is invoked by the ServerStrategy. It processes a request.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
98 Class Documentation
Parameters
server The invoked server.data The request data.
endpoint The request endpoint.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/server/Server.h
8.32 eprosima::rpc::exception::ServerInternalException Class Reference
This class is thrown as an exception when there is an error in the server side.
#include <ServerInternalException.h>
Inheritance diagram for eprosima::rpc::exception::ServerInternalException:
eprosima::rpc::exception::ServerInternalException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.32 eprosima::rpc::exception::ServerInternalException Class Reference 99
Collaboration diagram for eprosima::rpc::exception::ServerInternalException:
eprosima::rpc::exception::ServerInternalException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Public Member Functions
• ServerInternalException (const std::string &message)
Default constructor.
• ServerInternalException (std::string &&message)
Default constructor.
• ServerInternalException (const ServerInternalException &ex)
Default copy constructor.
• ServerInternalException (ServerInternalException &&ex)
Default move constructor.
• ServerInternalException & operator= (const ServerInternalException &ex)
Assigment operation.
• ServerInternalException & operator= (ServerInternalException &&ex)
Assigment operation.
• virtual ∼ServerInternalException () throw ()
Default constructor.
• virtual void raise () const
This function throws the object as an exception.
Additional Inherited Members
8.32.1 Detailed Description
This class is thrown as an exception when there is an error in the server side.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
100 Class Documentation
8.32.2 Constructor & Destructor Documentation
8.32.2.1 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( const std::string & message )
Default constructor.
Parameters
message An error message. This message is copied.
8.32.2.2 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( std::string && message )
Default constructor.
Parameters
message An error message. This message is moved.
8.32.2.3 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( const ServerInternalException & ex)
Default copy constructor.
Parameters
ex ServerInternalException that will be copied.
8.32.2.4 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( ServerInternalException && ex )
Default move constructor.
Parameters
ex ServerInternalException that will be moved.
8.32.3 Member Function Documentation
8.32.3.1 ServerInternalException& eprosima::rpc::exception::ServerInternalException::operator= ( constServerInternalException & ex )
Assigment operation.
Parameters
ex ServerInternalException that will be copied.
8.32.3.2 ServerInternalException& eprosima::rpc::exception::ServerInternalException::operator= (ServerInternalException && ex )
Assigment operation.
Parameters
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference 101
ex ServerInternalException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/ServerInternalException.h
8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference
This class is thrown as an exception when the server is not found.
#include <ServerNotFoundException.h>
Inheritance diagram for eprosima::rpc::exception::ServerNotFoundException:
eprosima::rpc::exception::ServerNotFoundException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
102 Class Documentation
Collaboration diagram for eprosima::rpc::exception::ServerNotFoundException:
eprosima::rpc::exception::ServerNotFoundException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Public Member Functions
• ServerNotFoundException (const std::string &message)
Default constructor.
• ServerNotFoundException (std::string &&message)
Default constructor.
• ServerNotFoundException (const ServerNotFoundException &ex)
Default copy constructor.
• ServerNotFoundException (ServerNotFoundException &&ex)
Default move constructor.
• ServerNotFoundException & operator= (const ServerNotFoundException &ex)
Assigment operation.
• ServerNotFoundException & operator= (ServerNotFoundException &&ex)
Assigment operation.
• virtual ∼ServerNotFoundException () throw ()
Default constructor.
• virtual void raise () const
This function throws the object as an exception.
Additional Inherited Members
8.33.1 Detailed Description
This class is thrown as an exception when the server is not found.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference 103
8.33.2 Constructor & Destructor Documentation
8.33.2.1 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( const std::string & message )
Default constructor.
Parameters
message An error message. This message is copied.
8.33.2.2 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( std::string && message )
Default constructor.
Parameters
message An error message. This message is moved.
8.33.2.3 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( constServerNotFoundException & ex )
Default copy constructor.
Parameters
ex ServerNotFoundException that will be copied.
8.33.2.4 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( ServerNotFoundException &&ex )
Default move constructor.
Parameters
ex ServerNotFoundException that will be moved.
8.33.3 Member Function Documentation
8.33.3.1 ServerNotFoundException& eprosima::rpc::exception::ServerNotFoundException::operator= ( constServerNotFoundException & ex )
Assigment operation.
Parameters
ex ServerNotFoundException that will be copied.
8.33.3.2 ServerNotFoundException& eprosima::rpc::exception::ServerNotFoundException::operator= (ServerNotFoundException && ex )
Assigment operation.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
104 Class Documentation
Parameters
ex ServerNotFoundException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/ServerNotFoundException.h
8.34 eprosima::rpc::strategy::ServerStrategy Class Reference
This class is the base of all classes that implement a server strategy. that could be used by the server.
#include <ServerStrategy.h>
Inheritance diagram for eprosima::rpc::strategy::ServerStrategy:
eprosima::rpc::strategy::ServerStrategy
eprosima::rpc::strategy::SingleThreadStrategy
eprosima::rpc::strategy::ThreadPerRequestStrategy
eprosima::rpc::strategy::ThreadPoolStrategy
Public Member Functions
• ServerStrategy ()
Default constructor.
• virtual ∼ServerStrategy ()
Default destructor.
• virtual ServerStrategyImpl ∗ getImpl ()=0
Gets the implementation of the strategy using Boost library.
8.34.1 Detailed Description
This class is the base of all classes that implement a server strategy. that could be used by the server.
8.34.2 Member Function Documentation
8.34.2.1 virtual ServerStrategyImpl∗ eprosima::rpc::strategy::ServerStrategy::getImpl ( ) [pure virtual]
Gets the implementation of the strategy using Boost library.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.35 eprosima::rpc::strategy::ServerStrategyImpl Class Reference 105
Returns
Implementation of the strategy.
Implemented in eprosima::rpc::strategy::ThreadPoolStrategy, eprosima::rpc::strategy::SingleThreadStrategy, andeprosima::rpc::strategy::ThreadPerRequestStrategy.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/strategies/ServerStrategy.h
8.35 eprosima::rpc::strategy::ServerStrategyImpl Class Reference
This class is the base of all classes that implement a server strategy. that could be used by the server.
#include <ServerStrategyImpl.h>
Public Member Functions
• ServerStrategyImpl ()
Default constructor.
• virtual ∼ServerStrategyImpl ()
Default destructor.
• virtual void schedule (boost::function< void()> callback)=0
This function schedules an incoming request. This function has to be implemented by the derived classes.
8.35.1 Detailed Description
This class is the base of all classes that implement a server strategy. that could be used by the server.
8.35.2 Member Function Documentation
8.35.2.1 virtual void eprosima::rpc::strategy::ServerStrategyImpl::schedule ( boost::function< void()> callback ) [purevirtual]
This function schedules an incoming request. This function has to be implemented by the derived classes.
Parameters
callback The Server’s method to invoke when a request arrives.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/strategies/ServerStrategyImpl.h
8.36 eprosima::rpc::exception::ServerTimeoutException Class Reference
This class is thrown as an exception when the remote procedure call exceeds the maximum time.
#include <ServerTimeoutException.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
106 Class Documentation
Inheritance diagram for eprosima::rpc::exception::ServerTimeoutException:
eprosima::rpc::exception::ServerTimeoutException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Collaboration diagram for eprosima::rpc::exception::ServerTimeoutException:
eprosima::rpc::exception::ServerTimeoutException
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.36 eprosima::rpc::exception::ServerTimeoutException Class Reference 107
Public Member Functions
• ServerTimeoutException (const std::string &message)
Default constructor.
• ServerTimeoutException (std::string &&message)
Default constructor.
• ServerTimeoutException (const ServerTimeoutException &ex)
Default copy constructor.
• ServerTimeoutException (ServerTimeoutException &&ex)
Default move constructor.
• ServerTimeoutException & operator= (const ServerTimeoutException &ex)
Assigment operation.
• ServerTimeoutException & operator= (ServerTimeoutException &&ex)
Assigment operation.
• virtual ∼ServerTimeoutException () throw ()
Default constructor.
• virtual void raise () const
This function throws the object as an exception.
Additional Inherited Members
8.36.1 Detailed Description
This class is thrown as an exception when the remote procedure call exceeds the maximum time.
8.36.2 Constructor & Destructor Documentation
8.36.2.1 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( const std::string & message )
Default constructor.
Parameters
message An error message. This message is copied.
8.36.2.2 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( std::string && message )
Default constructor.
Parameters
message An error message. This message is moved.
8.36.2.3 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( const ServerTimeoutException &ex )
Default copy constructor.
Parameters
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
108 Class Documentation
ex ServerTimeoutException that will be copied.
8.36.2.4 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( ServerTimeoutException && ex )
Default move constructor.
Parameters
ex ServerTimeoutException that will be moved.
8.36.3 Member Function Documentation
8.36.3.1 ServerTimeoutException& eprosima::rpc::exception::ServerTimeoutException::operator= ( constServerTimeoutException & ex )
Assigment operation.
Parameters
ex ServerTimeoutException that will be copied.
8.36.3.2 ServerTimeoutException& eprosima::rpc::exception::ServerTimeoutException::operator= (ServerTimeoutException && ex )
Assigment operation.
Parameters
ex ServerTimeoutException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/ServerTimeoutException.h
8.37 eprosima::rpc::transport::ServerTransport Class Reference
This interface is the base of all classes that implement a transport that can be used by the server.
#include <ServerTransport.h>
Inheritance diagram for eprosima::rpc::transport::ServerTransport:
eprosima::rpc::transport::ServerTransport
eprosima::rpc::transport::HttpServerTransport
eprosima::rpc::transport::TCPServerTransport
eprosima::rpc::transport::Transport
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.37 eprosima::rpc::transport::ServerTransport Class Reference 109
Collaboration diagram for eprosima::rpc::transport::ServerTransport:
eprosima::rpc::transport::ServerTransport
eprosima::rpc::transport::Transport
Public Member Functions
• ServerTransport ()
Default constructor.
• virtual ∼ServerTransport ()
Default destructor.
• void setStrategy (eprosima::rpc::strategy::ServerStrategy &strategy)
Sets the threading strategy.
• void linkProtocol (eprosima::rpc::protocol::Protocol &protocol)
Sets the communication protocol.
• eprosima::rpc::protocol::Protocol & getLinkedProtocol ()
Gets the communication protocol.
• eprosima::rpc::strategy::ServerStrategy & getStrategy () const
Gets the threading strategy.
• ServerTransport_Callback getCallback () const
Gets the callback that will proccess the requests.
• void setCallback (ServerTransport_Callback callback)
Gets the callback that will proccess the requests.
• TransportBehaviour getBehaviour () const
This function returns the behaviour of the transport.
• virtual const char ∗ getType () const =0
This function returns the type of the transport. This function has to be implemented by the child classes.
• virtual void run ()=0
This method runs the TCP server needed for the HTTP connections.
• virtual void stop ()=0
This method stops the TCP server needed for the HTTP connections.
• virtual void sendReply (void ∗data, size_t dataLength, Endpoint ∗endpoint)=0
This function is used to send a reply to a proxy.
• virtual int receive (char ∗buffer, size_t bufferLength, size_t &dataToRead, Endpoint ∗endpoint)=0
This function is used to send a reply to a proxy.
8.37.1 Detailed Description
This interface is the base of all classes that implement a transport that can be used by the server.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
110 Class Documentation
8.37.2 Member Function Documentation
8.37.2.1 TransportBehaviour eprosima::rpc::transport::ServerTransport::getBehaviour ( ) const [inline],[virtual]
This function returns the behaviour of the transport.
Returns
The behaviour of the transport.
Implements eprosima::rpc::transport::Transport.
8.37.2.2 ServerTransport_Callback eprosima::rpc::transport::ServerTransport::getCallback ( ) const [inline]
Gets the callback that will proccess the requests.
Returns
Callback that will proccess the requests.
8.37.2.3 eprosima::rpc::protocol::Protocol& eprosima::rpc::transport::ServerTransport::getLinkedProtocol ( )[inline]
Gets the communication protocol.
Returns
Communication protocol.
8.37.2.4 eprosima::rpc::strategy::ServerStrategy& eprosima::rpc::transport::ServerTransport::getStrategy ( ) const[inline]
Gets the threading strategy.
Returns
Threading strategy.
8.37.2.5 void eprosima::rpc::transport::ServerTransport::linkProtocol ( eprosima::rpc::protocol::Protocol & protocol )[inline]
Sets the communication protocol.
Parameters
protocol Communication protocol.
8.37.2.6 virtual int eprosima::rpc::transport::ServerTransport::receive ( char ∗ buffer, size_t bufferLength, size_t & dataToRead,Endpoint ∗ endpoint ) [pure virtual]
This function is used to send a reply to a proxy.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.38 eprosima::rpc::strategy::SingleThreadStrategy Class Reference 111
Parameters
buffer Buffer to allocate the received databufferLength Size of the bufferdataToRead Size of the data to read
endpoint Endpoint to receive the data from
Implemented in eprosima::rpc::transport::TCPServerTransport, and eprosima::rpc::transport::HttpServerTransport.
8.37.2.7 virtual void eprosima::rpc::transport::ServerTransport::sendReply ( void ∗ data, size_t dataLength, Endpoint ∗endpoint ) [pure virtual]
This function is used to send a reply to a proxy.
Parameters
data Response to send.dataLength Length of the data to send.
endpoint Targeg entpoint to send the data to.
Implemented in eprosima::rpc::transport::TCPServerTransport, and eprosima::rpc::transport::HttpServerTransport.
8.37.2.8 void eprosima::rpc::transport::ServerTransport::setCallback ( ServerTransport_Callback callback ) [inline]
Gets the callback that will proccess the requests.
Parameters
Callback Callback that will proccess the requests.
8.37.2.9 void eprosima::rpc::transport::ServerTransport::setStrategy ( eprosima::rpc::strategy::ServerStrategy &strategy ) [inline]
Sets the threading strategy.
Parameters
strategy Threading strategy.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/ServerTransport.h
8.38 eprosima::rpc::strategy::SingleThreadStrategy Class Reference
This class implements the sigle thread strategy. The server uses a reception thread to execute all the requests.
#include <SingleThreadStrategy.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
112 Class Documentation
Inheritance diagram for eprosima::rpc::strategy::SingleThreadStrategy:
eprosima::rpc::strategy::SingleThreadStrategy
eprosima::rpc::strategy::ServerStrategy
Collaboration diagram for eprosima::rpc::strategy::SingleThreadStrategy:
eprosima::rpc::strategy::SingleThreadStrategy
eprosima::rpc::strategy::ServerStrategy
Public Member Functions
• SingleThreadStrategy ()
Default constructor.
• virtual ∼SingleThreadStrategy ()
Default destructor.
• ServerStrategyImpl ∗ getImpl ()
Gets the implementation of the strategy using Boost library.
8.38.1 Detailed Description
This class implements the sigle thread strategy. The server uses a reception thread to execute all the requests.
8.38.2 Member Function Documentation
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.39 eprosima::rpc::exception::SystemException Class Reference 113
8.38.2.1 ServerStrategyImpl∗ eprosima::rpc::strategy::SingleThreadStrategy::getImpl ( ) [virtual]
Gets the implementation of the strategy using Boost library.
Returns
Implementation of the strategy
Implements eprosima::rpc::strategy::ServerStrategy.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/strategies/SingleThreadStrategy.h
8.39 eprosima::rpc::exception::SystemException Class Reference
This abstract class is used to create internal FASTRPC exceptions.
#include <SystemException.h>
Inheritance diagram for eprosima::rpc::exception::SystemException:
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::BadParamException
eprosima::rpc::exception::ClientInternalException
eprosima::rpc::exception::IncompatibleException
eprosima::rpc::exception::InitializeException
eprosima::rpc::exception::ServerInternalException
eprosima::rpc::exception::ServerNotFoundException
eprosima::rpc::exception::ServerTimeoutException
eprosima::rpc::exception::Exceptionstd::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
114 Class Documentation
Collaboration diagram for eprosima::rpc::exception::SystemException:
eprosima::rpc::exception::SystemException
eprosima::rpc::exception::Exception
std::exception
Public Member Functions
• virtual ∼SystemException () throw ()
Default destructor.• const int32_t & minor () const
This function returns the number associated with the system exception.• void minor (const int32_t &minor)
This function sets the number that will be associated with the system exception.• virtual void raise () const =0
This function throws the object as an exception.• virtual const char ∗ what () const throw ()
This function returns the error message.
Protected Member Functions
• SystemException (const std::string &message)
Default constructor.• SystemException (std::string &&message)
Default constructor.• SystemException (const SystemException &ex)
Default copy constructor.• SystemException (SystemException &&ex)
Default move constructor.• SystemException (const std::string &message, int32_t minor)
Constructor.• SystemException (std::string &&message, int32_t minor)
Constructor.• SystemException & operator= (const SystemException &ex)
Assigment operation.• SystemException & operator= (SystemException &&ex)
Assigment operation.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.39 eprosima::rpc::exception::SystemException Class Reference 115
8.39.1 Detailed Description
This abstract class is used to create internal FASTRPC exceptions.
8.39.2 Constructor & Destructor Documentation
8.39.2.1 eprosima::rpc::exception::SystemException::SystemException ( const std::string & message ) [protected]
Default constructor.
Parameters
message An error message. This message is copied.
8.39.2.2 eprosima::rpc::exception::SystemException::SystemException ( std::string && message ) [protected]
Default constructor.
Parameters
message An error message. This message is moved.
8.39.2.3 eprosima::rpc::exception::SystemException::SystemException ( const SystemException & ex )[protected]
Default copy constructor.
Parameters
ex SystemException that will be copied.
8.39.2.4 eprosima::rpc::exception::SystemException::SystemException ( SystemException && ex ) [protected]
Default move constructor.
Parameters
ex SystemException that will be moved.
8.39.2.5 eprosima::rpc::exception::SystemException::SystemException ( const std::string & message, int32_t minor )[protected]
Constructor.
Parameters
message An error message. This message is copied.minor The number that will be associated with the system exception.
8.39.2.6 eprosima::rpc::exception::SystemException::SystemException ( std::string && message, int32_t minor )[protected]
Constructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
116 Class Documentation
Parameters
message An error message. This message is moved.minor The number that will be associated with the system exception.
8.39.3 Member Function Documentation
8.39.3.1 const int32_t& eprosima::rpc::exception::SystemException::minor ( ) const
This function returns the number associated with the system exception.
Returns
The number associated with the system exception.
8.39.3.2 void eprosima::rpc::exception::SystemException::minor ( const int32_t & minor )
This function sets the number that will be associated with the system exception.
Parameters
minor The number that will be associated with the system exception.
8.39.3.3 SystemException& eprosima::rpc::exception::SystemException::operator= ( const SystemException & ex )[protected]
Assigment operation.
Parameters
ex SystemException that will be copied.
8.39.3.4 SystemException& eprosima::rpc::exception::SystemException::operator= ( SystemException && ex )[protected]
Assigment operation.
Parameters
ex SystemException that will be moved.
8.39.3.5 virtual const char∗ eprosima::rpc::exception::SystemException::what ( ) const throw ) [virtual]
This function returns the error message.
Returns
The error message.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/SystemException.h
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.40 eprosima::rpc::transport::TCPEndpoint Class Reference 117
8.40 eprosima::rpc::transport::TCPEndpoint Class Reference
This class represents a TCP endpoint.
#include <TCPEndpoint.h>
Inheritance diagram for eprosima::rpc::transport::TCPEndpoint:
eprosima::rpc::transport::TCPEndpoint
boost::enable_shared_from_this<TCPEndpoint>
eprosima::rpc::transport::Endpoint
boost::noncopyable
Collaboration diagram for eprosima::rpc::transport::TCPEndpoint:
eprosima::rpc::transport::TCPEndpoint
boost::enable_shared_from_this<TCPEndpoint>
eprosima::rpc::transport::Endpoint
boost::noncopyable
Public Member Functions
• TCPEndpoint (void)
Default constructor.
• bool initializeBuffers ()
This method allocates memory for the internal buffers.
• void finalizeBuffers ()
This method frees the memory from the internal buffers.
• char ∗ getReadBuffer () const
This method gets the read buffer.
• size_t getReadBufferFillUse () const
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
118 Class Documentation
This method gets the used number of bytes of the read buffer.
• void increaseReadBufferFillUse (size_t numData)
This method adds a certain number of bytes to the read buffer.
• size_t getReadBufferEmptySpace () const
This method gets the number of free bytes.
• size_t getReadBufferLeftSpace () const
This method gets the number of bytes not yet read from the read buffer.
• size_t getReadBufferLength () const
This method gets the read buffer length.
• char ∗ getReadBufferCurrentPointer () const
This method gets the pointer to the current read position in the read buffer.
• void increaseReadBufferCurrentPointer (size_t move)
This method moves the read position in the read buffer.
• size_t getReadBufferLeftUsedSpace () const
This method gets the number of bytes not yet read from the used read buffer.
• int resizeReadBuffer (size_t minSize)
Resizes the read buffer.
• void refillReadBuffer ()
This method moves the unread bytes of the read buffer to the beginning of the buffer.
• char ∗ getWriteBuffer ()
Gets the write buffer.
• size_t getWriteBufferUsage () const
Gets the number of used bytes in the write buffer.
• size_t getWriteBufferLength () const
Gets the length of the write buffer.
• bool resizeWriteBuffer (size_t minSize)
Resizes the write buffer.
• void resetWriteBuffer ()
Resets the write buffer.
• bool write (const std::string &str)
Writes a string in the write buffer.
• bool write (int32_t num)
Writes an integer in the write buffer.
• bool isOpen ()
This method checks if the connection with the endpoint is open or closed.
• boost::shared_ptr< boost::asio::ip::tcp::socket > & socket ()
Gets the socket to connect to the endpoint.
Public Attributes
• boost::shared_ptr< boost::asio::ip::tcp::socket > socket_
socket to connect to the endpoint.
• boost::asio::io_service io_service_
io_service to connect to the endpoint.
• boost::asio::io_service ∗ master_io_service_
Master io_service to connect to the endpoint.
• boost::asio::ip::tcp::endpoint endpoint_
TCP endpoint to connect to the endpoint.
• boost::shared_ptr< boost::thread > thread_
Thread to run the communications with the endpoint.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.40 eprosima::rpc::transport::TCPEndpoint Class Reference 119
Additional Inherited Members
8.40.1 Detailed Description
This class represents a TCP endpoint.
8.40.2 Member Function Documentation
8.40.2.1 char∗ eprosima::rpc::transport::TCPEndpoint::getReadBuffer ( ) const [inline]
This method gets the read buffer.
Returns
Read buffer.
8.40.2.2 char∗ eprosima::rpc::transport::TCPEndpoint::getReadBufferCurrentPointer ( ) const [inline]
This method gets the pointer to the current read position in the read buffer.
Returns
Pointer to the current read position in the read buffer.
8.40.2.3 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferEmptySpace ( ) const [inline]
This method gets the number of free bytes.
Returns
Read buffer’s free bytes.
8.40.2.4 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferFillUse ( ) const [inline]
This method gets the used number of bytes of the read buffer.
Returns
Read buffer’s used number of bytes.
8.40.2.5 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferLeftSpace ( ) const [inline]
This method gets the number of bytes not yet read from the read buffer.
Returns
Number of bytes not yet read from the read buffer.
8.40.2.6 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferLeftUsedSpace ( ) const [inline]
This method gets the number of bytes not yet read from the used read buffer.
Returns
Number of bytes not yet read from the used read buffer.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
120 Class Documentation
8.40.2.7 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferLength ( ) const [inline]
This method gets the read buffer length.
Returns
Read buffer length.
8.40.2.8 char∗ eprosima::rpc::transport::TCPEndpoint::getWriteBuffer ( ) [inline]
Gets the write buffer.
Returns
The write buffer.
8.40.2.9 size_t eprosima::rpc::transport::TCPEndpoint::getWriteBufferLength ( ) const [inline]
Gets the length of the write buffer.
Returns
Length of the write buffer.
8.40.2.10 size_t eprosima::rpc::transport::TCPEndpoint::getWriteBufferUsage ( ) const [inline]
Gets the number of used bytes in the write buffer.
Returns
Number of used bytes in the write buffer.
8.40.2.11 void eprosima::rpc::transport::TCPEndpoint::increaseReadBufferCurrentPointer ( size_t move ) [inline]
This method moves the read position in the read buffer.
Parameters
move Number of bytes to move.
8.40.2.12 void eprosima::rpc::transport::TCPEndpoint::increaseReadBufferFillUse ( size_t numData ) [inline]
This method adds a certain number of bytes to the read buffer.
Parameters
numData Number of bytes to add to the total used bytes.
8.40.2.13 bool eprosima::rpc::transport::TCPEndpoint::isOpen ( )
This method checks if the connection with the endpoint is open or closed.
Returns
true if the connection is open, false if it is closed.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.40 eprosima::rpc::transport::TCPEndpoint Class Reference 121
8.40.2.14 int eprosima::rpc::transport::TCPEndpoint::resizeReadBuffer ( size_t minSize )
Resizes the read buffer.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
122 Class Documentation
Parameters
minSize New size of the buffer.
Returns
0 on success, -1 on failure.
8.40.2.15 bool eprosima::rpc::transport::TCPEndpoint::resizeWriteBuffer ( size_t minSize )
Resizes the write buffer.
Returns
true on success, false on failure.
8.40.2.16 boost::shared_ptr<boost::asio::ip::tcp::socket>& eprosima::rpc::transport::TCPEndpoint::socket ( )
Gets the socket to connect to the endpoint.
Returns
Socket to connect to the endpoint.
8.40.2.17 bool eprosima::rpc::transport::TCPEndpoint::write ( const std::string & str )
Writes a string in the write buffer.
Parameters
str String to write.
Returns
true on success, false on failure.
8.40.2.18 bool eprosima::rpc::transport::TCPEndpoint::write ( int32_t num )
Writes an integer in the write buffer.
Parameters
num Integer to write.
Returns
true on success, false on failure.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/components/TCPEndpoint.h
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.41 eprosima::rpc::transport::TCPProxyTransport Class Reference 123
8.41 eprosima::rpc::transport::TCPProxyTransport Class Reference
This class represents a TCP transport. It must be used by TCP clients.
#include <TCPProxyTransport.h>
Inheritance diagram for eprosima::rpc::transport::TCPProxyTransport:
eprosima::rpc::transport::TCPProxyTransport
eprosima::rpc::transport::ProxyTransport
eprosima::rpc::transport::Transport
Collaboration diagram for eprosima::rpc::transport::TCPProxyTransport:
eprosima::rpc::transport::TCPProxyTransport
eprosima::rpc::transport::ProxyTransport
eprosima::rpc::transport::Transport
Public Member Functions
• TCPProxyTransport (const std::string &serverAddress)
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
124 Class Documentation
Default constructor.
• TCPProxyTransport (const std::string &serverAddress, const std::string &serverPort)
Default constructor.
• virtual ∼TCPProxyTransport ()
Default destructor.
• virtual const char ∗ getType () const
This function returns the type of the transport. In this case, it is RAW data.
• bool connect ()
Starts a TCP connection with a TCP server.
• bool send (const void ∗buffer, const size_t bufferSize)
Sends an TCP message to the server.
• int receive (void ∗buffer, const size_t bufferSize, size_t &dataToRead)
Receives a TCP message from the server.
8.41.1 Detailed Description
This class represents a TCP transport. It must be used by TCP clients.
8.41.2 Constructor & Destructor Documentation
8.41.2.1 eprosima::rpc::transport::TCPProxyTransport::TCPProxyTransport ( const std::string & serverAddress )
Default constructor.
Parameters
serverAddress Server address.
8.41.2.2 eprosima::rpc::transport::TCPProxyTransport::TCPProxyTransport ( const std::string & serverAddress, conststd::string & serverPort )
Default constructor.
Parameters
serverAddress Server address.serverAddress Server port.
8.41.3 Member Function Documentation
8.41.3.1 bool eprosima::rpc::transport::TCPProxyTransport::connect ( ) [virtual]
Starts a TCP connection with a TCP server.
Returns
true if the operation is successful, false otherwise.
Implements eprosima::rpc::transport::ProxyTransport.
8.41.3.2 int eprosima::rpc::transport::TCPProxyTransport::receive ( void ∗ buffer, const size_t bufferSize, size_t & dataToRead) [virtual]
Receives a TCP message from the server.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.42 eprosima::rpc::transport::TCPServerTransport Class Reference 125
Parameters
buffer Buffer that will contain the TCP message.bufferSize Size of the buffer.
dataToRead Number of bytes received.
Returns
-1 if the operation fails.
Implements eprosima::rpc::transport::ProxyTransport.
8.41.3.3 bool eprosima::rpc::transport::TCPProxyTransport::send ( const void ∗ buffer, const size_t bufferSize )[virtual]
Sends an TCP message to the server.
Parameters
buffer Buffer containing the TCP message.bufferSize Size of the buffer.
Returns
true if the operation is successful, false otherwise.
Implements eprosima::rpc::transport::ProxyTransport.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/TCPProxyTransport.h
8.42 eprosima::rpc::transport::TCPServerTransport Class Reference
This class represents a TCP transport. It must be used by TCP servers.
#include <TCPServerTransport.h>
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
126 Class Documentation
Inheritance diagram for eprosima::rpc::transport::TCPServerTransport:
eprosima::rpc::transport::TCPServerTransport
eprosima::rpc::transport::ServerTransport
eprosima::rpc::transport::Transport
Collaboration diagram for eprosima::rpc::transport::TCPServerTransport:
eprosima::rpc::transport::TCPServerTransport
eprosima::rpc::transport::ServerTransport
eprosima::rpc::transport::Transport
eprosima::rpc::transport::BossProcess
onBossProcess
Public Member Functions
• void worker (TCPEndpoint ∗connection)
This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.
• TCPServerTransport (const std::string &to_connect)
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.42 eprosima::rpc::transport::TCPServerTransport Class Reference 127
Default constructor.
• virtual ∼TCPServerTransport ()
Default destructor.
• void run ()
This method runs the TCP server.
• void stop ()
This method stops the TCP server.
• const char ∗ getType () const
This function returns the type of the transport.
• void sendReply (void ∗data, size_t dataLength, Endpoint ∗connection)
This function is used to send a reply to a proxy.
• int receive (char ∗buffer, size_t bufferLength, size_t &dataToRead, Endpoint ∗endpoint)
This function is used to send a reply to a proxy.
Public Attributes
• BossProcess ∗ onBossProcess
This callback method is invoked when a request arrives. It makes the thread strategy schedule the incoming request.
8.42.1 Detailed Description
This class represents a TCP transport. It must be used by TCP servers.
8.42.2 Constructor & Destructor Documentation
8.42.2.1 eprosima::rpc::transport::TCPServerTransport::TCPServerTransport ( const std::string & to_connect )
Default constructor.
Parameters
to_connect Listening IP interface.
8.42.2.2 virtual eprosima::rpc::transport::TCPServerTransport::∼TCPServerTransport ( ) [virtual]
Default destructor.
Parameters
to_connect Listening IP interface.
8.42.3 Member Function Documentation
8.42.3.1 int eprosima::rpc::transport::TCPServerTransport::receive ( char ∗ buffer, size_t bufferLength, size_t & dataToRead,Endpoint ∗ endpoint ) [virtual]
This function is used to send a reply to a proxy.
Parameters
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
128 Class Documentation
buffer Buffer to allocate the received databufferLength Size of the bufferdataToRead Size of the data to read
endpoint Endpoint to receive the data from
Implements eprosima::rpc::transport::ServerTransport.
8.42.3.2 void eprosima::rpc::transport::TCPServerTransport::sendReply ( void ∗ data, size_t dataLength, Endpoint ∗connection ) [virtual]
This function is used to send a reply to a proxy.
Parameters
data Response to send.dataLength Length of the data to send.
endpoint Target endpoint to send the data to.
Implements eprosima::rpc::transport::ServerTransport.
8.42.3.3 void eprosima::rpc::transport::TCPServerTransport::worker ( TCPEndpoint ∗ connection )
This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.
Parameters
connection Incoming endpoint.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/TCPServerTransport.h
8.43 eprosima::rpc::strategy::ThreadPerRequestStrategy Class Reference
This class implements the thread per request strategy. The server creates a new thread for every new incomingrequest.
#include <ThreadPerRequestStrategy.h>
Inheritance diagram for eprosima::rpc::strategy::ThreadPerRequestStrategy:
eprosima::rpc::strategy::ThreadPerRequestStrategy
eprosima::rpc::strategy::ServerStrategy
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference 129
Collaboration diagram for eprosima::rpc::strategy::ThreadPerRequestStrategy:
eprosima::rpc::strategy::ThreadPerRequestStrategy
eprosima::rpc::strategy::ServerStrategy
Public Member Functions
• ThreadPerRequestStrategy ()
Default constructor.
• virtual ∼ThreadPerRequestStrategy ()
Default destructor.
• ServerStrategyImpl ∗ getImpl ()
Gets the implementation of the strategy using Boost library.
8.43.1 Detailed Description
This class implements the thread per request strategy. The server creates a new thread for every new incomingrequest.
8.43.2 Member Function Documentation
8.43.2.1 ServerStrategyImpl∗ eprosima::rpc::strategy::ThreadPerRequestStrategy::getImpl ( ) [virtual]
Gets the implementation of the strategy using Boost library.
Returns
Strategy implementation.
Implements eprosima::rpc::strategy::ServerStrategy.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/strategies/ThreadPerRequestStrategy.h
8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference
This class implements a thread pool strategy. The server schedules the incoming requests in a free thread of thethread pool.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
130 Class Documentation
#include <ThreadPoolStrategy.h>
Inheritance diagram for eprosima::rpc::strategy::ThreadPoolStrategy:
eprosima::rpc::strategy::ThreadPoolStrategy
eprosima::rpc::strategy::ServerStrategy
Collaboration diagram for eprosima::rpc::strategy::ThreadPoolStrategy:
eprosima::rpc::strategy::ThreadPoolStrategy
eprosima::rpc::strategy::ServerStrategy
Public Member Functions
• ThreadPoolStrategy (unsigned int threadCount=FASTRPC_MIN_THREADS_DEFAULT)
Default constructor.
• ∼ThreadPoolStrategy ()
Default destructor.
• ServerStrategyImpl ∗ getImpl ()
Gets the implementation of the strategy using Boost library.
8.44.1 Detailed Description
This class implements a thread pool strategy. The server schedules the incoming requests in a free thread of thethread pool.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference 131
8.44.2 Constructor & Destructor Documentation
8.44.2.1 eprosima::rpc::strategy::ThreadPoolStrategy::ThreadPoolStrategy ( unsigned int threadCount =FASTRPC_MIN_THREADS_DEFAULT )
Default constructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
132 Class Documentation
Parameters
threadCount Number of threads the thread pool will manage. Default value: 5.
8.44.3 Member Function Documentation
8.44.3.1 ServerStrategyImpl∗ eprosima::rpc::strategy::ThreadPoolStrategy::getImpl ( ) [virtual]
Gets the implementation of the strategy using Boost library.
Returns
Implementation of the strategy.
Implements eprosima::rpc::strategy::ServerStrategy.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/strategies/ThreadPoolStrategy.h
8.45 eprosima::rpc::transport::Transport Class Reference
This class is the base of all classes that implement a transport that could be used by the proxy or the server.
#include <Transport.h>
Inheritance diagram for eprosima::rpc::transport::Transport:
eprosima::rpc::transport::Transport
eprosima::rpc::transport::ProxyTransport
eprosima::rpc::transport::ServerTransport
eprosima::rpc::transport::HttpProxyTransport
eprosima::rpc::transport::TCPProxyTransport
eprosima::rpc::transport::HttpServerTransport
eprosima::rpc::transport::TCPServerTransport
Public Member Functions
• Transport ()
Default constructor.
• virtual ∼Transport ()
Default destructor.
• virtual const char ∗ getType () const =0
This function returns the type of the transport. This function has to be implemented by the child classes.
• virtual TransportBehaviour getBehaviour () const =0
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.46 eprosima::rpc::exception::UserException Class Reference 133
8.45.1 Detailed Description
This class is the base of all classes that implement a transport that could be used by the proxy or the server.
8.45.2 Member Function Documentation
8.45.2.1 virtual TransportBehaviour eprosima::rpc::transport::Transport::getBehaviour ( ) const [pure virtual]
2brief This function returns the behaviour of the transport.
Returns
The behaviour of the transport.
Implemented in eprosima::rpc::transport::ServerTransport, and eprosima::rpc::transport::ProxyTransport.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/transports/Transport.h
8.46 eprosima::rpc::exception::UserException Class Reference
This abstract class is used to create user exceptions.
#include <UserException.h>
Inheritance diagram for eprosima::rpc::exception::UserException:
eprosima::rpc::exception::UserException
eprosima::rpc::exception::Exception
std::exception
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
134 Class Documentation
Collaboration diagram for eprosima::rpc::exception::UserException:
eprosima::rpc::exception::UserException
eprosima::rpc::exception::Exception
std::exception
Public Member Functions
• virtual ∼UserException () throw ()
Default destructor.
• virtual void raise () const =0
This function throws the object as exception.
Protected Member Functions
• UserException ()
Default constructor.
• UserException (const UserException &ex)
Default copy constructor.
• UserException (UserException &&ex)
Default move constructor.
• UserException & operator= (const UserException &ex)
Assigment operation.
• UserException & operator= (UserException &&ex)
Assigment operation.
8.46.1 Detailed Description
This abstract class is used to create user exceptions.
8.46.2 Constructor & Destructor Documentation
8.46.2.1 eprosima::rpc::exception::UserException::UserException ( const UserException & ex ) [protected]
Default copy constructor.
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
8.46 eprosima::rpc::exception::UserException Class Reference 135
Parameters
ex UserException that will be copied.
8.46.2.2 eprosima::rpc::exception::UserException::UserException ( UserException && ex ) [protected]
Default move constructor.
Parameters
ex UserException that will be moved.
8.46.3 Member Function Documentation
8.46.3.1 UserException& eprosima::rpc::exception::UserException::operator= ( const UserException & ex )[protected]
Assigment operation.
Parameters
ex UserException that will be copied.
8.46.3.2 UserException& eprosima::rpc::exception::UserException::operator= ( UserException && ex )[protected]
Assigment operation.
Parameters
ex UserException that will be moved.
The documentation for this class was generated from the following file:
• includetmp/rpcrest/exceptions/UserException.h
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
Index
∼TCPServerTransporteprosima::rpc::transport::TCPServerTransport, 128
_FastBuffer_iteratoreprosima::rpc::protocol::rest::_FastBuffer_iterator,
26_setTransport
eprosima::rpc::protocol::Protocol, 82
activateInterfaceeprosima::rpc::protocol::FooRESTProtocol, 47
addParameprosima::rpc::protocol::rest::HTTPParameters, 62
BadParamExceptioneprosima::rpc::exception::BadParamException, 30
begineprosima::rpc::protocol::rest::FastBuffer, 40
beginSerializeTemplateParameterseprosima::rpc::protocol::rest::RESTSerializer, 88
bossProcesseprosima::rpc::transport::HttpServerTransport, 69
Client Module, 15ClientInternalException
eprosima::rpc::exception::ClientInternalException,33
connecteprosima::rpc::transport::HttpProxyTransport, 65eprosima::rpc::transport::ProxyTransport, 85eprosima::rpc::transport::TCPProxyTransport, 125
containsParameprosima::rpc::protocol::rest::HTTPParameters, 62
deserializeeprosima::rpc::protocol::rest::RESTSerializer, 88,
89, 91deserializeUri
eprosima::rpc::protocol::rest::RESTSerializer, 91
eProsima RPCREST API Reference, 13Emptyvoid
FooREST::FooResource::Emptyvoid, 34end
eprosima::rpc::protocol::rest::FastBuffer, 40endSerializeTemplateParameters
eprosima::rpc::protocol::rest::RESTSerializer, 91eprosima::rpc::exception::BadParamException, 28
BadParamException, 30operator=, 30
eprosima::rpc::exception::ClientInternalException, 31ClientInternalException, 33
operator=, 33eprosima::rpc::exception::Exception, 37
Exception, 39operator=, 39
eprosima::rpc::exception::IncompatibleException, 75IncompatibleException, 77operator=, 78
eprosima::rpc::exception::InitializeException, 78InitializeException, 80operator=, 81
eprosima::rpc::exception::ServerInternalException, 99operator=, 101ServerInternalException, 101
eprosima::rpc::exception::ServerNotFoundException,102
operator=, 104ServerNotFoundException, 104
eprosima::rpc::exception::ServerTimeoutException, 106operator=, 109ServerTimeoutException, 108, 109
eprosima::rpc::exception::SystemException, 114minor, 117operator=, 117SystemException, 116what, 117
eprosima::rpc::exception::UserException, 134operator=, 136UserException, 135, 136
eprosima::rpc::protocol::FooRESTProtocol, 46activateInterface, 47linkFooREST_FooResourceImpl, 47setTransport, 48
eprosima::rpc::protocol::Protocol, 81_setTransport, 82getTransport, 82setTransport, 82
eprosima::rpc::protocol::rest::_FastBuffer_iterator, 25_FastBuffer_iterator, 26memcopy, 26operator<<, 27operator>>, 27operator++, 26operator+=, 26operator-, 27operator&, 26rmemcopy, 27
eprosima::rpc::protocol::rest::FastBuffer, 39begin, 40end, 40
INDEX 137
FastBuffer, 40getBuffer, 41getBufferSize, 41resize, 41
eprosima::rpc::protocol::rest::FooRESTProtocol, 48setTransport, 50worker, 50
eprosima::rpc::protocol::rest::HTTPData, 51get_data, 52getData, 52getMediaType, 52HTTPData, 51, 52set_data, 52, 53
eprosima::rpc::protocol::rest::HTTPMethod, 59get_data, 59getMethod, 59set_data, 60
eprosima::rpc::protocol::rest::HTTPParam, 60get_data, 61getName, 61getValue, 61HTTPParam, 61set_data, 61
eprosima::rpc::protocol::rest::HTTPParameters, 62addParam, 62containsParam, 62get_data, 63get_params, 63get_size, 63set_data, 63
eprosima::rpc::protocol::rest::HTTPResponseCode, 66get_data, 67getStatusCode, 67HTTPResponseCode, 66set_data, 67
eprosima::rpc::protocol::rest::HTTPUri, 71get_data, 72getPath, 72getResourcePath, 72HTTPUri, 71set_data, 72setBaseUri, 72setHost, 72
eprosima::rpc::protocol::rest::HTTPVersion, 73get_data, 73HTTPVersion, 73HTTPVersionRequest, 73HTTPVersionResponse, 75set_data, 75
eprosima::rpc::protocol::rest::RESTSerializer, 87beginSerializeTemplateParameters, 88deserialize, 88, 89, 91deserializeUri, 91endSerializeTemplateParameters, 91existsQueryParameter, 92existsTagLevel, 92getQueryParameter, 92getTag, 92
serialize, 92, 94, 96serializeQueryParameter, 96serializeTemplateParameter, 97
eprosima::rpc::proxy::Proxy, 83getProtocol, 84getTransport, 84Proxy, 83
eprosima::rpc::server::Server, 97process, 98Server, 98
eprosima::rpc::strategy::ServerStrategy, 105getImpl, 105
eprosima::rpc::strategy::ServerStrategyImpl, 106schedule, 106
eprosima::rpc::strategy::SingleThreadStrategy, 112getImpl, 113
eprosima::rpc::strategy::ThreadPerRequestStrategy,129
getImpl, 130eprosima::rpc::strategy::ThreadPoolStrategy, 130
getImpl, 133ThreadPoolStrategy, 132
eprosima::rpc::transport::BossProcess, 31eprosima::rpc::transport::Endpoint, 36eprosima::rpc::transport::HttpMessage, 53
getBodyContentLength, 55getBodyContentType, 55getBodyData, 55getContainsResponseStatus, 55getHost, 55getMethod, 55getMethodStr, 56getResponseCode, 56getResponseStatus, 56getUri, 56getVersionCompatible, 56HttpMessage, 54, 55setBodyContentLength, 56setBodyContentType, 57setBodyData, 57setHost, 57setMethod, 58setResponseCode, 58setResponseStatus, 58setUri, 58setVersionCompatible, 59
eprosima::rpc::transport::HttpProxyTransport, 63connect, 65HttpProxyTransport, 65receive, 65send, 65
eprosima::rpc::transport::HttpServerTransport, 67bossProcess, 69HttpServerTransport, 69sendReply, 69worker, 69
eprosima::rpc::transport::ProxyTransport, 84connect, 85
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
138 INDEX
getBehaviour, 85receive, 86send, 86
eprosima::rpc::transport::ServerTransport, 109getBehaviour, 111getCallback, 111getLinkedProtocol, 111getStrategy, 111linkProtocol, 111receive, 111sendReply, 112setCallback, 112setStrategy, 112
eprosima::rpc::transport::TCPEndpoint, 118getReadBuffer, 120getReadBufferCurrentPointer, 120getReadBufferEmptySpace, 120getReadBufferFillUse, 120getReadBufferLeftSpace, 120getReadBufferLeftUsedSpace, 120getReadBufferLength, 120getWriteBuffer, 121getWriteBufferLength, 121getWriteBufferUsage, 121increaseReadBufferCurrentPointer, 121increaseReadBufferFillUse, 121isOpen, 121resizeReadBuffer, 121resizeWriteBuffer, 123socket, 123write, 123
eprosima::rpc::transport::TCPProxyTransport, 124connect, 125receive, 125send, 126TCPProxyTransport, 125
eprosima::rpc::transport::TCPServerTransport, 126∼TCPServerTransport, 128receive, 128sendReply, 129TCPServerTransport, 128worker, 129
eprosima::rpc::transport::Transport, 133getBehaviour, 134
Exceptioneprosima::rpc::exception::Exception, 39
Exceptions, 17existsQueryParameter
eprosima::rpc::protocol::rest::RESTSerializer, 92existsTagLevel
eprosima::rpc::protocol::rest::RESTSerializer, 92
FastBuffereprosima::rpc::protocol::rest::FastBuffer, 40
FooREST::FooResource, 23FooREST::FooResource::Emptyvoid, 34
Emptyvoid, 34operator=, 35, 36status, 36
FooREST::FooResourceProxy, 41FooResourceProxy, 42
FooREST::FooResourceServer, 44FooResourceServer, 45
FooREST::FooResourceServerImpl, 45FooResourceProxy
FooREST::FooResourceProxy, 42FooResourceServer
FooREST::FooResourceServer, 45
get_dataeprosima::rpc::protocol::rest::HTTPData, 52eprosima::rpc::protocol::rest::HTTPMethod, 59eprosima::rpc::protocol::rest::HTTPParam, 61eprosima::rpc::protocol::rest::HTTPParameters, 63eprosima::rpc::protocol::rest::HTTPResponse-
Code, 67eprosima::rpc::protocol::rest::HTTPUri, 72eprosima::rpc::protocol::rest::HTTPVersion, 73
get_paramseprosima::rpc::protocol::rest::HTTPParameters, 63
get_sizeeprosima::rpc::protocol::rest::HTTPParameters, 63
getBehavioureprosima::rpc::transport::ProxyTransport, 85eprosima::rpc::transport::ServerTransport, 111eprosima::rpc::transport::Transport, 134
getBodyContentLengtheprosima::rpc::transport::HttpMessage, 55
getBodyContentTypeeprosima::rpc::transport::HttpMessage, 55
getBodyDataeprosima::rpc::transport::HttpMessage, 55
getBuffereprosima::rpc::protocol::rest::FastBuffer, 41
getBufferSizeeprosima::rpc::protocol::rest::FastBuffer, 41
getCallbackeprosima::rpc::transport::ServerTransport, 111
getContainsResponseStatuseprosima::rpc::transport::HttpMessage, 55
getDataeprosima::rpc::protocol::rest::HTTPData, 52
getHosteprosima::rpc::transport::HttpMessage, 55
getImpleprosima::rpc::strategy::ServerStrategy, 105eprosima::rpc::strategy::SingleThreadStrategy,
113eprosima::rpc::strategy::ThreadPerRequest-
Strategy, 130eprosima::rpc::strategy::ThreadPoolStrategy, 133
getLinkedProtocoleprosima::rpc::transport::ServerTransport, 111
getMediaTypeeprosima::rpc::protocol::rest::HTTPData, 52
getMethodeprosima::rpc::protocol::rest::HTTPMethod, 59eprosima::rpc::transport::HttpMessage, 55
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
INDEX 139
getMethodStreprosima::rpc::transport::HttpMessage, 56
getNameeprosima::rpc::protocol::rest::HTTPParam, 61
getPatheprosima::rpc::protocol::rest::HTTPUri, 72
getProtocoleprosima::rpc::proxy::Proxy, 84
getQueryParametereprosima::rpc::protocol::rest::RESTSerializer, 92
getReadBuffereprosima::rpc::transport::TCPEndpoint, 120
getReadBufferCurrentPointereprosima::rpc::transport::TCPEndpoint, 120
getReadBufferEmptySpaceeprosima::rpc::transport::TCPEndpoint, 120
getReadBufferFillUseeprosima::rpc::transport::TCPEndpoint, 120
getReadBufferLeftSpaceeprosima::rpc::transport::TCPEndpoint, 120
getReadBufferLeftUsedSpaceeprosima::rpc::transport::TCPEndpoint, 120
getReadBufferLengtheprosima::rpc::transport::TCPEndpoint, 120
getResourcePatheprosima::rpc::protocol::rest::HTTPUri, 72
getResponseCodeeprosima::rpc::transport::HttpMessage, 56
getResponseStatuseprosima::rpc::transport::HttpMessage, 56
getStatusCodeeprosima::rpc::protocol::rest::HTTPResponse-
Code, 67getStrategy
eprosima::rpc::transport::ServerTransport, 111getTag
eprosima::rpc::protocol::rest::RESTSerializer, 92getTransport
eprosima::rpc::protocol::Protocol, 82eprosima::rpc::proxy::Proxy, 84
getUrieprosima::rpc::transport::HttpMessage, 56
getValueeprosima::rpc::protocol::rest::HTTPParam, 61
getVersionCompatibleeprosima::rpc::transport::HttpMessage, 56
getWriteBuffereprosima::rpc::transport::TCPEndpoint, 121
getWriteBufferLengtheprosima::rpc::transport::TCPEndpoint, 121
getWriteBufferUsageeprosima::rpc::transport::TCPEndpoint, 121
HTTPDataeprosima::rpc::protocol::rest::HTTPData, 51, 52
HTTPParameprosima::rpc::protocol::rest::HTTPParam, 61
HTTPResponseCode
eprosima::rpc::protocol::rest::HTTPResponse-Code, 66
HTTPUrieprosima::rpc::protocol::rest::HTTPUri, 71
HTTPVersioneprosima::rpc::protocol::rest::HTTPVersion, 73
HTTPVersionRequesteprosima::rpc::protocol::rest::HTTPVersion, 73
HTTPVersionResponseeprosima::rpc::protocol::rest::HTTPVersion, 75
HttpMessageeprosima::rpc::transport::HttpMessage, 54, 55
HttpProxyTransporteprosima::rpc::transport::HttpProxyTransport, 65
HttpServerTransporteprosima::rpc::transport::HttpServerTransport, 69
IncompatibleExceptioneprosima::rpc::exception::IncompatibleException,
77increaseReadBufferCurrentPointer
eprosima::rpc::transport::TCPEndpoint, 121increaseReadBufferFillUse
eprosima::rpc::transport::TCPEndpoint, 121InitializeException
eprosima::rpc::exception::InitializeException, 80isOpen
eprosima::rpc::transport::TCPEndpoint, 121
linkFooREST_FooResourceImpleprosima::rpc::protocol::FooRESTProtocol, 47
linkProtocoleprosima::rpc::transport::ServerTransport, 111
memcopyeprosima::rpc::protocol::rest::_FastBuffer_iterator,
26minor
eprosima::rpc::exception::SystemException, 117
operator<<eprosima::rpc::protocol::rest::_FastBuffer_iterator,
27operator>>
eprosima::rpc::protocol::rest::_FastBuffer_iterator,27
operator++eprosima::rpc::protocol::rest::_FastBuffer_iterator,
26operator+=
eprosima::rpc::protocol::rest::_FastBuffer_iterator,26
operator-eprosima::rpc::protocol::rest::_FastBuffer_iterator,
27operator=
eprosima::rpc::exception::BadParamException, 30eprosima::rpc::exception::ClientInternalException,
33
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
140 INDEX
eprosima::rpc::exception::Exception, 39eprosima::rpc::exception::IncompatibleException,
78eprosima::rpc::exception::InitializeException, 81eprosima::rpc::exception::ServerInternalException,
101eprosima::rpc::exception::ServerNotFoundException,
104eprosima::rpc::exception::ServerTimeoutException,
109eprosima::rpc::exception::SystemException, 117eprosima::rpc::exception::UserException, 136FooREST::FooResource::Emptyvoid, 35, 36
operator&eprosima::rpc::protocol::rest::_FastBuffer_iterator,
26
processeprosima::rpc::server::Server, 98
Protocols, 21Proxy
eprosima::rpc::proxy::Proxy, 83
RESOURCES_BASE_URI, 86receive
eprosima::rpc::transport::HttpProxyTransport, 65eprosima::rpc::transport::ProxyTransport, 86eprosima::rpc::transport::ServerTransport, 111eprosima::rpc::transport::TCPProxyTransport, 125eprosima::rpc::transport::TCPServerTransport, 128
resizeeprosima::rpc::protocol::rest::FastBuffer, 41
resizeReadBuffereprosima::rpc::transport::TCPEndpoint, 121
resizeWriteBuffereprosima::rpc::transport::TCPEndpoint, 123
rmemcopyeprosima::rpc::protocol::rest::_FastBuffer_iterator,
27
scheduleeprosima::rpc::strategy::ServerStrategyImpl, 106
sendeprosima::rpc::transport::HttpProxyTransport, 65eprosima::rpc::transport::ProxyTransport, 86eprosima::rpc::transport::TCPProxyTransport, 126
sendReplyeprosima::rpc::transport::HttpServerTransport, 69eprosima::rpc::transport::ServerTransport, 112eprosima::rpc::transport::TCPServerTransport, 129
serializeeprosima::rpc::protocol::rest::RESTSerializer, 92,
94, 96serializeQueryParameter
eprosima::rpc::protocol::rest::RESTSerializer, 96serializeTemplateParameter
eprosima::rpc::protocol::rest::RESTSerializer, 97Server
eprosima::rpc::server::Server, 98
Server Module, 16ServerInternalException
eprosima::rpc::exception::ServerInternalException,101
ServerNotFoundExceptioneprosima::rpc::exception::ServerNotFoundException,
104ServerTimeoutException
eprosima::rpc::exception::ServerTimeoutException,108, 109
set_dataeprosima::rpc::protocol::rest::HTTPData, 52, 53eprosima::rpc::protocol::rest::HTTPMethod, 60eprosima::rpc::protocol::rest::HTTPParam, 61eprosima::rpc::protocol::rest::HTTPParameters, 63eprosima::rpc::protocol::rest::HTTPResponse-
Code, 67eprosima::rpc::protocol::rest::HTTPUri, 72eprosima::rpc::protocol::rest::HTTPVersion, 75
setBaseUrieprosima::rpc::protocol::rest::HTTPUri, 72
setBodyContentLengtheprosima::rpc::transport::HttpMessage, 56
setBodyContentTypeeprosima::rpc::transport::HttpMessage, 57
setBodyDataeprosima::rpc::transport::HttpMessage, 57
setCallbackeprosima::rpc::transport::ServerTransport, 112
setHosteprosima::rpc::protocol::rest::HTTPUri, 72eprosima::rpc::transport::HttpMessage, 57
setMethodeprosima::rpc::transport::HttpMessage, 58
setResponseCodeeprosima::rpc::transport::HttpMessage, 58
setResponseStatuseprosima::rpc::transport::HttpMessage, 58
setStrategyeprosima::rpc::transport::ServerTransport, 112
setTransporteprosima::rpc::protocol::FooRESTProtocol, 48eprosima::rpc::protocol::Protocol, 82eprosima::rpc::protocol::rest::FooRESTProtocol,
50setUri
eprosima::rpc::transport::HttpMessage, 58setVersionCompatible
eprosima::rpc::transport::HttpMessage, 59socket
eprosima::rpc::transport::TCPEndpoint, 123status
FooREST::FooResource::Emptyvoid, 36Strategies, 18SystemException
eprosima::rpc::exception::SystemException, 116
TCPProxyTransporteprosima::rpc::transport::TCPProxyTransport, 125
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen
INDEX 141
TCPServerTransporteprosima::rpc::transport::TCPServerTransport, 128
ThreadPoolStrategyeprosima::rpc::strategy::ThreadPoolStrategy, 132
Transports, 19
UserExceptioneprosima::rpc::exception::UserException, 135, 136
whateprosima::rpc::exception::SystemException, 117
workereprosima::rpc::protocol::rest::FooRESTProtocol,
50eprosima::rpc::transport::HttpServerTransport, 69eprosima::rpc::transport::TCPServerTransport, 129
writeeprosima::rpc::transport::TCPEndpoint, 123
Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen