summaryrefslogtreecommitdiff
path: root/gr-zeromq/lib/pub_msg_sink_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-zeromq/lib/pub_msg_sink_impl.cc')
-rw-r--r--gr-zeromq/lib/pub_msg_sink_impl.cc25
1 files changed, 10 insertions, 15 deletions
diff --git a/gr-zeromq/lib/pub_msg_sink_impl.cc b/gr-zeromq/lib/pub_msg_sink_impl.cc
index 0264aef83b..5fc7164d2b 100644
--- a/gr-zeromq/lib/pub_msg_sink_impl.cc
+++ b/gr-zeromq/lib/pub_msg_sink_impl.cc
@@ -39,9 +39,9 @@ namespace gr {
}
pub_msg_sink_impl::pub_msg_sink_impl(char *address, int timeout)
- : gr::sync_block("pub_msg_sink",
- gr::io_signature::make(0, 0, 0),
- gr::io_signature::make(0, 0, 0)),
+ : gr::block("pub_msg_sink",
+ gr::io_signature::make(0, 0, 0),
+ gr::io_signature::make(0, 0, 0)),
d_timeout(timeout)
{
int major, minor, patch;
@@ -49,6 +49,7 @@ namespace gr {
if (major < 3) {
d_timeout = timeout*1000;
}
+
d_context = new zmq::context_t(1);
d_socket = new zmq::socket_t(*d_context, ZMQ_PUB);
int time = 0;
@@ -56,7 +57,7 @@ namespace gr {
d_socket->bind(address);
message_port_register_in(pmt::mp("in"));
- set_msg_handler( pmt::mp("in"),
+ set_msg_handler( pmt::mp("in"),
boost::bind(&pub_msg_sink_impl::handler, this, _1));
}
@@ -67,21 +68,15 @@ namespace gr {
delete d_context;
}
- void pub_msg_sink_impl::handler(pmt::pmt_t msg){
+ void pub_msg_sink_impl::handler(pmt::pmt_t msg)
+ {
std::stringbuf sb("");
- pmt::serialize( msg, sb );
+ pmt::serialize(msg, sb);
std::string s = sb.str();
zmq::message_t zmsg(s.size());
- memcpy( zmsg.data(), s.c_str(), s.size() );
- d_socket->send(zmsg);
- }
- int
- pub_msg_sink_impl::work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
- {
- return noutput_items;
+ memcpy(zmsg.data(), s.c_str(), s.size());
+ d_socket->send(zmsg);
}
} /* namespace zeromq */