30 #ifndef MPI_QUERIES_H_
31 #define MPI_QUERIES_H_
34 #include <boost/archive/binary_iarchive.hpp>
35 #include <boost/archive/binary_oarchive.hpp>
36 #include <boost/asio.hpp>
48 template<
typename Archive>
61 template<
typename Archive>
69 using boost::asio::ip::tcp;
75 boost::asio::read(sock, boost::asio::buffer(&
size,
sizeof(
size)));
78 boost::asio::streambuf archive_stream;
79 boost::asio::read(sock, archive_stream, boost::asio::transfer_at_least(
size));
81 boost::archive::binary_iarchive archive(archive_stream);
88 boost::asio::streambuf archive_stream;
89 boost::archive::binary_oarchive archive(archive_stream);
92 uint32_t
size = archive_stream.size();
94 boost::asio::write(sock, boost::asio::buffer(&
size,
sizeof(
size)));
95 boost::asio::write(sock, archive_stream);
void write_object(tcp::socket &sock, const T &val)
void read_object(tcp::socket &sock, T &val)
flann::Matrix< T > queries
void serialize(Archive &ar, const unsigned int version)
flann::Matrix< int > indices
void serialize(Archive &ar, const unsigned int version)