Commit f99d0782 authored by garciay's avatar garciay
Browse files

Merge with STF549_NG112

parent 2755a522
Loading
Loading
Loading
Loading
+39 −38
Original line number Diff line number Diff line
@@ -4,14 +4,11 @@
#include <errno.h>
#include <chrono>

using namespace std; // Required for isnan()
#include "Port.hh"

#include "tcp_layer_factory.hh"

#include "loggers.hh"

tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) :  SSL_Socket(), layer(p_type), PORT(p_type.c_str()), _params(), _client_id{-1}, _time_key("tcp_layer::Handle_Fd_Event_Readable"), _reconnect_on_send{false} {
tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) : layer(p_type), SSL_Socket(), PORT(p_type.c_str()), _params(), _client_id{-1}, _time_key("tcp_layer::Handle_Fd_Event_Readable"), _reconnect_on_send{false} {
  loggers::get_instance().log(">>> tcp_layer::tcp_layer: %s, %s", to_string().c_str(), param.c_str());
  // Setup parameters
  params::convert(_params, param);
@@ -31,13 +28,6 @@ tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) : S
  if (!parameter_set(params::server.c_str(), _params[params::server].c_str())) {
    loggers::get_instance().warning("tcp_layer::set_parameter: Unprocessed parameter: %s", params::server.c_str());
  }
  it = _params.find(params::port);
  if (it == _params.cend()) {
    _params.insert(std::pair<std::string, std::string>(std::string("port"), "80"));
  }
  if (!parameter_set(params::port.c_str(), _params[params::port].c_str())) {
    loggers::get_instance().warning("tcp_layer::set_parameter: Unprocessed parameter: %s", params::server.c_str());
  }
  set_ssl_use_ssl(false);
  it = _params.find(params::use_ssl);
  if (it == _params.cend()) {
@@ -45,11 +35,22 @@ tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) : S
  } else if (it->second.compare("1") == 0) {
    set_ssl_use_ssl(true);
  }
  it = _params.find(params::port);
  if (it == _params.cend()) {
    if (_params[params::use_ssl].compare("0") == 0) { // Use standard HTTP port
      _params.insert(std::pair<std::string, std::string>(std::string("port"), "80"));
    } else { // Use standard HTTPS port
      _params.insert(std::pair<std::string, std::string>(std::string("port"), "443"));
    }
  }
  if (!parameter_set(params::port.c_str(), _params[params::port].c_str())) {
    loggers::get_instance().warning("tcp_layer::set_parameter: Unprocessed parameter: %s", params::server.c_str());
  }

  parameter_set(use_connection_ASPs_name(), "yes");
  parameter_set(server_backlog_name(), "1024");
  set_server_mode(false);
  set_ttcn_buffer_usercontrol(true);
  set_ttcn_buffer_usercontrol(false);
  set_handle_half_close(true);

  map_user();
+2 −2
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
 */
#pragma once

#include "t_layer.hh"
#include "layer.hh"

#include "Abstract_Socket.hh"

@@ -20,7 +20,7 @@ class PORT; //! Forward declaration of TITAN class
 * \class tcp_layer
 * \brief  This class provides description of ITS TCP port protocol layer
 */
class tcp_layer : public SSL_Socket, public layer, public PORT {
class tcp_layer : public layer, public SSL_Socket, public PORT {
  params _params;          //! Layer parameters
  int _client_id;          //! Connection identifier
  std::string _time_key;   //! \todo