9 #ifndef anna_diameter_comm_Server_hpp 10 #define anna_diameter_comm_Server_hpp 63 std::vector<ClientSession*> a_clientSessions;
64 int a_maxClientSessions;
65 std::vector<ClientSession*>::iterator a_deliveryIterator;
71 void updateIncomingActivityTime() ;
72 void updateOutgoingActivityTime() ;
79 void initializeStatisticResources() ;
80 void resetStatistics() ;
84 void availabilityLost() ;
85 void availabilityRecovered() ;
86 bool refreshAvailability() ;
87 void assertReady() noexcept(
false);
89 void childIdle()
const ;
92 void close(
bool destroy) noexcept(
false);
103 Server(
int maxClientSessions = 1) : a_maxClientSessions(maxClientSessions) { initialize(); }
114 void addClientSession(
int socketId) noexcept(
false);
130 bool bind() noexcept(
false);
137 void raiseAutoRecovery(
bool autoRecovery =
true) noexcept(
false);
143 bool send(
const Message*,
int socketId = -1 ) noexcept(
false);
144 bool send(
const Message& message,
int socketId = -1 ) noexcept(false) {
return send(&message, socketId); }
158 bool broadcast(
const Message*) noexcept(
false);
181 std::vector<ClientSession*>::iterator
begin() {
return a_clientSessions.begin(); }
182 std::vector<ClientSession*>::iterator
end() {
return a_clientSessions.end(); }
183 std::vector<ClientSession*>::const_iterator
begin()
const {
return a_clientSessions.begin(); }
184 std::vector<ClientSession*>::const_iterator
end()
const {
return a_clientSessions.end(); }
194 const std::string&
getAddress()
const {
return a_socket.first; }
200 int getPort()
const {
return a_socket.second; }
204 std::string socketAsString()
const ;
227 int getOTARequests()
const ;
234 bool idle()
const {
return (getOTARequests() == 0); }
252 bool hidden()
const ;
264 std::string asString()
const ;
Definition: Millisecond.hpp:24
const anna::Millisecond & getLastIncomingActivityTime() const
Definition: Server.hpp:212
std::vector< ClientSession * >::const_iterator begin() const
Definition: Server.hpp:183
virtual ~Server()
Definition: Server.hpp:106
Definition: Engine.hpp:102
bool idle() const
Definition: Server.hpp:234
Definition: Server.hpp:54
bool broadcast(const Message &message) noexcept(false)
Definition: Server.hpp:159
Definition: OriginHost.hpp:41
ClientSession * getLastUsedResource() const
Definition: Server.hpp:150
int getMaxClientSessions() const
Definition: Server.hpp:187
_v
Definition: ClassCode.hpp:28
int getPort() const
Definition: Server.hpp:200
int getNumberOfClientSessions() const
Definition: Server.hpp:186
Definition: MessageStatistics.hpp:33
Definition: Response.hpp:44
Server(int maxClientSessions=1)
Definition: Server.hpp:103
Definition: Message.hpp:45
Definition: ClientSession.hpp:51
std::pair< std::string, int > socket_t
Definition: defines.hpp:104
const Entity * getParent() const
Definition: Server.hpp:173
bool send(const Message &message, int socketId=-1) noexcept(false)
Definition: Server.hpp:144
const std::string & getAddress() const
Definition: Server.hpp:194
std::vector< ClientSession * >::const_iterator end() const
Definition: Server.hpp:184
const anna::Millisecond & getLastOutgoingActivityTime() const
Definition: Server.hpp:219
std::vector< ClientSession * >::iterator begin()
Definition: Server.hpp:181
bool isAvailable() const
Definition: Server.hpp:178
void close() noexcept(false)
Definition: Server.hpp:166
std::pair< U24, bool > CommandId
Definition: defines.hpp:32
Definition: Entity.hpp:50
std::vector< ClientSession * >::iterator end()
Definition: Server.hpp:182
Definition: DataBlock.hpp:24
void setMaxClientSessions(int maxClientSessions)
Definition: Server.hpp:188