23 #ifndef INCLUDED_GR_BLOCK_H
24 #define INCLUDED_GR_BLOCK_H
64 WORK_CALLED_PRODUCE = -2,
83 unsigned history ()
const {
return d_history; }
107 virtual void forecast (
int noutput_items,
124 virtual int general_work (
int noutput_items,
137 virtual bool start();
153 void set_output_multiple (
int multiple);
159 void consume (
int which_input,
int how_many_items);
164 void consume_each (
int how_many_items);
171 void produce (
int which_output,
int how_many_items);
182 void set_relative_rate (
double relative_rate);
200 virtual int fixed_rate_ninput_to_noutput(
int ninput);
207 virtual int fixed_rate_noutput_to_ninput(
int noutput);
212 uint64_t nitems_read(
unsigned int which_input);
217 uint64_t nitems_written(
unsigned int which_output);
222 tag_propagation_policy_t tag_propagation_policy();
227 void set_tag_propagation_policy(tag_propagation_policy_t p);
233 int d_output_multiple;
234 double d_relative_rate;
238 tag_propagation_policy_t d_tag_propagation_policy;
259 inline void add_item_tag(
unsigned int which_output,
270 this->add_item_tag(which_output, tag);
279 void add_item_tag(
unsigned int which_output,
const gr_tag_t &tag);
294 void get_tags_in_range(std::vector<gr_tag_t> &v,
295 unsigned int which_input,
314 void get_tags_in_range(std::vector<gr_tag_t> &v,
315 unsigned int which_input,