call set_data_frame() before calling set_rcv_rate() as otherwise it acccesses m_synchronous before it is set leading to random behaviour [smf]