QueueSocketSourceSink.ih
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
6 //
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
11 //
12 
13 
14 /** \file
15  \brief QueueSocketSourceSink internal header */
16 
17 #ifndef IH_SENF_senf_PPI_QueueSocketSourceSink_
18 #define IH_SENF_senf_PPI_QueueSocketSourceSink_ 1
19 
20 // Custom includes
21 #include <boost/type_traits/is_base_of.hpp>
22 
23 //-/////////////////////////////////////////////////////////////////////////////////////////////////
24 
25 namespace senf {
26 namespace ppi {
27 
28  namespace connector { class FastConnector; }
29 
30 namespace detail {
31 
32  template <class Connector, bool IsFast=boost::is_base_of<connector::FastConnector, Connector>::value>
33  struct RouteConnector
34  {
35  template <class Module, class Other>
36  static void route(Module & module, Other & other, Connector & connector)
37  { senf::ppi::module::detail::RouteHelper<Other, Connector>::route(
38  module, other, connector, other, connector); }
39  };
40 
41  template <class Connector>
42  struct RouteConnector<Connector, true>
43  {
44  template <class Module, class Other>
45  static void route(Module & module, Other & other, Connector & connector)
46  { }
47  };
48 
49 }}}
50 
51 //-/////////////////////////////////////////////////////////////////////////////////////////////////
52 #endif
53 
54 
55 // Local Variables:
56 // mode: c++
57 // fill-column: 100
58 // comment-column: 40
59 // c-file-style: "senf"
60 // indent-tabs-mode: nil
61 // ispell-local-dictionary: "american"
62 // compile-command: "scons -u test"
63 // End: