Muscle C/C++ API: xdr_communicator.hpp Source File

xdr_communicator.hpp

Go to the documentation of this file.
00001 #ifndef MUSCLE_XDR_COMMUNICATOR_HPP
00002 #define MUSCLE_XDR_COMMUNICATOR_HPP
00003 
00004 #include "logger.hpp"
00005 #include "communicator.hpp"
00006 #include "complex_data.hpp"
00007 #include <rpc/types.h>
00008 #include <rpc/xdr.h>
00009
00010 namespace muscle {
00011
00012 class XdrCommunicator : public Communicator
00013 {
00014 public:
00015         XdrCommunicator(const char *hostname, int port);
00016         virtual ~XdrCommunicator() { xdr_destroy(&xdro); xdr_destroy(&xdri); }
00017         int execute_protocol(muscle_protocol_t opcode, std::string *identifier, muscle_datatype_t type, const void *msg, size_t msg_len, void *result, size_t *result_len);
00018         void free_data(void *ptr, muscle_datatype_t type);
00019 private:
00020         static xdrproc_t get_proc(muscle_complex_t type);
00021         XDR xdro, xdri;
00022 };
00023 } // EO namespace muscle
00024 #endif

Generated on Thu Oct 18 14:28:28 2012 for Muscle C/C++ API by  doxygen 1.5.6