#include <iostream>
{
public :
a_pinger_t( context_t ctx,
so_5::mbox_t mbox,
int pings_to_send )
, m_mbox{ std::move(mbox) }
, m_pings_left{ pings_to_send }
{}
{
}
{
send_ping();
}
private :
int m_pings_left;
void evt_pong(mhood_t< msg_pong >)
{
if( m_pings_left > 0 )
send_ping();
else
}
void send_ping()
{
so_5::send< msg_ping >( m_mbox );
--m_pings_left;
}
};
{
public :
:
so_5::agent_t( std::move(ctx) )
{
[mbox]( mhood_t<msg_ping> ) {
so_5::send< msg_pong >(
mbox );
} );
}
};
int main()
{
try
{
});
});
return 0;
}
catch( const std::exception & x )
{
std::cerr << "*** Exception caught: " << x.what() << std::endl;
}
return 2;
}