summaryrefslogtreecommitdiff
path: root/src/components/transport_manager/src/tcp/tcp_device.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/transport_manager/src/tcp/tcp_device.cc')
-rw-r--r--src/components/transport_manager/src/tcp/tcp_device.cc89
1 files changed, 29 insertions, 60 deletions
diff --git a/src/components/transport_manager/src/tcp/tcp_device.cc b/src/components/transport_manager/src/tcp/tcp_device.cc
index d3f132759a..5a213938a9 100644
--- a/src/components/transport_manager/src/tcp/tcp_device.cc
+++ b/src/components/transport_manager/src/tcp/tcp_device.cc
@@ -30,42 +30,44 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include "utils/logger.h"
#include "transport_manager/tcp/tcp_device.h"
+#include "utils/logger.h"
namespace transport_manager {
namespace transport_adapter {
CREATE_LOGGERPTR_GLOBAL(logger_, "TransportManager")
-TcpDevice::TcpDevice(const in_addr_t& in_addr, const std::string& name)
+TcpDevice::TcpDevice(const utils::HostAddress& address, const std::string& name)
: Device(name, name)
, applications_mutex_()
- , in_addr_(in_addr)
+ , address_(address)
, last_handle_(0) {
- LOG4CXX_AUTO_TRACE(logger_);
+ LOGGER_AUTO_TRACE(logger_);
+ LOGGER_DEBUG(logger_, "Created TCPDevice with name " << name);
}
bool TcpDevice::IsSameAs(const Device* other) const {
- LOG4CXX_AUTO_TRACE(logger_);
- LOG4CXX_DEBUG(logger_, "Device: " << other);
+ LOGGER_AUTO_TRACE(logger_);
+ LOGGER_DEBUG(logger_, "Device: " << other);
const TcpDevice* other_tcp_device = static_cast<const TcpDevice*>(other);
- if (other_tcp_device->in_addr_ == in_addr_) {
- LOG4CXX_TRACE(
+ if (other_tcp_device->address_ == address_) {
+ LOGGER_TRACE(
logger_,
- "exit with TRUE. Condition: other_tcp_device->in_addr_ == in_addr_");
+ "exit with TRUE. Condition: other_tcp_device->address_ == address_");
return true;
} else {
- LOG4CXX_TRACE(logger_, "exit with FALSE");
+ LOGGER_TRACE(logger_, "exit with FALSE");
return false;
}
}
ApplicationList TcpDevice::GetApplicationList() const {
- LOG4CXX_AUTO_TRACE(logger_);
- sync_primitives::AutoLock locker(applications_mutex_);
+ LOGGER_AUTO_TRACE(logger_);
ApplicationList app_list;
+ app_list.reserve(applications_.size());
+ sync_primitives::AutoLock locker(applications_mutex_);
for (std::map<ApplicationHandle, Application>::const_iterator it =
applications_.begin();
it != applications_.end();
@@ -75,76 +77,43 @@ ApplicationList TcpDevice::GetApplicationList() const {
return app_list;
}
-ApplicationHandle TcpDevice::AddIncomingApplication(int socket_fd) {
- LOG4CXX_AUTO_TRACE(logger_);
- LOG4CXX_DEBUG(logger_, "Socket_fd: " << socket_fd);
- Application app;
- app.incoming = true;
- app.socket = socket_fd;
- app.port = 0; // this line removes compiler warning
- sync_primitives::AutoLock locker(applications_mutex_);
- const ApplicationHandle app_handle = ++last_handle_;
- applications_[app_handle] = app;
- LOG4CXX_DEBUG(logger_, "App_handle " << app_handle);
- return app_handle;
-}
-
-ApplicationHandle TcpDevice::AddDiscoveredApplication(int port) {
- LOG4CXX_AUTO_TRACE(logger_);
- LOG4CXX_DEBUG(logger_, "Port " << port);
- Application app;
- app.incoming = false;
- app.socket = 0; // this line removes compiler warning
- app.port = port;
+ApplicationHandle TcpDevice::AddApplication(const uint16_t port,
+ const bool is_incomming) {
+ LOGGER_AUTO_TRACE(logger_);
+ LOGGER_DEBUG(logger_, "Port " << port);
+ Application appplication(is_incomming, port);
sync_primitives::AutoLock locker(applications_mutex_);
const ApplicationHandle app_handle = ++last_handle_;
- applications_[app_handle] = app;
- LOG4CXX_DEBUG(logger_, "App_handle " << app_handle);
+ applications_[app_handle] = appplication;
+ LOGGER_DEBUG(logger_, "App_handle " << app_handle);
return app_handle;
}
void TcpDevice::RemoveApplication(const ApplicationHandle app_handle) {
- LOG4CXX_AUTO_TRACE(logger_);
- LOG4CXX_DEBUG(logger_, "ApplicationHandle: " << app_handle);
+ LOGGER_AUTO_TRACE(logger_);
+ LOGGER_DEBUG(logger_, "ApplicationHandle: " << app_handle);
sync_primitives::AutoLock locker(applications_mutex_);
applications_.erase(app_handle);
}
TcpDevice::~TcpDevice() {
- LOG4CXX_AUTO_TRACE(logger_);
-}
-
-int TcpDevice::GetApplicationSocket(const ApplicationHandle app_handle) const {
- LOG4CXX_AUTO_TRACE(logger_);
- LOG4CXX_DEBUG(logger_, "ApplicationHandle: " << app_handle);
- std::map<ApplicationHandle, Application>::const_iterator it =
- applications_.find(app_handle);
- if (applications_.end() == it) {
- LOG4CXX_WARN(logger_, "Application was not found");
- return -1;
- }
- if (!it->second.incoming) {
- LOG4CXX_WARN(logger_, "Application is not incoming");
- return -1;
- }
- LOG4CXX_DEBUG(logger_, "socket " << it->second.socket);
- return it->second.socket;
+ LOGGER_AUTO_TRACE(logger_);
}
int TcpDevice::GetApplicationPort(const ApplicationHandle app_handle) const {
- LOG4CXX_AUTO_TRACE(logger_);
- LOG4CXX_DEBUG(logger_, "ApplicationHandle: " << app_handle);
+ LOGGER_AUTO_TRACE(logger_);
+ LOGGER_DEBUG(logger_, "ApplicationHandle: " << app_handle);
std::map<ApplicationHandle, Application>::const_iterator it =
applications_.find(app_handle);
if (applications_.end() == it) {
- LOG4CXX_WARN(logger_, "Application was not found");
+ LOGGER_WARN(logger_, "Application was not found");
return -1;
}
if (it->second.incoming) {
- LOG4CXX_DEBUG(logger_, "Application is incoming");
+ LOGGER_DEBUG(logger_, "Application is incoming");
return -1;
}
- LOG4CXX_DEBUG(logger_, "port " << it->second.port);
+ LOGGER_DEBUG(logger_, "port " << it->second.port);
return it->second.port;
}