ANNA Suite  2020b
Multipurpose development suite for Telco applications
DirectTransport.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_DirectTransport_hpp
10 #define anna_comm_DirectTransport_hpp
11 
12 #include <anna/core/DataBlock.hpp>
13 
14 #include <anna/comm/Transport.hpp>
17 
18 namespace anna {
19 
20 namespace comm {
21 
41 public:
45  virtual ~DirectTransport();
46 
51  static TransportFactory& getFactory() { return st_transportFactory; }
52 
57  static const char* className() { return "anna::comm::DirectTransport"; }
58 
59 private:
60  static TransportFactoryImpl <DirectTransport> st_transportFactory;
61 
63 
64  int calculeSize(const DataBlock& dataBlock) noexcept(false) { return dataBlock.getSize(); }
65  const Message* decode(const DataBlock&) noexcept(false);
66  const DataBlock& code(Message&) noexcept(false);
67 
69 };
70 
71 }
72 }
73 #endif
74 
static TransportFactory & getFactory()
Definition: DirectTransport.hpp:51
Definition: Transport.hpp:44
Definition: Allocator.hpp:19
Definition: Message.hpp:26
static const char * className()
Definition: DirectTransport.hpp:57
int getSize() const
Definition: DataBlock.hpp:78
Definition: DirectTransport.hpp:40
Definition: TransportFactoryImpl.hpp:25
Definition: app.hpp:12
Definition: TransportFactory.hpp:30
Definition: DataBlock.hpp:24