diff options
author | Josh Blum | 2013-03-11 00:43:43 -0700 |
---|---|---|
committer | Josh Blum | 2013-03-11 00:43:43 -0700 |
commit | 9ded08b79b35fdfd67ad4968121d282e6c3dccda (patch) | |
tree | c47ba09f6db23a6f7a07442ab56a9d7ad96ecc66 /lib/block.cpp | |
parent | 83d78cdcaefe18555e83dc7cc810422616054527 (diff) | |
download | sandhi-9ded08b79b35fdfd67ad4968121d282e6c3dccda.tar.gz sandhi-9ded08b79b35fdfd67ad4968121d282e6c3dccda.tar.bz2 sandhi-9ded08b79b35fdfd67ad4968121d282e6c3dccda.zip |
gras: separate queue for messages - #54
Diffstat (limited to 'lib/block.cpp')
-rw-r--r-- | lib/block.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/block.cpp b/lib/block.cpp index e9e170b..9bf3b9c 100644 --- a/lib/block.cpp +++ b/lib/block.cpp @@ -162,7 +162,7 @@ item_index_t Block::get_produced(const size_t which_output) void Block::post_output_tag(const size_t which_output, const Tag &tag) { - (*this)->block->stats.items_produced[which_output]++; + (*this)->block->stats.tags_produced[which_output]++; (*this)->block->post_downstream(which_output, InputTagMessage(tag)); } @@ -174,15 +174,17 @@ TagIter Block::get_input_tags(const size_t which_input) void Block::post_output_msg(const size_t which_output, const PMCC &msg) { - this->post_output_tag(which_output, Tag(0, 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<Tag> &input_tags = (*this)->block->input_tags[which_input]; - if (input_tags.empty()) return PMCC(); - PMCC p = input_tags.front().object; - input_tags.erase(input_tags.begin()); + std::vector<PMCC> &input_msgs = (*this)->block->input_msgs[which_input]; + if (input_msgs.empty()) return PMCC(); + PMCC p = input_msgs.front(); + input_msgs.erase(input_msgs.begin()); + (*this)->block->stats.msgs_consumed[which_input]++; return p; } |