Remove ConnectionManager, refine message queue.
parent
f41b625f51
commit
dfadd85a69
@ -1,25 +0,0 @@
|
||||
#include "csoap/connection_manager.h"
|
||||
|
||||
namespace csoap {
|
||||
|
||||
ConnectionManager::ConnectionManager() {
|
||||
}
|
||||
|
||||
void ConnectionManager::Start(ConnectionPtr conn) {
|
||||
connections_.insert(conn);
|
||||
conn->Start();
|
||||
}
|
||||
|
||||
void ConnectionManager::Stop(ConnectionPtr conn) {
|
||||
connections_.erase(conn);
|
||||
conn->Stop();
|
||||
}
|
||||
|
||||
void ConnectionManager::StopAll() {
|
||||
for (const ConnectionPtr& conn : connections_) {
|
||||
conn->Stop();
|
||||
}
|
||||
connections_.clear();
|
||||
}
|
||||
|
||||
} // namespace csoap
|
@ -1,35 +0,0 @@
|
||||
#ifndef CSOAP_CONNECTION_MANAGER_H_
|
||||
#define CSOAP_CONNECTION_MANAGER_H_
|
||||
|
||||
#include <set>
|
||||
#include "csoap/connection.h"
|
||||
|
||||
namespace csoap {
|
||||
|
||||
// ConnectionManager manages open connections so that they may be cleanly
|
||||
// stopped when the server needs to shut down.
|
||||
class ConnectionManager {
|
||||
public:
|
||||
ConnectionManager(const ConnectionManager&) = delete;
|
||||
ConnectionManager& operator=(const ConnectionManager&) = delete;
|
||||
|
||||
// Construct a connection manager.
|
||||
ConnectionManager();
|
||||
|
||||
// Add the specified connection to the manager and start it.
|
||||
void Start(ConnectionPtr conn);
|
||||
|
||||
// Stop the specified connection.
|
||||
void Stop(ConnectionPtr conn);
|
||||
|
||||
// Stop all connections.
|
||||
void StopAll();
|
||||
|
||||
private:
|
||||
// The managed connections.
|
||||
std::set<ConnectionPtr> connections_;
|
||||
};
|
||||
|
||||
} // namespace csoap
|
||||
|
||||
#endif // CSOAP_CONNECTION_MANAGER_H_
|
Loading…
Reference in New Issue