summaryrefslogtreecommitdiff
path: root/lib/block_handlers.cpp
diff options
context:
space:
mode:
authorJosh Blum2012-08-22 19:55:45 -0700
committerJosh Blum2012-08-26 16:03:51 -0700
commite9e00f46429441a4aa455b35844271f32981fb4c (patch)
treee70b8f406bcbfd576e5d8a1fd84f5d4968ff020c /lib/block_handlers.cpp
parent963f04378fcf2693518ec4eeb43c67abb41e4cbf (diff)
downloadsandhi-e9e00f46429441a4aa455b35844271f32981fb4c.tar.gz
sandhi-e9e00f46429441a4aa455b35844271f32981fb4c.tar.bz2
sandhi-e9e00f46429441a4aa455b35844271f32981fb4c.zip
runtime: empty handler to task, and item sizes
Diffstat (limited to 'lib/block_handlers.cpp')
-rw-r--r--lib/block_handlers.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/block_handlers.cpp b/lib/block_handlers.cpp
index ab58aaf..f77c2c0 100644
--- a/lib/block_handlers.cpp
+++ b/lib/block_handlers.cpp
@@ -39,11 +39,25 @@ void resize_fill_front(V &v, const size_t new_len)
resize_fill(v, new_len, v.front());
}
+template <typename V, typename Sig>
+void fill_item_sizes_from_sig(V &v, const Sig &s, const size_t size)
+{
+ v.resize(size);
+ for (size_t i = 0; i < v.size(); i++)
+ {
+ v[i] = s->sizeof_stream_item(i);
+ }
+}
+
void ElementImpl::topology_update(const tsbe::TaskInterface &task_iface, const tsbe::Wax &state)
{
const size_t num_inputs = task_iface.get_num_inputs();
const size_t num_outputs = task_iface.get_num_outputs();
+ //fill the item sizes from the IO signatures
+ fill_item_sizes_from_sig(this->input_items_sizes, this->input_signature, num_inputs);
+ fill_item_sizes_from_sig(this->output_items_sizes, this->output_signature, num_outputs);
+
//resize and fill port properties
resize_fill_front(this->input_items_sizes, num_inputs);
resize_fill_front(this->output_items_sizes, num_outputs);
@@ -67,3 +81,8 @@ void ElementImpl::topology_update(const tsbe::TaskInterface &task_iface, const t
this->input_tags.resize(num_inputs);
this->output_tags.resize(num_outputs);
}
+
+void ElementImpl::handle_task(const tsbe::TaskInterface &)
+{
+
+}