dsss_spreading_b::dsss_spreading_b(unsigned int length_PN):gr_block("spreading_b",
gr_make_io_signature(2,2,sizeof(unsigned char)),
gr_make_io_signature(1,1,sizeof(unsigned char))),
d_length_PN(length_PN)
{
set_output_multiple(d_length_PN);
}
for example the above constructor shows a block that has 2 input streams and one output stream and it calls set_output_multilple which has an integer parameter d_length_PN passed. The scheduler will make sure that the noutput_items that it selects will be a multiple of d_length_PN....
if d_length_PN=100 ...then scheduler will choose n*100 output_items ... where n in an integer.
Look into the examples or the blocks in the gnuradio. Read the comments in gr_block.h file. This will give you all the information.
Good luck.