本文整理汇总了C++中ola::io::SelectServer::RegisterSingleTimeout方法的典型用法代码示例。如果您正苦于以下问题:C++ SelectServer::RegisterSingleTimeout方法的具体用法?C++ SelectServer::RegisterSingleTimeout怎么用?C++ SelectServer::RegisterSingleTimeout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ola::io::SelectServer
的用法示例。
在下文中一共展示了SelectServer::RegisterSingleTimeout方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testRootSenderWithCIDs
void RootSenderTest::testRootSenderWithCIDs(const CID &root_cid,
const CID &send_cid) {
std::auto_ptr<Callback0<void> > stop_closure(
NewCallback(this, &RootSenderTest::Stop));
// inflators
MockInflator inflator(send_cid, stop_closure.get());
RootInflator root_inflator;
OLA_ASSERT(root_inflator.AddInflator(&inflator));
// sender
RootSender root_sender(root_cid);
// setup the socket
ola::network::UDPSocket socket;
OLA_ASSERT(socket.Init());
OLA_ASSERT(
socket.Bind(IPV4SocketAddress(IPV4Address::Loopback(), 0)));
OLA_ASSERT(socket.EnableBroadcast());
IncomingUDPTransport incoming_udp_transport(&socket, &root_inflator);
socket.SetOnData(NewCallback(&incoming_udp_transport,
&IncomingUDPTransport::Receive));
OLA_ASSERT(m_ss->AddReadDescriptor(&socket));
// Get the port we bound to.
IPV4SocketAddress local_address;
OLA_ASSERT(socket.GetSocketAddress(&local_address));
OutgoingUDPTransportImpl udp_transport_impl(&socket);
OutgoingUDPTransport outgoing_udp_transport(&udp_transport_impl,
IPV4Address::Loopback(), local_address.Port());
// now actually send some data
MockPDU mock_pdu(4, 8);
if (root_cid == send_cid)
OLA_ASSERT(root_sender.SendPDU(MockPDU::TEST_VECTOR,
mock_pdu,
&outgoing_udp_transport));
else
OLA_ASSERT(root_sender.SendPDU(MockPDU::TEST_VECTOR,
mock_pdu,
send_cid,
&outgoing_udp_transport));
SingleUseCallback0<void> *closure =
NewSingleCallback(this, &RootSenderTest::FatalStop);
m_ss->RegisterSingleTimeout(ABORT_TIMEOUT_IN_MS, closure);
m_ss->Run();
}
示例2: testRootSenderWithCIDs
void RootSenderTest::testRootSenderWithCIDs(const CID &root_cid,
const CID &send_cid) {
std::auto_ptr<Callback0<void> > stop_closure(
NewCallback(this, &RootSenderTest::Stop));
// inflators
MockInflator inflator(send_cid, stop_closure.get());
RootInflator root_inflator;
CPPUNIT_ASSERT(root_inflator.AddInflator(&inflator));
// sender
RootSender root_sender(root_cid);
// setup the socket
ola::network::UdpSocket socket;
CPPUNIT_ASSERT(socket.Init());
CPPUNIT_ASSERT(socket.Bind(ACN_PORT));
CPPUNIT_ASSERT(socket.EnableBroadcast());
IncomingUDPTransport incoming_udp_transport(&socket, &root_inflator);
socket.SetOnData(NewCallback(&incoming_udp_transport,
&IncomingUDPTransport::Receive));
CPPUNIT_ASSERT(m_ss->AddReadDescriptor(&socket));
// outgoing transport
IPV4Address addr;
CPPUNIT_ASSERT(IPV4Address::FromString("255.255.255.255", &addr));
OutgoingUDPTransportImpl udp_transport_impl(&socket);
OutgoingUDPTransport outgoing_udp_transport(&udp_transport_impl, addr);
// now actually send some data
MockPDU mock_pdu(4, 8);
if (root_cid == send_cid)
CPPUNIT_ASSERT(root_sender.SendPDU(MockPDU::TEST_VECTOR,
mock_pdu,
&outgoing_udp_transport));
else
CPPUNIT_ASSERT(root_sender.SendPDU(MockPDU::TEST_VECTOR,
mock_pdu,
send_cid,
&outgoing_udp_transport));
SingleUseCallback0<void> *closure =
NewSingleCallback(this, &RootSenderTest::FatalStop);
m_ss->RegisterSingleTimeout(ABORT_TIMEOUT_IN_MS, closure);
m_ss->Run();
}
示例3: setUp
void OSCNodeTest::setUp() {
// Init logging
ola::InitLogging(ola::OLA_LOG_INFO, ola::OLA_LOG_STDERR);
// Setup and register the Timeout.
m_timeout_id = m_ss.RegisterSingleTimeout(
ABORT_TIMEOUT_IN_MS,
ola::NewSingleCallback(this, &OSCNodeTest::Timeout));
OLA_ASSERT_TRUE(m_timeout_id);
// Init our UDP socket.
OLA_ASSERT_TRUE(m_udp_socket.Init());
// Put some data into the DMXBuffer
m_dmx_data.SetFromString("0,1,2,3,4,5,6,7,8,9,10");
// Initialize the OSCNode
OLA_ASSERT_TRUE(m_osc_node->Init());
}
示例4: testUDPTransport
/*
* Test the UDPTransport
*/
void UDPTransportTest::testUDPTransport() {
CID cid;
std::auto_ptr<Callback0<void> > stop_closure(
NewCallback(this, &UDPTransportTest::Stop));
MockInflator inflator(cid, stop_closure.get());
// setup the socket
ola::network::UDPSocket socket;
OLA_ASSERT(socket.Init());
OLA_ASSERT(socket.Bind(IPV4SocketAddress(IPV4Address::Loopback(), 0)));
OLA_ASSERT(socket.EnableBroadcast());
// Get the port we bound to.
IPV4SocketAddress local_address;
OLA_ASSERT(socket.GetSocketAddress(&local_address));
IncomingUDPTransport incoming_udp_transport(&socket, &inflator);
socket.SetOnData(NewCallback(&incoming_udp_transport,
&IncomingUDPTransport::Receive));
OLA_ASSERT(m_ss->AddReadDescriptor(&socket));
// outgoing transport
OutgoingUDPTransportImpl udp_transport_impl(&socket);
OutgoingUDPTransport outgoing_udp_transport(&udp_transport_impl,
IPV4Address::Loopback(), local_address.Port());
// now actually send some data
PDUBlock<PDU> pdu_block;
MockPDU mock_pdu(4, 8);
pdu_block.AddPDU(&mock_pdu);
OLA_ASSERT(outgoing_udp_transport.Send(pdu_block));
SingleUseCallback0<void> *closure =
NewSingleCallback(this, &UDPTransportTest::FatalStop);
m_ss->RegisterSingleTimeout(ABORT_TIMEOUT_IN_MS, closure);
m_ss->Run();
}