Pārlūkot izejas kodu

* added parameter to configure heartbeat

master
bergmann pirms 7 gadiem
vecāks
revīzija
9c1a87079e
4 mainītis faili ar 19 papildinājumiem un 14 dzēšanām
  1. +3
    -1
      include/cppamqp/connection.h
  2. +2
    -1
      include/cppamqp/exception.inl
  3. +13
    -11
      src/cppamqp/connection.cpp
  4. +1
    -1
      src/cppamqp/helper.cpp

+ 3
- 1
include/cppamqp/connection.h Parādīt failu

@@ -13,7 +13,7 @@ namespace cppamqp

struct connection
{
private:
public:
static inline const std::string& default_vhost ();
static inline const std::string& default_username ();
static inline const std::string& default_password ();
@@ -47,12 +47,14 @@ namespace cppamqp
const std::string& p_username = default_username(),
const std::string& p_password = default_password(),
const std::string& p_vhost = default_vhost(),
int p_heartbeat = AMQP_DEFAULT_HEARTBEAT,
int p_max_channels = AMQP_DEFAULT_MAX_CHANNELS,
int p_max_frame_size = AMQP_DEFAULT_FRAME_SIZE);

void login_external(
const std::string& p_identify,
const std::string& p_vhost = default_vhost(),
int p_heartbeat = AMQP_DEFAULT_HEARTBEAT,
int p_max_channels = AMQP_DEFAULT_MAX_CHANNELS,
int p_max_frame_size = AMQP_DEFAULT_FRAME_SIZE);



+ 2
- 1
include/cppamqp/exception.inl Parādīt failu

@@ -15,7 +15,8 @@ namespace cppamqp
{ }

exception::exception(const std::string& p_message, amqp_status_enum p_status) :
utl::exception (p_message),
utl::exception (p_message + " - " + amqp_error_string2(p_status) +
"(" + std::to_string(static_cast<int>(p_status)) + ")"),
status (p_status)
{ }


+ 13
- 11
src/cppamqp/connection.cpp Parādīt failu

@@ -69,26 +69,28 @@ void connection::tcp_connect(const std::string& hostname, uint port)
}

void connection::login_plain(
const std::string& username,
const std::string& password,
const std::string& vhost,
int maxChannels,
int maxFrameSize)
const std::string& p_username,
const std::string& p_password,
const std::string& p_vhost,
int p_heartbeat,
int p_max_channels,
int p_max_frame_size)
{
__impl::check_and_raise(
amqp_login(handle(), vhost.c_str(), maxChannels, maxFrameSize, 0, AMQP_SASL_METHOD_PLAIN, username.c_str(), password.c_str()),
amqp_login(handle(), p_vhost.c_str(), p_max_channels, p_max_frame_size, p_heartbeat, AMQP_SASL_METHOD_PLAIN, p_username.c_str(), p_password.c_str()),
"error while login plain",
false);
}

void connection::login_external(
const std::string& identify,
const std::string& vhost,
int maxChannels,
int maxFrameSize)
const std::string& p_identify,
const std::string& p_vhost,
int p_heartbeat,
int p_max_channels,
int p_max_frame_size)
{
__impl::check_and_raise(
amqp_login(handle(), vhost.c_str(), maxChannels, maxFrameSize, 0, AMQP_SASL_METHOD_EXTERNAL, identify.c_str()),
amqp_login(handle(), p_vhost.c_str(), p_max_channels, p_max_frame_size, p_heartbeat, AMQP_SASL_METHOD_EXTERNAL, p_identify.c_str()),
"error while login external",
false);
}


+ 1
- 1
src/cppamqp/helper.cpp Parādīt failu

@@ -14,7 +14,7 @@ void ::cppamqp::__impl::check_and_raise(int returnCode, std::string msg, bool lo
log_global_message(error, msg);
}
else
throw cppamqp::exception(static_cast<amqp_status_enum>(returnCode));
throw cppamqp::exception(msg, static_cast<amqp_status_enum>(returnCode));
}

void ::cppamqp::__impl::check_and_raise(const amqp_rpc_reply_t& reply, std::string msg, bool logOnly)


Notiek ielāde…
Atcelt
Saglabāt