diff options
Diffstat (limited to 'src/components/transport_manager/src/tcp/tcp_device.cc')
-rw-r--r-- | src/components/transport_manager/src/tcp/tcp_device.cc | 89 |
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; } |