Beispiel #1
0
		void
		evt_default_four( const msg_four & )
		{
			m_sequence += "d4:";

			m_mbox->deliver_message( new msg_four() );

			so_drop_subscription( m_mbox, &a_test_t::evt_default_four );
			so_drop_subscription( m_mbox, st_1, &a_test_t::evt_default_four );
		}
		void
		evt_one( const so_5::event_data_t< msg_one > & )
		{
			for( size_t i = 0; i != 10000u; ++i )
			{
				so_drop_subscription( m_mbox, &a_test_t::evt_two );

				so_subscribe( m_mbox ).event( &a_test_t::evt_two );

				m_mbox->deliver_signal< msg_two >();
			}

			so_drop_subscription( m_mbox, &a_test_t::evt_two );
		}
		void
		evt_three( const so_5::event_data_t< msg_three > & )
		{
			m_sequence += "e3:";

			so_drop_subscription( so_direct_mbox(), &a_test_t::evt_one );

			so_subscribe( so_direct_mbox() ).event( &a_test_t::evt_two );
		}
Beispiel #4
0
		void
		evt_st_1_two( const so_5::rt::event_data_t< msg_two > & )
		{
			m_sequence += "1_d2:";

			so_drop_subscription( m_mbox, st_1, &a_test_t::evt_st_1_one );

			m_mbox->deliver_signal< msg_one >();
			m_mbox->deliver_signal< msg_three >();
		}