diff options
author | Marcus Müller <mmueller@gnuradio.org> | 2019-08-07 21:45:12 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2019-08-09 23:04:28 +0200 |
commit | f7bbf2c1d8d780294f3e016aff239ca35eb6516e (patch) | |
tree | e09ab6112e02b2215b2d59ac24d3d6ea2edac745 /gr-zeromq/lib/req_source_impl.cc | |
parent | 78431dc6941e3acc67c858277dfe4a0ed583643c (diff) |
Tree: clang-format without the include sorting
Diffstat (limited to 'gr-zeromq/lib/req_source_impl.cc')
-rw-r--r-- | gr-zeromq/lib/req_source_impl.cc | 133 |
1 files changed, 65 insertions, 68 deletions
diff --git a/gr-zeromq/lib/req_source_impl.cc b/gr-zeromq/lib/req_source_impl.cc index 526736389e..5a498cf9d2 100644 --- a/gr-zeromq/lib/req_source_impl.cc +++ b/gr-zeromq/lib/req_source_impl.cc @@ -29,80 +29,77 @@ #include "tag_headers.h" namespace gr { - namespace zeromq { - - req_source::sptr - req_source::make(size_t itemsize, size_t vlen, char *address, int timeout, bool pass_tags, int hwm) - { - return gnuradio::get_initial_sptr - (new req_source_impl(itemsize, vlen, address, timeout, pass_tags, hwm)); - } - - req_source_impl::req_source_impl(size_t itemsize, size_t vlen, char *address, int timeout, bool pass_tags, int hwm) - : gr::sync_block("req_source", - gr::io_signature::make(0, 0, 0), - gr::io_signature::make(1, 1, itemsize * vlen)), - base_source_impl(ZMQ_REQ, itemsize, vlen, address, timeout, pass_tags, hwm), - d_req_pending(false) - { - /* All is delegated */ - } - - int - req_source_impl::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { +namespace zeromq { + +req_source::sptr req_source::make( + size_t itemsize, size_t vlen, char* address, int timeout, bool pass_tags, int hwm) +{ + return gnuradio::get_initial_sptr( + new req_source_impl(itemsize, vlen, address, timeout, pass_tags, hwm)); +} + +req_source_impl::req_source_impl( + size_t itemsize, size_t vlen, char* address, int timeout, bool pass_tags, int hwm) + : gr::sync_block("req_source", + gr::io_signature::make(0, 0, 0), + gr::io_signature::make(1, 1, itemsize * vlen)), + base_source_impl(ZMQ_REQ, itemsize, vlen, address, timeout, pass_tags, hwm), + d_req_pending(false) +{ + /* All is delegated */ +} + +int req_source_impl::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ #if 0 #endif - uint8_t *out = (uint8_t *) output_items[0]; - bool first = true; - int done = 0; - - /* Process as much as we can */ - while (1) - { - if (has_pending()) - { - /* Flush anything pending */ - done += flush_pending(out + (done * d_vsize), noutput_items - done, nitems_written(0) + done); - - /* No more space ? */ - if (done == noutput_items) - break; - } - else - { - /* Send request if needed */ - if (!d_req_pending) - { - /* The REP/REQ pattern state machine guarantees we can send at this point */ - uint32_t req_len = noutput_items - done; - zmq::message_t request(sizeof(uint32_t)); - memcpy ((void *) request.data (), &req_len, sizeof(uint32_t)); - d_socket->send(request); - - d_req_pending = true; - } - - /* Try to get the next message */ - if (!load_message(first)) - break; /* No message, we're done for now */ - - /* Got response */ - d_req_pending = false; - - /* Not the first anymore */ - first = false; + uint8_t* out = (uint8_t*)output_items[0]; + bool first = true; + int done = 0; + + /* Process as much as we can */ + while (1) { + if (has_pending()) { + /* Flush anything pending */ + done += flush_pending( + out + (done * d_vsize), noutput_items - done, nitems_written(0) + done); + + /* No more space ? */ + if (done == noutput_items) + break; + } else { + /* Send request if needed */ + if (!d_req_pending) { + /* The REP/REQ pattern state machine guarantees we can send at this point + */ + uint32_t req_len = noutput_items - done; + zmq::message_t request(sizeof(uint32_t)); + memcpy((void*)request.data(), &req_len, sizeof(uint32_t)); + d_socket->send(request); + + d_req_pending = true; + } + + /* Try to get the next message */ + if (!load_message(first)) + break; /* No message, we're done for now */ + + /* Got response */ + d_req_pending = false; + + /* Not the first anymore */ + first = false; } - } + } - return done; + return done; - return 0; - } + return 0; +} - } /* namespace zeromq */ +} /* namespace zeromq */ } /* namespace gr */ // vim: ts=2 sw=2 expandtab |