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](doxygen.png)