4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 // Competence Center NETwork research (NET), St. Augustin, GERMANY
6 // Stefan Bund <g0dil@berlios.de>
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 \brief SocketSink non-inline template implementation */
26 //#include "SocketSink.ih"
31 ///////////////////////////////ct.p////////////////////////////////////////
33 ///////////////////////////////////////////////////////////////////////////
34 // senf::ppi::module::ActiveSocketSink<Writer>
36 template <class Writer>
37 prefix_ senf::ppi::module::ActiveSocketSink<Writer>::ActiveSocketSink()
39 registerEvent( event_, &ActiveSocketSink::write );
43 template <class Writer>
44 prefix_ senf::ppi::module::ActiveSocketSink<Writer>::ActiveSocketSink(Writer const & writer)
47 registerEvent( event_, &ActiveSocketSink::write );
51 template <class Writer>
52 prefix_ senf::ppi::module::ActiveSocketSink<Writer>::ActiveSocketSink(Handle handle)
53 : handle_(handle), event_(handle_, IOEvent::Write), writer_()
55 registerEvent( event_, &ActiveSocketSink::write );
59 template <class Writer>
60 prefix_ senf::ppi::module::ActiveSocketSink<Writer>::ActiveSocketSink(Handle handle,
61 Writer const & writer)
62 : handle_(handle), event_(handle_, IOEvent::Write), writer_(writer)
64 registerEvent( event_, &ActiveSocketSink::write );
68 ////////////////////////////////////////
71 template <class Writer>
72 prefix_ void senf::ppi::module::ActiveSocketSink<Writer>::write()
74 writer_(handle_,input());
77 ///////////////////////////////////////////////////////////////////////////
78 // senf::ppi::module::PassiveSocketSink<Writer>
80 template <class Writer>
81 prefix_ senf::ppi::module::PassiveSocketSink<Writer>::PassiveSocketSink()
84 input.onRequest(&PassiveSocketSink::write);
88 template <class Writer>
89 prefix_ senf::ppi::module::PassiveSocketSink<Writer>::PassiveSocketSink(Writer const & writer)
93 input.onRequest(&PassiveSocketSink::write);
97 template <class Writer>
98 prefix_ senf::ppi::module::PassiveSocketSink<Writer>::PassiveSocketSink(Handle handle)
99 : handle_(handle), writer_()
102 input.onRequest(&PassiveSocketSink::write);
106 template <class Writer>
107 prefix_ senf::ppi::module::PassiveSocketSink<Writer>::PassiveSocketSink(Handle handle,
108 Writer const & writer)
109 : handle_(handle), writer_(writer)
112 input.onRequest(&PassiveSocketSink::write);
116 ////////////////////////////////////////
119 template <class Writer>
120 prefix_ void senf::ppi::module::PassiveSocketSink<Writer>::write()
122 writer_(handle_,input());
125 template <class Writer>
126 prefix_ void senf::ppi::module::PassiveSocketSink<Writer>::checkThrottle()
134 ///////////////////////////////ct.e////////////////////////////////////////
141 // comment-column: 40
142 // c-file-style: "senf"
143 // indent-tabs-mode: nil
144 // ispell-local-dictionary: "american"
145 // compile-command: "scons -u test"