ANNA Suite  2020b
Multipurpose development suite for Telco applications
LiteTransport.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_comm_LiteTransport_hpp
10 #define anna_comm_LiteTransport_hpp
11 
12 #include <anna/comm/Transport.hpp>
15 
16 namespace anna {
17 
18 namespace comm {
19 
30 public:
31  static const int headerSize = sizeof(short int);
36  virtual ~LiteTransport();
37 
42  static const char* className() { return "anna::comm::LiteTransport"; }
43 
48  static TransportFactory& getFactory() { return st_transportFactory; }
49 
50 private:
51  static TransportFactoryImpl <LiteTransport> st_transportFactory;
52 
53  LiteTransport();
54 
55  int calculeSize(const DataBlock&) noexcept(false);
56  const Message* decode(const DataBlock&) noexcept(false);
57  const DataBlock& code(Message&) noexcept(false);
58 
60 };
61 
62 }
63 }
64 #endif
65 
static const char * className()
Definition: LiteTransport.hpp:42
static TransportFactory & getFactory()
Definition: LiteTransport.hpp:48
Definition: Transport.hpp:44
Definition: Allocator.hpp:19
Definition: Message.hpp:26
Definition: TransportFactoryImpl.hpp:25
Definition: app.hpp:12
Definition: LiteTransport.hpp:29
Definition: TransportFactory.hpp:30
static const int headerSize
Definition: LiteTransport.hpp:31
Definition: DataBlock.hpp:24