X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FQueueingSocketSink.test.cc;h=972d1ee794243c2cdc3a225a33842f3c682d17f2;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=38cfcff42b3718cbe92bc00d2cc7cb618ac3ba1a;hpb=fc1569e67cfda71bc8c406617a5e0b05f28f1b47;p=senf.git diff --git a/senf/PPI/QueueingSocketSink.test.cc b/senf/PPI/QueueingSocketSink.test.cc index 38cfcff..972d1ee 100644 --- a/senf/PPI/QueueingSocketSink.test.cc +++ b/senf/PPI/QueueingSocketSink.test.cc @@ -75,15 +75,25 @@ namespace { return false; return ConnectedDgramWriter::operator()( handle, packet); } + + TestingConnectedDgramWriter(){ + throttled = false; + } }; } SENF_AUTO_UNIT_TEST(passiveQueueingSocketSink) { + senf::ConnectedUDPv4ClientSocketHandle os(senf::noinit); + senf::ConnectedUDPv4ClientSocketHandle outputSocket ( senf::INet4SocketAddress( localhost4str(0))); module::PassiveQueueingSocketSink udpSink ( - outputSocket, ppi::FIFOQueueingAlgorithm::create()); + os, ppi::FIFOQueueingAlgorithm::create()); + + // test re-assignment of socket + udpSink.handle( outputSocket); + udpSink.writer().throttled = false; debug::ActiveSource source; ppi::connect(source, udpSink); @@ -106,6 +116,12 @@ SENF_AUTO_UNIT_TEST(passiveQueueingSocketSink) source.submit(p); BOOST_CHECK_EQUAL( udpSink.qAlgorithm().size(), 1); + for( int n = 0; n < 100; n++){ + source.submit(p); + } + // queue default size is 64 + BOOST_CHECK_EQUAL( udpSink.qAlgorithm().size(), 64); + udpSink.writer().throttled = false; runPPI( senf::ClockService::milliseconds(200));