ANNA Suite  2020b
Multipurpose development suite for Telco applications
Transport.hpp
Go to the documentation of this file.
1 // ANNA - Anna is Not Nothingness Anymore //
2 // //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
4 // //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7 
8 
9 #ifndef anna_diameter_comm_Transport_hpp
10 #define anna_diameter_comm_Transport_hpp
11 
12 
13 #include <anna/config/defines.hpp>
15 #include <anna/comm/Transport.hpp>
17 
18 namespace anna {
19 class DataBlock;
20 }
21 
22 
23 
24 namespace anna {
25 
26 namespace diameter {
27 
28 namespace comm {
29 
30 
46 public:
50  virtual ~Transport();
51 
56  static anna::comm::TransportFactory& getFactory() { return st_factory; }
57 
62  static const char* className() { return "diameter::comm::Transport"; }
63 
64 private:
66 
67  Transport();
68 
69  int calculeSize(const anna::DataBlock&) noexcept(false);
70  const anna::comm::Message* decode(const anna::DataBlock&) noexcept(false);
71  const anna::DataBlock& code(anna::comm::Message&) noexcept(false);
72 
74 };
75 
76 }
77 }
78 }
79 
80 #endif
81 
static const char * className()
Definition: Transport.hpp:62
static anna::comm::TransportFactory & getFactory()
Definition: Transport.hpp:56
Definition: Transport.hpp:44
Definition: Allocator.hpp:19
Definition: Message.hpp:26
Definition: Transport.hpp:45
Definition: app.hpp:12
Definition: TransportFactory.hpp:30
Definition: DataBlock.hpp:24