summaryrefslogtreecommitdiff
path: root/gnuradio-core/src
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2012-10-02 13:01:54 -0400
committerTom Rondeau <trondeau@vt.edu>2012-10-02 13:12:11 -0400
commit0ecb4d407b888b8631afa5a7c0b8c4f45e6c16c2 (patch)
treee3fb8937c4d30581f0a1da165cbadff09ebcccba /gnuradio-core/src
parentfaa90c6d14561f17877296879db32fd374a4a6a8 (diff)
core: bit of rework on setting/getting max_output_buffer.
When setting, specify port first, than buffer size. This is consistent with other calls (like consume and produce). When getting, throw an error if port is out of range.
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r--gnuradio-core/src/lib/runtime/gr_basic_block.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/gnuradio-core/src/lib/runtime/gr_basic_block.h b/gnuradio-core/src/lib/runtime/gr_basic_block.h
index 4d16014ddd..37a09cd41d 100644
--- a/gnuradio-core/src/lib/runtime/gr_basic_block.h
+++ b/gnuradio-core/src/lib/runtime/gr_basic_block.h
@@ -108,20 +108,28 @@ public:
gr_io_signature_sptr input_signature() const { return d_input_signature; }
gr_io_signature_sptr output_signature() const { return d_output_signature; }
gr_basic_block_sptr to_basic_block(); // Needed for Python type coercion
- long max_output_buffer(size_t i){ return d_max_output_buffer.size()>i?d_max_output_buffer[i]:d_max_output_buffer[0]; }
+ long max_output_buffer(size_t i) {
+ if(d_max_output_buffer.size() <= i)
+ throw std::invalid_argument("gr_basic_block::max_output_buffer: port out of range.");
+ return d_max_output_buffer[i];
+ }
void set_max_output_buffer(long max_output_buffer){
for(int i=0; i<output_signature()->max_streams(); i++){
set_max_output_buffer(max_output_buffer, i);
}
}
- void set_max_output_buffer(long max_output_buffer, int port){ d_max_output_buffer[port] = max_output_buffer; }
- long min_output_buffer(size_t i){ return d_min_output_buffer.size()>i?d_min_output_buffer[i]:d_min_output_buffer[0]; }
+ void set_max_output_buffer(int port, long max_output_buffer){ d_max_output_buffer[port] = max_output_buffer; }
+ long min_output_buffer(size_t i) {
+ if(d_min_output_buffer.size() <= i)
+ throw std::invalid_argument("gr_basic_block::min_output_buffer: port out of range.");
+ return d_min_output_buffer[i];
+ }
void set_min_output_buffer(long min_output_buffer){
for(int i=0; i<output_signature()->max_streams(); i++){
set_min_output_buffer(min_output_buffer, i);
}
}
- void set_min_output_buffer(long min_output_buffer, int port){ d_min_output_buffer[port] = min_output_buffer; }
+ void set_min_output_buffer(int port, long min_output_buffer){ d_min_output_buffer[port] = min_output_buffer; }
/*!
* \brief Confirm that ninputs and noutputs is an acceptable combination.