diff options
Diffstat (limited to 'lib/block.cpp')
-rw-r--r-- | lib/block.cpp | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/lib/block.cpp b/lib/block.cpp index 6de4208..2506cc8 100644 --- a/lib/block.cpp +++ b/lib/block.cpp @@ -2,7 +2,6 @@ #include "element_impl.hpp" #include <gras/block.hpp> -#include <boost/foreach.hpp> #include <boost/thread/thread.hpp> //yield using namespace gras; @@ -126,88 +125,6 @@ void Block::commit_config(void) } -void Block::consume(const size_t which_input, const size_t num_items) -{ - ASSERT(long(num_items) >= 0); //sign bit set? you dont want a negative - (*this)->block->consume(which_input, num_items); -} - -void Block::produce(const size_t which_output, const size_t num_items) -{ - ASSERT(long(num_items) >= 0); //sign bit set? you dont want a negative - (*this)->block->produce(which_output, num_items); -} - -void Block::consume(const size_t num_items) -{ - const size_t num_inputs = (*this)->block->get_num_inputs(); - for (size_t i = 0; i < num_inputs; i++) - { - (*this)->block->consume(i, num_items); - } -} - -void Block::produce(const size_t num_items) -{ - const size_t num_outputs = (*this)->block->get_num_outputs(); - for (size_t o = 0; o < num_outputs; o++) - { - (*this)->block->produce(o, num_items); - } -} - -item_index_t Block::get_consumed(const size_t which_input) -{ - return (*this)->block->stats.items_consumed[which_input]; -} - -item_index_t Block::get_produced(const size_t which_output) -{ - return (*this)->block->stats.items_produced[which_output]; -} - -void Block::post_output_tag(const size_t which_output, const Tag &tag) -{ - (*this)->block->stats.tags_produced[which_output]++; - (*this)->block->post_downstream(which_output, InputTagMessage(tag)); -} - -TagIter Block::get_input_tags(const size_t which_input) -{ - const std::vector<Tag> &input_tags = (*this)->block->input_tags[which_input]; - return TagIter(input_tags.begin(), input_tags.end()); -} - -void Block::post_output_msg(const size_t which_output, const PMCC &msg) -{ - (*this)->block->stats.msgs_produced[which_output]++; - (*this)->block->post_downstream(which_output, InputMsgMessage(msg)); -} - -PMCC Block::pop_input_msg(const size_t which_input) -{ - std::vector<PMCC> &input_msgs = (*this)->block->input_msgs[which_input]; - size_t &num_read = (*this)->block->num_input_msgs_read[which_input]; - if (num_read >= input_msgs.size()) return PMCC(); - PMCC p = input_msgs[num_read++]; - (*this)->block->stats.msgs_consumed[which_input]++; - return p; -} - -void Block::propagate_tags(const size_t i, const TagIter &iter) -{ - const size_t num_outputs = (*this)->block->get_num_outputs(); - for (size_t o = 0; o < num_outputs; o++) - { - BOOST_FOREACH(gras::Tag t, iter) - { - t.offset -= this->get_consumed(i); - t.offset += this->get_produced(o); - this->post_output_tag(o, t); - } - } -} - void Block::notify_active(void) { //NOP @@ -232,42 +149,3 @@ void Block::set_interruptible_work(const bool enb) { (*this)->block->interruptible_work = enb; } - -void Block::mark_output_fail(const size_t which_output) -{ - (*this)->block->output_fail(which_output); -} - -void Block::mark_input_fail(const size_t which_input) -{ - (*this)->block->input_fail(which_input); -} - -void Block::mark_done(void) -{ - (*this)->block->mark_done(); -} - -SBuffer Block::get_input_buffer(const size_t which_input) const -{ - return (*this)->block->input_queues.front(which_input); -} - -SBuffer Block::get_output_buffer(const size_t which_output) const -{ - SBuffer &buff = (*this)->block->output_queues.front(which_output); - //increment length to auto pop full buffer size, - //when user doesnt call pop_output_buffer() - buff.length = buff.get_actual_length(); - return buff; -} - -void Block::pop_output_buffer(const size_t which_output, const size_t num_bytes) -{ - (*this)->block->output_queues.front(which_output).length = num_bytes; -} - -void Block::post_output_buffer(const size_t which_output, const SBuffer &buffer) -{ - (*this)->block->produce_buffer(which_output, buffer); -} |