bmq - thin C++ wrapper combining ØMQ and Boost Asio
Asio and ZeroMQ - Boost Users ML
0MQ(ZeroMQ)という、N-N通信やPublish-SubscribeモデルをサポートするネットワークライブラリのBoost.Asioラッパーだそうです。
現時点では、io_serviceを組み合わせて使用することができるようにした、薄いラッパーだそうです。
#include <boost/asio/io_service.hpp> #include <bmq.h> int main() { boost::asio::io_service io; bmq::context ctx(1); bmq::component c(ctx, io); auto sink = c.add_sink(ZMQ_PAIR, "inproc://x"); c.subscribe(sink, [](bmq::message&& msg) { std::string str(static_cast<char*>(msg.data()), msg.size()); std::cout << str << std::endl; }); auto source = c.add_source(ZMQ_PAIR, "inproc://x"); bmq::message msg(const_cast<char*>("foo"), 3, nullptr); source->send(msg); // Execute message handler. io.poll(); return 0; }
ZeroMQについての資料:
ØMQ (ZeroMQ) 序論 - InfoQ
はじめてのZeroMQ その1 - Emerge Technology
ØMQ(zeromq)について調査する。 - グニャラくんのwktk運営日記