// senf::ppi::module::ActiveSocketSink<Writer>
template <class Writer>
+prefix_ senf::ppi::module::ActiveSocketSink<Writer>::ActiveSocketSink()
+{
+ registerEvent( event_, &ActiveSocketSink::write );
+ route(input, event_);
+}
+
+template <class Writer>
+prefix_ senf::ppi::module::ActiveSocketSink<Writer>::ActiveSocketSink(Writer const & writer)
+ : writer_ (writer)
+{
+ registerEvent( event_, &ActiveSocketSink::write );
+ route(input, event_);
+}
+
+template <class Writer>
prefix_ senf::ppi::module::ActiveSocketSink<Writer>::ActiveSocketSink(Handle handle)
: handle_(handle), event_(handle_, IOEvent::Write), writer_()
{
// senf::ppi::module::PassiveSocketSink<Writer>
template <class Writer>
+prefix_ senf::ppi::module::PassiveSocketSink<Writer>::PassiveSocketSink()
+{
+ noroute(input);
+ input.onRequest(&PassiveSocketSink::write);
+ checkThrottle();
+}
+
+template <class Writer>
+prefix_ senf::ppi::module::PassiveSocketSink<Writer>::PassiveSocketSink(Writer const & writer)
+ : writer_ (writer)
+{
+ noroute(input);
+ input.onRequest(&PassiveSocketSink::write);
+ checkThrottle();
+}
+
+template <class Writer>
prefix_ senf::ppi::module::PassiveSocketSink<Writer>::PassiveSocketSink(Handle handle)
: handle_(handle), writer_()
{
noroute(input);
input.onRequest(&PassiveSocketSink::write);
+ checkThrottle();
}
template <class Writer>
{
noroute(input);
input.onRequest(&PassiveSocketSink::write);
+ checkThrottle();
}
////////////////////////////////////////
writer_(handle_,input());
}
+template <class Writer>
+prefix_ void senf::ppi::module::PassiveSocketSink<Writer>::checkThrottle()
+{
+ if (handle_)
+ input.unthrottle();
+ else
+ input.throttle();
+}
+
///////////////////////////////ct.e////////////////////////////////////////
#undef prefix_