diff options
Diffstat (limited to 'lib/output_handlers.cpp')
-rw-r--r-- | lib/output_handlers.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/output_handlers.cpp b/lib/output_handlers.cpp index 5876f89..aaf5544 100644 --- a/lib/output_handlers.cpp +++ b/lib/output_handlers.cpp @@ -70,9 +70,16 @@ void BlockActor::handle_output_alloc(const OutputAllocMessage &message, const Th const size_t index = message.index; //return of a positive downstream allocation - //reset the token, and clear old output buffers - //the new token from the downstream is installed - this->output_buffer_tokens[index].reset(); - this->output_queues.flush(index); - this->output_buffer_tokens[index] = message.token; + this->output_queues.set_buffer_queue(index, message.queue); +} + +void BlockActor::handle_output_update(const OutputUpdateMessage &message, const Theron::Address) +{ + MESSAGE_TRACER(); + const size_t i = message.index; + + //update buffer queue configuration + if (i >= this->output_queues.size()) return; + const size_t reserve_bytes = this->output_items_sizes[i]*this->output_configs[i].reserve_items; + this->output_queues.set_reserve_bytes(i, reserve_bytes); } |