ANNA Suite  2020b
Multipurpose development suite for Telco applications
RoundRobinDelivery.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_RoundRobinDelivery_hpp
10 #define anna_comm_RoundRobinDelivery_hpp
11 
12 #include <anna/comm/Service.hpp>
13 
14 namespace anna {
15 
16 namespace comm {
17 class Resource;
18 }
19 
20 namespace comm {
21 
28 public:
35  RoundRobinDelivery(const char* name, const bool isCritical) :
36  comm::Service(name, isCritical),
37  a_iiserver(0)
38  {;}
39 
40  std::string asString() const ;
41 
42  xml::Node* asXML(xml::Node* parent) const ;
43 
50  static const char* className() { return "anna::comm::RoundRobinDelivery"; }
51 
52 protected:
53  void do_initialize() noexcept(false);
54 
55 private:
56  //------------------------------------------------------------------------------------
57  // - a_iiserver: iterador que apunta al servidor que debemos usar.
58  //------------------------------------------------------------------------------------
59  iterator a_iiserver;
60 
61  comm::Resource* do_apply() noexcept(false);
62  iterator advance() ;
63 };
64 
65 }
66 }
67 
68 #endif
69 
Definition: Node.hpp:56
static const char * className()
Definition: RoundRobinDelivery.hpp:50
Definition: RoundRobinDelivery.hpp:27
Definition: Resource.hpp:25
Definition: app.hpp:12
RoundRobinDelivery(const char *name, const bool isCritical)
Definition: RoundRobinDelivery.hpp:35
Definition: Service.hpp:28