const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,
const size_t recvlen ) = 0;
- //! called from after realserver select.use in upstream thread.
+ //! called from after realserver select.use in upstream thread.
//! @param[in] upstream thread id
//! @param[out] realserver TCP endpoint
//! @return session use EVENT mode.
const boost::thread::id thread_id ) = 0;
//! call from sorry mode event. use upstream thread and downstream thread
- //! @param[in] upstream and downstream thread id( check! one thread one event and first time call pattern )
+ //! @param[in] upstream and downstream thread id( check! one thread one event and first time call pattern )
//! @return session use EVENT mode
virtual EVENT_TAG handle_sorry_enable( const boost::thread::id thread_id ) = 0;
//! call from sorry server disconnect. use upstraem thread and downstream thread
//! @param[in] upstream and downstream thread id( check! one thread one event )
//! @param[in] disconnect sorryserver endpoint
- //! @return session use EVENT mode
+ //! @return session use EVENT mode
virtual EVENT_TAG handle_sorryserver_disconnect(
const boost::thread::id thread_id,
const boost::asio::ip::tcp::endpoint& sorry_endpoint ) = 0;
const size_t data_size,
std::string& data_dump)
{
+ if (data == NULL || data_size == 0)
+ {
+ return;
+ }
+
+ boost::format formatter("%02X");
+ for (size_t i = 0; i < data_size; i++)
+ {
+ if (i % 32 == 0)
+ {
+ data_dump += "\n";
+ }
+ else if (i != 0 && i % 2 == 0)
+ {
+ data_dump += " ";
+ }
+
+ formatter % static_cast<unsigned short>(static_cast<unsigned char>(data[i]));
+ data_dump += formatter.str();
+ }
+ data_dump += "\n";
}
};
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = foreign
-L7VS_MODDIR = @l7vs_dir@
+L7VS_MODDIR = @l7vs_moddir@
MAX_BUFFER_SIZE = @l7vs_max_buffer_size@
AM_CPPFLAGS = \
-g -O2 -Wall -Werror -fPIC -pthread \
install:
+ cp ./.libs/libprotomod_cinsert.so ./.libs/protomod_cinsert.so && \
+ cp ./.libs/libprotomod_sslid.so ./.libs/protomod_sslid.so && \
+ cp ./.libs/libprotomod_sessionless.so ./.libs/protomod_sessionless.so && \
$(INSTALL) -m 755 -d $(L7VS_MODDIR)
- $(INSTALL) -D 755 -D $(L7VS_MODDIR)
+ $(INSTALL) -m 755 -D \
+ ./.libs/protomod_cinsert.so \
+ ./.libs/protomod_sslid.so \
+ ./.libs/protomod_sessionless.so $(L7VS_MODDIR)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
#include <vector>
#include <list>
-#include <sstream>
#include <algorithm>
+#include <iostream>
#include <boost/thread/pthread/mutex.hpp>
#include <boost/asio/ip/tcp.hpp>
#include <boost/format.hpp>
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10003, "in/out_function : bool protocol_module_sessionless::is_tcp() : "
+ putLogDebug(10000, "in/out_function : bool protocol_module_sessionless::is_tcp() : "
"return_value = true.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10004, "in/out_function : bool protocol_module_sessionless::is_udp() : "
+ putLogDebug(10001, "in/out_function : bool protocol_module_sessionless::is_udp() : "
"return_value = false.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "in_function : void protocol_module_sessionless::initialize("
+ putLogDebug(10003, "in_function : void protocol_module_sessionless::initialize("
"rs_list_itr_func_type inlist_begin, rs_list_itr_func_type inlist_end, "
"rs_list_itr_next_func_type inlist_next, boost::function< void( void ) > "
"inlist_lock, boost::function< void( void ) > inlist_unlock).", __FILE__, __LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10006, "out_function : void protocol_module_sessionless::initialize("
+ putLogDebug(10004, "out_function : void protocol_module_sessionless::initialize("
"rs_list_itr_func_type inlist_begin, rs_list_itr_func_type inlist_end, "
"rs_list_itr_next_func_type inlist_next, boost::function< void( void ) > "
"inlist_lock, boost::function< void( void ) > inlist_unlock).", __FILE__, __LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10007, "in_function : void protocol_module_sessionless::finalize().", __FILE__,
+ putLogDebug(10005, "in_function : void protocol_module_sessionless::finalize().", __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10007, "function : void protocol_module_sessionless::finalize() : "
+ putLogDebug(10006, "function : void protocol_module_sessionless::finalize() : "
"rs_list_begin.clear(), rs_list_end.clear(), rs_list_next.clear(), rs_list_lock.clear(), rs_list_unlock.clear() end.", __FILE__,
__LINE__ );
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10007, "function : void protocol_module_sessionless::finalize() : "
+ putLogDebug(10008, "function : void protocol_module_sessionless::finalize() : "
"schedule_tcp.clear(), schedule_udp.clear() end.", __FILE__,
__LINE__ );
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10007, "function : void protocol_module_sessionless::finalize() : "
- "forwarded_for = 0, sorry_uri.assign('\0') end.", __FILE__,
+ putLogDebug(10009, "function : void protocol_module_sessionless::finalize() : "
+ "forwarded_for = 0, sorry_uri.assign('\\0') end.", __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10007, "in/out_function : bool protocol_module_sessionless::is_use_sorry() : "
+ putLogDebug(10010, "in/out_function : bool protocol_module_sessionless::is_use_sorry() : "
"return_value = true.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "in/out_function : void protocol_module_sessionless::handle_rslist_update().", __FILE__,
+ putLogDebug(10011, "in/out_function : void protocol_module_sessionless::handle_rslist_update().", __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
argsdump += *it;
}
formatter % argsdump;
- putLogDebug(10010, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10012, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
check_result.flag = true;
bool forward_checked = false;
bool sorryuri_checked = false;
- const std::string regex_match_str = "(/([0-9a-zA-Z$\\-_.+!*'(),;:@&=]|%[0-9a-fA-F]{2})*)+";
+ const std::string regex_match_str = "(/([[:digit:][:alpha:]$\\-_.+!*'(),;:@&=]|%[:xdigit:]{2})*)+";
typedef std::vector<std::string>::const_iterator vec_str_it;
try
//set check result message
check_result.message = ostr.str();
- putLogError(17000, check_result.message, __FILE__, __LINE__ );
+ putLogError(17001, check_result.message, __FILE__, __LINE__ );
//loop break;
break;
}
check_result.flag = false;
//set check result message
check_result.message = ostr.str();
- putLogError(17000, check_result.message, __FILE__, __LINE__ );
+ putLogError(17002, check_result.message, __FILE__, __LINE__ );
//loop break
break;
}
check_result.flag = false;
//set check result message
check_result.message = "You have to set option value '-S/--sorry-uri'.";
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17003, check_result.message, __FILE__,
__LINE__ );
//loop break
break;
check_result.flag = false;
//set check result message
check_result.message = "Cannot set multiple option '-S/--sorry-uri'.";
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17004, check_result.message, __FILE__,
__LINE__ );
//loop break
break;
check_result.flag = false;
//set check result message
check_result.message = "Option error.";
- putLogError(17000, check_result.message, __FILE__, __LINE__ );
+ putLogError(17005, check_result.message, __FILE__, __LINE__ );
//loop break
break;
}
catch (const std::exception& ex)
{
check_result.flag = false;
- std::cerr << "check parameter exception: error = " << ex.what() << "." << std::endl;
+ std::cerr << "check parameter exception : error = " << ex.what() << "." << std::endl;
boost::format formatter("function : protocol_module_base::check_message_result "
"protocol_module_sessionless::check_parameter() exception : "
"error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17006, formatter.str(), __FILE__, __LINE__ );
}
catch (...)
{
check_result.flag = false;
std::cerr << "protocol_module_sessionless::check_parameter() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::check_message_result "
+ putLogError(17007, "function : protocol_module_base::check_message_result "
"protocol_module_sessionless::check_parameter() : "
"Unknown exception.", __FILE__, __LINE__ );
}
"const std::vector<std::string>& args) : return_value = ("
"check_message_result.flag = %d, check_message_result.message = %s).");
formatter % check_result.flag % check_result.message;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10013, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return check_result;
argsdump += *it;
}
formatter % argsdump;
- putLogDebug(10010, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10014, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//set check result flag to true
check_result.flag = true;
bool forward_checked = false;
bool sorryuri_checked = false;
- const std::string regex_match_str = "(/([0-9a-zA-Z$\\-_.+!*'(),;:@&=]|%[0-9a-fA-F]{2})*)+";
+ const std::string regex_match_str = "(/([[:digit:][:alpha:]$\\-_.+!*'(),;:@&=]|%[:xdigit:]{2})*)+";
typedef std::vector<std::string>::const_iterator vec_str_it;
check_result.flag = false;
//set check result message
check_result.message = "You have to set option value '-S/--sorry-uri'.";
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17008, check_result.message, __FILE__,
__LINE__ );
//loop break
break;
check_result.flag = false;
//set check result message
check_result.message = ostr.str();
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17009, check_result.message, __FILE__,
__LINE__ );
//loop break
break;
check_result.flag = false;
//set check result message
check_result.message = ostr.str();
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17010, check_result.message, __FILE__,
__LINE__ );
break;
check_result.flag = false;
//set check result message
check_result.message = "You have to set option value '-S/--sorry-uri'.";
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17011, check_result.message, __FILE__,
__LINE__ );
break;
check_result.flag = false;
//set check result message
check_result.message = "Cannot set multiple option '-S/--sorry-uri'.";
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17012, check_result.message, __FILE__,
__LINE__ );
break;
//set check result message
check_result.message = "Option error.";
- putLogError(17000, check_result.message, __FILE__,
+ putLogError(17013, check_result.message, __FILE__,
__LINE__ );
break;
check_result.flag = false;
std::cerr << "set parameter exception : result=false, error = " << ex.what() << "." << std::endl;
boost::format formatter("function : protocol_module_base::check_message_result "
- "protocol_module_sessionless::set_parameter() exception : "
+ "protocol_module_sessionless::set_parameter() : exception : "
"error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17014, formatter.str(), __FILE__, __LINE__ );
}
catch (...)
{
check_result.flag = false;
std::cerr << "protocol_module_sessionless::set_parameter() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::check_message_result "
+ putLogError(17015, "function : protocol_module_base::check_message_result "
"protocol_module_sessionless::set_parameter() : "
"Unknown exception.", __FILE__, __LINE__ );
}
"const std::vector<std::string>& args) : return_value = ("
"check_message_result.flag = %d, check_message_result.message = %s).");
formatter % check_result.flag % check_result.message;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10015, formatter.str(), __FILE__, __LINE__ );
}
/*-------- DEBUG LOG END--------*/
argsdump += *it;
}
formatter % argsdump;
- putLogDebug(10010, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10016, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
check_message_result check_result;
check_result.flag = false;
//set check result's message
check_result.message = "Cannot add option.";
- putLogError(17000, check_result.message, __FILE__, __LINE__ );
+ putLogError(17016, check_result.message, __FILE__, __LINE__ );
}
/*-------- DEBUG LOG --------*/
"const std::vector<std::string>& args) : return_value = ("
"check_message_result.flag = %d, check_message_result.message = %s).");
formatter % check_result.flag % check_result.message;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10017, formatter.str(), __FILE__, __LINE__ );
}
/*-------- DEBUG LOG --------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "in_function : void protocol_module_sessionless::register_schedule("
+ putLogDebug(10018, "in_function : void protocol_module_sessionless::register_schedule("
"tcp_schedule_func_type inschedule).", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "out_function : void protocol_module_sessionless::register_schedule("
+ putLogDebug(10019, "out_function : void protocol_module_sessionless::register_schedule("
"tcp_schedule_func_type inschedule).", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10002,
+ putLogDebug(10020,
"in/out_function : void protocol_module_sessionless::register_schedule(udp_schedule_func_type inschedule).",
__FILE__, __LINE__ );
}
"const boost::asio::ip::udp::endpoint& client_endpoint_udp) : "
"up_thread_id = %d, down_thread_id = %d, client_endpoint_tcp = [%s]:%d.");
formatter % up_thread_id % down_thread_id % client_endpoint_tcp.address().to_string() % client_endpoint_tcp.port() ;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10021, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
{
boost::format formatter("new : address = &(%d), size = %lu.");
formatter % static_cast<void*>(p_up) % sizeof(session_thread_data_sessionless);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10022, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
p_up->thread_id = up_thread_id;
formatter % p_up->thread_id % p_up->thread_division % p_up->pair_thread_id % p_up->accept_end_flag
% p_up->end_flag % p_up->sorry_flag % p_up->sorryserver_switch_flag % p_up->realserver_switch_flag
% p_up->last_status % client_endpoint_tcp.address().to_string() % client_endpoint_tcp.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10023, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("new : address = &(%d), size = %lu.");
formatter % static_cast<void*>(p_down) % sizeof(session_thread_data_sessionless);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10024, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
p_down->thread_id = down_thread_id;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_session_initialize() : session_thread_data_sessionless(down_thread_id) : "
"accept_end_flag = %d, end_flag = %d, "
- "pair_thread_id = %d, realserver_switch_flag = %d, sorry_flag = %d, "
+ "pair_thread_id = %d, sorryserver_switch_flag = %d, realserver_switch_flag = %d, sorry_flag = %d, "
"thread_division= %d, thread_id = %d, last_status = %d, client_endpoint_tcp = [%s]:%d.");
formatter % p_down->thread_id % p_down->thread_division % p_down->pair_thread_id % p_down->accept_end_flag
% p_down->end_flag % p_down->sorry_flag % p_down->sorryserver_switch_flag
% p_down->realserver_switch_flag % p_down->last_status % client_endpoint_tcp.address().to_string() % client_endpoint_tcp.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10025, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
catch (const std::bad_alloc&)
{
std::cerr << "handle_session_initialize exception : Could not allocate memory." << std::endl;
- putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
+ putLogError(17017, "Could not allocate memory.", __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::exception& ex)
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_session_initialize() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17018, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "rotocol_module_sessionless::handle_session_initialize() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::check_message_result "
+ putLogError(17019, "function : protocol_module_base::check_message_result "
"protocol_module_sessionless::handle_session_initialize() : "
"Unknown exception.", __FILE__, __LINE__ );
"const boost::thread::id down_thread_id, const boost::asio::ip::tcp::endpoint& client_endpoint_tcp, "
"const boost::asio::ip::udp::endpoint& client_endpoint_udp) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10026, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"const boost::thread::id down_thread_id): "
"up_thread_id = %d, down_thread_id = %d.");
formatter % up_thread_id % down_thread_id;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10027, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10028, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer1);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10029, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(p_up);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10030, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
delete p_up;
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10031, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10032, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(p_down);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10033, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_session_finalize() : exception : error = %s.");
formatter % STOP % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17020, formatter.str(), __FILE__, __LINE__ );
status = STOP;
}
catch (...)
{
std::cerr << "Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17021, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_session_finalize() : "
"Unknown exception.", __FILE__, __LINE__ );
status = STOP;
"handle_session_finalize(const boost::thread::id up_thread_id, "
"const boost::thread::id down_thread_id) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10034, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return status;
boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_accept(const boost::thread::id thread_id) : thread_id = %d.");
formatter % thread_id;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10035, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17022, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10036, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_accept(const boost::thread::id thread_id) : ACCEPT_END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_accept() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10037, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_accept() : exception : error = %s.");
formatter % FINALIZE % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17023, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::check_message_result "
+ putLogError(17024, "function : protocol_module_base::check_message_result "
"protocol_module_sessionless::handle_accept() : "
"Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_accept(const boost::thread::id thread_id) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10038, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return status;
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
+ std::string buffer(recvbuffer.data(), recvbuffer.size() < recvlen ? recvbuffer.size() : recvlen);
boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_recv(const boost::thread::id thread_id, "
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : thread_id = %d, recvbuffer = %s, recvlen = %d.");
- formatter % thread_id % recvbuffer.data() % recvlen;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ formatter % thread_id % buffer.c_str() % recvlen;
+ putLogDebug(10039, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
size_t content_length_header_len = 0;
size_t content_len_value = 0;
size_t pos = 0;
+ size_t buffer_size = 0;
const size_t cr_lf_len = strlen("\r\n\r\n");
std::string str_value;
const std::string http_header = "";
if (recvlen > recvbuffer.size())
{
std::cerr << "handle_client_recv() : Data size bigger than buffer size." << std::endl;
- putLogError(17000, "Data size bigger than buffer size.", __FILE__,
+ putLogError(17025, "Data size bigger than buffer size.", __FILE__,
__LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % FINALIZE;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10040, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return FINALIZE;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17026, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_it = session_data->recive_data_map.find(session_data->client_endpoint_tcp);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17027, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
it = std::find_if(it, it_end, data_send_ok());
if (it != it_end)
{
- putLogError(17000, "Sending data is not correct.", __FILE__, __LINE__ );
+ putLogError(17028, "Sending data is not correct.", __FILE__, __LINE__ );
throw -1;
}
it = std::adjacent_find(it, it_end, data_send_repeated());
if (it != it_end)
{
- putLogError(17000, "Sending data is not correct.", __FILE__, __LINE__ );
+ putLogError(17029, "Sending data is not correct.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step1--send status list loop start.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10041, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step1--send status list loop end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step2--data buffer size process start.", __FILE__, __LINE__ );
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10042, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//buffer is need reallcate
if (recv_data.recive_buffer_max_size < data_remain_size + recvlen)
{
- //first recive
- if (recv_data.recive_buffer == NULL)
+ buffer_size = (data_remain_size + recvlen) > MAX_BUFFER_SIZE ? (data_remain_size + recvlen) : MAX_BUFFER_SIZE;
+ //recive_buffer1's memery allocate and initialization
+ buffer1 = new char[buffer_size];
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
{
- //recive_buffer1's memery allocate and initialization
- recv_data.recive_buffer1 = new char[MAX_BUFFER_SIZE];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(recv_data.recive_buffer1) % (MAX_BUFFER_SIZE);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(recv_data.recive_buffer1, 0, MAX_BUFFER_SIZE);
- //recive_buffer2's memery allocate and initialization
- recv_data.recive_buffer2 = new char[MAX_BUFFER_SIZE];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(recv_data.recive_buffer2) % (MAX_BUFFER_SIZE);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(recv_data.recive_buffer2, 0, MAX_BUFFER_SIZE);
- //set uisng buffer recive_buffer1 for defalut
- recv_data.recive_buffer = recv_data.recive_buffer1;
- //set max buffer size MAX_BUFFER_SIZE
- recv_data.recive_buffer_max_size = MAX_BUFFER_SIZE;
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void*>(buffer1) % buffer_size;
+ putLogDebug(10043, formatter.str(), __FILE__, __LINE__ );
}
- //not first recive
- else
+ /*------DEBUG LOG END------*/
+ memset(buffer1, 0, buffer_size);
+ //recive_buffer2's memery allocate and initialization
+ buffer2 = new char[buffer_size];
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
{
- //recive_buffer1's memery allocate and initialization
- buffer1 = new char[data_remain_size + recvlen];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(buffer1) % (data_remain_size + recvlen);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- memset(buffer1, 0, data_remain_size + recvlen);
- //recive_buffer2's memery allocate and initialization
- buffer2 = new char[data_remain_size + recvlen];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(buffer2) % (data_remain_size + recvlen);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- memset(buffer2, 0, data_remain_size + recvlen);
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void*>(buffer2) % buffer_size;
+ putLogDebug(10044, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ memset(buffer2, 0, buffer_size);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- std::string datadump;
- dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : before memcpy (data dump) : "
- "data begin = %d, data_size = %d, data = %s.");
- formatter % data_remain_start % (data_remain_size) % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- //copy data from old buffer to new buffer
- memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- std::string datadump;
- dump_memory(buffer1, data_remain_size, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : after memcpy (data dump) : "
- "data begin = 0, data_size = %d, data = %s.");
- formatter % (data_remain_size) % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : before memcpy (data dump) : "
+ "data begin = %d, data_size = %d, data = %s.");
+ formatter % data_remain_start % data_remain_size % datadump;
+ putLogDebug(10045, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ //copy data from old buffer to new buffer
+ memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(buffer1, data_remain_size, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : after memcpy (data dump) : "
+ "data begin = 0, data_size = %d, data = %s.");
+ formatter % data_remain_size % datadump;
+ putLogDebug(10046, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(recvbuffer.data(), recvlen, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : before memcpy (data dump) : "
+ "data begin = 0, data_size = %d, data = %s.");
+ formatter % recvlen % datadump;
+ putLogDebug(10047, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(buffer1 + data_remain_size, recvlen, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : after memcpy (data dump) : "
+ "data begin = %d, data_size = %d, data = %s.");
+ formatter % data_remain_size % recvlen % datadump;
+ putLogDebug(10048, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ //free old buffer1 and old buffer2
+ if (recv_data.recive_buffer1 != NULL)
+ {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- std::string datadump;
- dump_memory(recvbuffer.data(), recvlen, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : before memcpy (data dump) : "
- "data begin = %0, data_size = %d, data = %s.");
- formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ boost::format formatter("delete : address = &(%d).");
+ formatter % static_cast<void*>(recv_data.recive_buffer1);
+ putLogDebug(10049, formatter.str(), __FILE__,
+ __LINE__ );
}
/*------DEBUG LOG END------*/
- memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
+ delete[] recv_data.recive_buffer1;
+ recv_data.recive_buffer1 = NULL;
+ }
+
+ if (recv_data.recive_buffer2 != NULL)
+ {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- std::string datadump;
- dump_memory(buffer1 + data_remain_size, recvlen, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : after memcpy (data dump) : "
- "data begin = %d, data_size = %d, data = %s.");
- formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ boost::format formatter("delete : address = &(%d).");
+ formatter % static_cast<void*>(recv_data.recive_buffer2);
+ putLogDebug(10050, formatter.str(), __FILE__,
+ __LINE__ );
}
/*------DEBUG LOG END------*/
- //free old buffer1 and old buffer2
- if (recv_data.recive_buffer1 != NULL)
- {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("delete : address = &(%d).");
- formatter % static_cast<void*>(recv_data.recive_buffer1);
- putLogDebug(10005, formatter.str(), __FILE__,
- __LINE__ );
- }
- /*------DEBUG LOG END------*/
- delete[] recv_data.recive_buffer1;
- recv_data.recive_buffer1 = NULL;
- }
-
- if (recv_data.recive_buffer2 != NULL)
- {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("delete : address = &(%d).");
- formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
- __LINE__ );
- }
- /*------DEBUG LOG END------*/
- delete[] recv_data.recive_buffer2;
- recv_data.recive_buffer2 = NULL;
- }
-
- //set new buffer pointer
- recv_data.recive_buffer1 = buffer1;
- recv_data.recive_buffer2 = buffer2;
- recv_data.recive_buffer = recv_data.recive_buffer1;
- //set new buffer's max size
- recv_data.recive_buffer_max_size = data_remain_size + recvlen;
+ delete[] recv_data.recive_buffer2;
+ recv_data.recive_buffer2 = NULL;
}
+
+ //set new buffer pointer
+ recv_data.recive_buffer1 = buffer1;
+ recv_data.recive_buffer2 = buffer2;
+ recv_data.recive_buffer = recv_data.recive_buffer1;
+ //set new buffer's max size
+ recv_data.recive_buffer_max_size = buffer_size;
}
//buffer's max size ≧ remain data size + requst size
//buffer isn't need reallcate, but switch
//pointer valid check
if (recv_data.recive_buffer1 == NULL || recv_data.recive_buffer2 == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17030, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
//using buffer is buffer1
"handle_client_recv() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_start % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10051, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from buffer1 to buffer2
dump_memory(recv_data.recive_buffer2, recvlen, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : after memcpy (data dump) : "
+ "handle_client_recv() : after memcpy (data dump) : "
+ "data begin = 0, data_size = %d, data = %s.");
+ formatter % recvlen % datadump;
+ putLogDebug(10052, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(recvbuffer.data(), recvlen, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10053, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
"handle_client_recv() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10054, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//set buffer2 for using buffer
dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : before memcpy (data dump) : "
+ "handle_client_recv() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_start % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10055, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from buffer2 to buffer1
dump_memory(recv_data.recive_buffer1, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : after memcpy (data dump) : "
+ "handle_client_recv() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10056, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
dump_memory(recvbuffer.data(), recvlen, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : before memcpy (data dump) : "
+ "handle_client_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10057, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
dump_memory(recv_data.recive_buffer1 + data_remain_size, recvlen, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : after memcpy (data dump) : "
+ "handle_client_recv() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10058, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//set buffer1 for using buffer
//offset recalc
for (; it_begin != it_end; ++it_begin)
{
- it->send_offset -= data_remain_start;
+ it_begin->send_offset -= data_remain_start;
}
}
//buffer's rest size ≧ request size
//pointer valid check
if (recv_data.recive_buffer == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17031, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
"handle_client_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10059, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from paramenter to using buffer
"data begin = %d, data_size = %d, data = %s.");
formatter % (recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size )
% recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10060, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//buffer's rest size recalc
//remain data size recalc
data_remain_size += recvlen;
}
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step2--data buffer size process end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
it = recv_data.send_status_list.begin();
it_end = recv_data.send_status_list.end();
//set request rest size
request_data_remain_size = recvlen;
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step3--send status list loop start.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
+
//original status process
for (; it != it_end; ++it)
{
"handle_client_recv() : call check_http_method : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10061, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//check http method result is OK
"handle_client_recv() : call check_http_version : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10062, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_recv() : call find_http_header : "
"return_value = %d.");
- formatter % static_cast<int>(bret);;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ formatter % static_cast<int>(bret);
+ putLogDebug(10063, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch http header result is OK
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_recv() : call find_http_header : "
"return_value = %d.");
- formatter % formatter % static_cast<int>(bret);;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ formatter % static_cast<int>(bret);
+ putLogDebug(10064, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch Content_Length result is OK
}
//set edit_division flag on
it->edit_division = EDIT_DIVISION_EDIT;
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : EDIT_DIVISION_EDIT.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
}
//serch http header result is NG
else
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step3--send status list loop end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step4--new send status create procession start.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10065, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//there are still rest data need to prosess
"handle_client_recv() : call check_http_method : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10066, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//check http method resilt is OK
"handle_client_recv() : call check_http_version : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10067, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
"handle_client_recv() : call find_http_header : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10068, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//searched whole http header
"handle_client_recv() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10069, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
//set edit_division flag on
new_send_it->edit_division = EDIT_DIVISION_EDIT;
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : EDIT_DIVISION_EDIT.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
}
//not searched whole http header
else
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_client_recv() : step4--new send status create procession end.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_client_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10070, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//search for send_possbile item in status list
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_recv() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10071, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
catch (const std::string& ex)
{
std::cerr << "handle_client_recv exception : " << ex << std::endl;
- putLogError(17000, ex.c_str(), __FILE__, __LINE__ );
+ putLogError(17032, ex.c_str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::bad_alloc&)
{
std::cerr << "handle_client_recv exception : Could not allocate memory." << std::endl;
- putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
+ putLogError(17033, "Could not allocate memory.", __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::exception& ex)
{
- std::cerr << "handle_client_recv exception : error =" << ex.what() << "." << std::endl;
+ std::cerr << "handle_client_recv exception : error = " << ex.what() << "." << std::endl;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_recv() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17034, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_client_recv() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::check_message_result "
+ putLogError(17035, "function : protocol_module_base::check_message_result "
"protocol_module_sessionless::handle_client_recv() : "
"Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10072, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"boost::asio::ip::tcp::endpoint & rs_endpoint) : "
"thread_id = %d, rs_endpoint = [%s]:%d.");
formatter % thread_id % rs_endpoint.address().to_string() % rs_endpoint.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10073, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
if (schedule_tcp.empty())
{
std::cerr << "handle_realserver_select() : Schedule_tcp function is empty." << std::endl;
- putLogError(17000, "Schedule_tcp function is empty.", __FILE__, __LINE__ );
+ putLogError(17036, "Schedule_tcp function is empty.", __FILE__, __LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
"boost::asio::ip::tcp::endpoint & rs_endpoint)"
" : return_value = %d.");
formatter % FINALIZE;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10074, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return FINALIZE;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17037, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
"handle_realserver_select() : call schedule_tcp : "
"rs_endpoint = [%s]:%d.");
formatter % rs_endpoint.address().to_string() % rs_endpoint.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10075, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("new : address = &(%d), size = %lu.");
formatter % static_cast<void*>(session_down_thread_data) % sizeof(session_thread_data_sessionless);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10076, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_down_thread_data->thread_id = session_data->pair_thread_id;
formatter % session_down_thread_data->thread_id % session_down_thread_data->thread_division % session_down_thread_data->pair_thread_id % session_down_thread_data->accept_end_flag
% session_down_thread_data->end_flag % session_down_thread_data->sorry_flag % session_down_thread_data->sorryserver_switch_flag % session_down_thread_data->realserver_switch_flag
% session_down_thread_data->client_endpoint_tcp.address().to_string() % session_down_thread_data->client_endpoint_tcp.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10077, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
formatter % session_down_thread_data->thread_id % session_down_thread_data->thread_division % session_down_thread_data->pair_thread_id % session_down_thread_data->accept_end_flag
% session_down_thread_data->end_flag % session_down_thread_data->sorry_flag % session_down_thread_data->sorryserver_switch_flag % session_down_thread_data->realserver_switch_flag
% session_down_thread_data->client_endpoint_tcp.address().to_string() % session_down_thread_data->client_endpoint_tcp.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10078, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer1);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10079, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10080, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10081, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_select() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_select() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10082, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_select() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17038, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_realserver_select() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG "
+ putLogError(17039, "function : protocol_module_base::EVENT_TAG "
"protocol_module_sessionless::handle_realserver_select() : "
"Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
"boost::asio::ip::tcp::endpoint & rs_endpoint)"
" : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10083, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"size_t& datalen) : "
"return_value = %d.");
formatter % STOP;
- putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10084, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return STOP;
boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connect(const boost::thread::id up_thread_id, "
"boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
- "thread_id = %d, sendbuffer = %s, datalen = %d.");
- formatter % thread_id % sendbuffer.data() % datalen;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ "thread_id = %d.");
+ formatter % thread_id;
+ putLogDebug(10085, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17040, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_it = session_data->recive_data_map.find(session_data->target_endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17041, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
recive_data& recv_data = recive_data_it->second;
if (recv_data.recive_buffer == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17042, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
it = find_if(it, it_end, data_send_possible());
if (it == it_end)
{
- putLogError(17000, "Sending possible data is not existed.", __FILE__, __LINE__ );
+ putLogError(17043, "Sending possible data is not existed.", __FILE__, __LINE__ );
throw -1;
}
"handle_realserver_connect() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(ret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10086, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch http header result is OK
"handle_realserver_connect() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(ret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10087, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
if (!ret)
{
- putLogError(17000, "find_http_header function failure.", __FILE__, __LINE__ );
+ putLogError(17044, "find_http_header function failure.", __FILE__, __LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % FINALIZE;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10088, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return FINALIZE;
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10089, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connect() : Copy data loop start.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10090, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from recive_buffer to sendbuffer by sending_possible size
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10091, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10092, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from recive_buffer to sendbuffer by send buffer rest size
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10093, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += copy_size;
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10094, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10095, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += copy_size;
"handle_realserver_connect() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % edit_min->data_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10096, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy X-Forwarded-For
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- boost::format formatter("%02x ");
std::string datadump;
dump_memory(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
edit_min->data_size, datadump);
- formatter.parse(
+ boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connect() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% edit_min->data_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10097, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += edit_min->replace_size;
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10098, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data as large as possible
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10099, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10100, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connect() : Copy data loop end.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"data begin = %d, data_size = %d, data = %s.");
formatter % it->send_offset
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10101, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy date by send_possible size
"handle_realserver_connect() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10102, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size = copy_size;
"data begin = %d, data_size = %d, data = %s.");
formatter % it->send_offset
% send_buffer_remian_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10103, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy date by buffer rest size
"handle_realserver_connect() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % send_buffer_remian_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10104, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size = send_buffer_remian_size;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connect() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10105, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connect() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17045, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_realserver_connect() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17046, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connect() : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10106, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"const boost::asio::ip::tcp::endpoint & rs_endpoint) : "
"thread_id = %d, rs_endpoint = [%s]:%d.");
formatter % thread_id % rs_endpoint.address().to_string() % rs_endpoint.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10107, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17047, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10108, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connection_fail() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connection_fail() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10109, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connection_fail() : exception : result = %d, error = %s.");
formatter % FINALIZE % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17048, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17049, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_connection_fail() : exception : result = %d.", __FILE__, __LINE__ );
status = FINALIZE;
}
"handle_realserver_connection_fail(const boost::thread::id thread_id, "
"const boost::asio::ip::tcp::endpoint & rs_endpoint) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10110, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return status;
"handle_realserver_send(const boost::thread::id thread_id) : "
"thread_id = %d.");
formatter % thread_id;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10111, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17050, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_it = session_data->recive_data_map.find(session_data->client_endpoint_tcp);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17051, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
it = std::adjacent_find(it, it_end, data_send_list_incorrect());
if (it != it_end)
{
- putLogError(17000, "Sending possible data is invalid.", __FILE__, __LINE__ );
+ putLogError(17052, "Sending possible data is invalid.", __FILE__, __LINE__ );
throw -1;
}
it = std::find_if(it, it_end, data_send_ok());
if (it == it_end)
{
- putLogError(17000, "Sending possible data is not existed.", __FILE__, __LINE__ );
+ putLogError(17053, "Sending possible data is not existed.", __FILE__, __LINE__ );
throw -1;
}
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_send() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10112, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_send() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17054, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_realserver_send() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17055, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_send() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_send(const boost::thread::id thread_id) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10113, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"boost::asio::ip::tcp::endpoint& sorry_endpoint) : "
"thread_id = %d, sorry_endpoint = [%s]:%d.");
formatter % thread_id % sorry_endpoint.address().to_string() % sorry_endpoint.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10114, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second== NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17056, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
{
boost::format formatter("new : address = &(%d), size = %lu.");
formatter % static_cast<void*>(session_down_thread_data) % sizeof(session_thread_data_sessionless);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10115, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_down_thread_data->thread_id = session_data->pair_thread_id;
% session_down_thread_data->end_flag % session_down_thread_data->sorry_flag % session_down_thread_data->sorryserver_switch_flag % session_down_thread_data->realserver_switch_flag
% session_down_thread_data->target_endpoint.address().to_string() % session_down_thread_data->target_endpoint.port()
% session_down_thread_data->client_endpoint_tcp.address().to_string() % session_down_thread_data->client_endpoint_tcp.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10116, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
formatter % session_down_thread_data->thread_id % session_down_thread_data->thread_division % session_down_thread_data->pair_thread_id % session_down_thread_data->accept_end_flag
% session_down_thread_data->end_flag % session_down_thread_data->sorry_flag % session_down_thread_data->sorryserver_switch_flag % session_down_thread_data->realserver_switch_flag
% session_down_thread_data->client_endpoint_tcp.address().to_string() % session_down_thread_data->client_endpoint_tcp.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10117, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer1);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10118, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
{
boost::format formatter("delete : address = &(%d).");
formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
+ putLogDebug(10119, formatter.str(), __FILE__,
__LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_send() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10120, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
catch (const std::bad_alloc& ex)
{
std::cerr << "handle_sorryserver_select exception : Could not allocate memory." << std::endl;
- putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
+ putLogError(17057, "Could not allocate memory.", __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::exception& ex)
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_select() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17058, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_sorryserver_select() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17059, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_select() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_select(const boost::thread::id thread_id, boost::asio::ip::tcp::endpoint& sorry_endpoint) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10121, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return status;
boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connect(const boost::thread::id thread_id, "
"boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
- "thread_id = %d, sendbuffer = %s, datalen = %d.");
- formatter % thread_id % sendbuffer.data() % datalen;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ "thread_id = %d.");
+ formatter % thread_id;
+ putLogDebug(10122, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17060, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
if (recive_data_it
== session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17061, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
recive_data& recv_data = recive_data_it->second;
if (recv_data.recive_buffer == NULL)
{
- putLogError(17000, "Invalid recive_buffer.", __FILE__, __LINE__ );
+ putLogError(17062, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
it = find_if(it, it_end, data_send_possible());
if (it == it_end)
{
- putLogError(17000, "Sending possible is not existed.", __FILE__, __LINE__ );
+ putLogError(17063, "Sending possible is not existed.", __FILE__, __LINE__ );
throw -1;
}
"handle_sorryserver_connect() : call find_uri : "
"return_value = %d.");
formatter % static_cast<int>(ret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10123, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch http header result is OK
"handle_sorryserver_connect() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(ret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10124, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"handle_sorryserver_connect() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(ret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10125, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
if (!ret)
{
- putLogError(17000, "find_http_header function failure.", __FILE__, __LINE__ );
+ putLogError(17064, "find_http_header function failure.", __FILE__, __LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % FINALIZE;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10126, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return FINALIZE;
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10127, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connect() : Copy data loop start.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10128, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10129, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += copy_size;
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10130, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from recive_buffer to sendbuffer by send buffer rest size
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10131, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += copy_size;
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10132, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10133, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += copy_size;
"handle_sorryserver_connect() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % edit_min->data_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10134, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy X-Forwarded-For/uri
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% edit_min->data_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10135, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += edit_min->replace_size;
"data begin = %d, data_size = %d, data = %s.");
formatter % (it->send_offset + it->send_end_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10136, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data as large as possible
"data begin = %d, data_size = %d, data = %s.");
formatter % (send_buffer_end_size - send_buffer_remian_size)
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10137, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size += copy_size;
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10138, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connect() : Copy data loop end.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"data begin = %d, data_size = %d, data = %s.");
formatter % it->send_offset
% copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10139, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy date by send_possible size
"handle_sorryserver_connect() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % copy_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10140, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size = it->send_possible_size;
"data begin = %d, data_size = %d, data = %s.");
formatter % it->send_offset
% send_buffer_remian_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10141, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy date by buffer rest size
"handle_sorryserver_connect() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % send_buffer_remian_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10142, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it->send_end_size = send_buffer_remian_size;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connect() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10143, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connect() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17065, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_sorryserver_connect() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17066, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connect() : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10144, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"const boost::asio::ip::tcp::endpoint & sorry_endpoint) : "
"thread_id = %d, sorry_endpoint = %s.");
formatter % thread_id % sorry_endpoint.address().to_string();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10145, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end())
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17067, "Invalid thread id.", __FILE__, __LINE__ );
return FINALIZE;
}
session_data = session_thread_it->second;
if (session_data == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17068, "Invalid pointer.", __FILE__, __LINE__ );
return FINALIZE;
}
{
std::cerr << "handle_sorryserver_connection_fail exception : error=" << ex.what() << "." << std::endl;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_sorryserver_connection_fail() : exception : result = %d, error = %s.");
- formatter % FINALIZE % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ "handle_sorryserver_connection_fail() : exception : error = %s.");
+ formatter % ex.what();
+ putLogError(17069, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17070, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connection_fail() : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_connection_fail( const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & sorry_endpoint) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10146, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return status;
"handle_sorryserver_send(const boost::thread::id thread_id) : "
"thread_id = %d.");
formatter % thread_id;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10147, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17071, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
if (recive_data_it
== session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17072, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
it = std::adjacent_find(it, it_end, data_send_list_incorrect());
if (it != it_end)
{
- putLogError(17000, "Sending possible data is invalid.", __FILE__, __LINE__ );
+ putLogError(17073, "Sending possible data is invalid.", __FILE__, __LINE__ );
throw -1;
}
it = find_if(it, it_end, data_send_ok());
if (it == it_end)
{
- putLogError(17000, "Sending possible data is not existed.", __FILE__, __LINE__ );
+ putLogError(17074, "Sending possible data is not existed.", __FILE__, __LINE__ );
throw -1;
}
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_send() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10148, formatter.str(), __FILE__, __LINE__ );
}
status = FINALIZE;
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_send() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17075, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_sorryserver_send() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17076, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_send() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_send(const boost::thread::id thread_id) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10149, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"const size_t recvlen) : "
"return_value = %d.");
formatter % STOP;
- putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10150, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return STOP;
"const size_t recvlen) : thread_id = %d, rs_endpoint = [%s]:%d, recvbuffer = %s, recvlen = %d.");
formatter % thread_id % rs_endpoint.address().to_string() % rs_endpoint.port()
% recvbuffer.data() % recvlen;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10151, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
size_t content_length_header_len = 0;
size_t content_len_value = 0;
size_t pos = 0;
+ size_t buffer_size = 0;
const size_t cr_lf_len = strlen("\r\n\r\n");
session_thread_data_sessionless* session_data = NULL;
char* buffer1 = NULL;
if (recvlen > recvbuffer.size())
{
std::cerr << "handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
- putLogError(17000, "Data size bigger than buffer size.", __FILE__,
+ putLogError(17077, "Data size bigger than buffer size.", __FILE__,
__LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % FINALIZE;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10152, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return FINALIZE;
if (session_thread_it == session_thread_data_map.end()
||session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17078, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_it = session_data->recive_data_map.find(session_data->target_endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17079, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
it = std::find_if(it, it_end, data_send_ok());
if (it != it_end)
{
- putLogError(17000, "Sending data is not correct.", __FILE__, __LINE__ );
+ putLogError(17080, "Sending data is not correct.", __FILE__, __LINE__ );
throw -1;
}
it = std::adjacent_find(it, it_end, data_send_repeated());
if (it != it_end)
{
- putLogError(17000, "Sending data is not correct.", __FILE__, __LINE__ );
+ putLogError(17081, "Sending data is not correct.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step1--send status list loop start.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10153, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
it = recv_data.send_status_list.begin();
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step1--send status list loop end.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10154, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
-
//recive buffer process
//buffer rest size < request size
if (recv_data.recive_buffer_rest_size < recvlen)
//buffer is need reallcate
if (recv_data.recive_buffer_max_size < data_remain_size + recvlen)
{
- //first recive
- if (recv_data.recive_buffer == NULL)
+ buffer_size = (data_remain_size + recvlen) > MAX_BUFFER_SIZE ? (data_remain_size + recvlen) : MAX_BUFFER_SIZE;
+ //recive_buffer1's memery allocate and initialization
+ buffer1 = new char[buffer_size];
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
{
- //recive_buffer1's memery allocate and initialization
- recv_data.recive_buffer1 = new char[MAX_BUFFER_SIZE];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(recv_data.recive_buffer1) % (MAX_BUFFER_SIZE);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(recv_data.recive_buffer1, 0, MAX_BUFFER_SIZE);
- //recive_buffer2's memery allocate and initialization
- recv_data.recive_buffer2 = new char[MAX_BUFFER_SIZE];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(recv_data.recive_buffer2) % (MAX_BUFFER_SIZE);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(recv_data.recive_buffer2, 0, MAX_BUFFER_SIZE);
- //set uisng buffer recive_buffer1 for defalut
- recv_data.recive_buffer = recv_data.recive_buffer1;
- //set max buffer size MAX_BUFFER_SIZE
- recv_data.recive_buffer_max_size = MAX_BUFFER_SIZE;
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void*>(buffer1) % (buffer_size);
+ putLogDebug(10157, formatter.str(), __FILE__, __LINE__ );
}
- //not first recive
- else
+ /*-------- DEBUG LOG --------*/
+ memset(buffer1, 0, buffer_size);
+ //recive_buffer2's memery allocate and initialization
+ buffer2 = new char[buffer_size];
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
{
- //recive_buffer1's memery allocate and initialization
- buffer1 = new char[data_remain_size + recvlen];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(buffer1) % (data_remain_size + recvlen);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG --------*/
- memset(buffer1, 0, data_remain_size + recvlen);
- //recive_buffer2's memery allocate and initialization
- buffer2 = new char[data_remain_size + recvlen];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(buffer2) % (data_remain_size + recvlen);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(buffer2, 0, data_remain_size + recvlen);
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void*>(buffer2) % (buffer_size);
+ putLogDebug(10158, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*-------- DEBUG LOG END--------*/
+ memset(buffer2, 0, buffer_size);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- std::string datadump;
- dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
- "data begin = %d, data_size = %d, data = %s.");
- formatter % data_remain_start % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- //copy data from old buffer to new buffer
- memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- std::string datadump;
- dump_memory(buffer1, data_remain_size, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : before memcpy (data dump) : "
+ "data begin = %d, data_size = %d, data = %s.");
+ formatter % data_remain_start % data_remain_size % datadump;
+ putLogDebug(10159, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ //copy data from old buffer to new buffer
+ memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(buffer1, data_remain_size, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
- "data begin = 0, data_size = %d, data = %s.");
- formatter % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : after memcpy (data dump) : "
+ "data begin = 0, data_size = %d, data = %s.");
+ formatter % data_remain_size % datadump;
+ putLogDebug(10160, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(recvbuffer.data(), recvlen, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : before memcpy (data dump) : "
+ "data begin = 0, data_size = %d, data = %s.");
+ formatter % recvlen % datadump;
+ putLogDebug(10161, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(buffer1 + data_remain_size, recvlen, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : after memcpy (data dump) : "
+ "data begin = %d, data_size = %d, data = %s.");
+ formatter % data_remain_size % recvlen % datadump;
+ putLogDebug(10162, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ //free old buffer1 and old buffer2
+ if (recv_data.recive_buffer1 != NULL)
+ {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- std::string datadump;
- dump_memory(recvbuffer.data(), recvlen, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
- "data begin = 0, data_size = %d, data = %s.");
- formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ boost::format formatter("delete : address = &(%d).");
+ formatter % static_cast<void*>(recv_data.recive_buffer1);
+ putLogDebug(10163, formatter.str(), __FILE__,
+ __LINE__ );
}
/*------DEBUG LOG END------*/
- memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
+ delete[] recv_data.recive_buffer1;
+ recv_data.recive_buffer1 = NULL;
+ }
+
+ if (recv_data.recive_buffer2 != NULL)
+ {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- std::string datadump;
- dump_memory(buffer1 + data_remain_size, recvlen, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
- "data begin = %d, data_size = %d, data = %s.");
- formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ boost::format formatter("delete : address = &(%d).");
+ formatter % static_cast<void*>(recv_data.recive_buffer2);
+ putLogDebug(10164, formatter.str(), __FILE__,
+ __LINE__ );
}
/*------DEBUG LOG END------*/
- //free old buffer1 and old buffer2
- if (recv_data.recive_buffer1 != NULL)
- {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("delete : address = &(%d).");
- formatter % static_cast<void*>(recv_data.recive_buffer1);
- putLogDebug(10005, formatter.str(), __FILE__,
- __LINE__ );
- }
- /*------DEBUG LOG END------*/
- delete[] recv_data.recive_buffer1;
- recv_data.recive_buffer1 = NULL;
- }
-
- if (recv_data.recive_buffer2 != NULL)
- {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("delete : address = &(%d).");
- formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
- __LINE__ );
- }
- /*------DEBUG LOG END------*/
- delete[] recv_data.recive_buffer2;
- recv_data.recive_buffer2 = NULL;
- }
-
- //set new buffer pointer
- recv_data.recive_buffer1 = buffer1;
- recv_data.recive_buffer2 = buffer2;
- recv_data.recive_buffer = recv_data.recive_buffer1;
- //set new buffer's max size
- recv_data.recive_buffer_max_size = data_remain_size + recvlen;
+ delete[] recv_data.recive_buffer2;
+ recv_data.recive_buffer2 = NULL;
}
+
+ //set new buffer pointer
+ recv_data.recive_buffer1 = buffer1;
+ recv_data.recive_buffer2 = buffer2;
+ recv_data.recive_buffer = recv_data.recive_buffer1;
+ //set new buffer's max size
+ recv_data.recive_buffer_max_size = buffer_size;
}
//buffer's max size ≧ remain data size + requst size
//buffer isn't need reallcate, but switch
//pointer valid check
if (recv_data.recive_buffer1 == NULL || recv_data.recive_buffer2 == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17082, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
//using buffer is buffer1
"handle_realserver_recv() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_start % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10165, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from buffer1 to buffer2
"handle_realserver_recv() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10166, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
"handle_realserver_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10167, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
"handle_realserver_recv() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10168, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//set buffer2 for using buffer
"handle_realserver_recv() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_start % (data_remain_size+recvlen) % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10169, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from buffer2 to buffer1
"handle_realserver_recv() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10170, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
"handle_realserver_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10171, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
"handle_realserver_recv() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10172, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//set buffer1 for using buffer
//offset recalc
for (; it_begin != it_end; ++it_begin)
{
- it->send_offset -= data_remain_start;
+ it_begin->send_offset -= data_remain_start;
}
}
//buffer's rest size ≧ request size
//pointer valid check
if (recv_data.recive_buffer == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17083, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
"handle_realserver_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10173, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"data begin = %d, data_size = %d, data = %s.");
formatter % (recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size )
% recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10174, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//buffer's rest size recalc
//remain data size recalc
data_remain_size += recvlen;
}
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step2--data buffer size process end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
-
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step3--send status list loop start.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
it = recv_data.send_status_list.begin();
it_end = recv_data.send_status_list.end();
//request size recalc
it->send_rest_size = 0;
}
-// //編集区分に編集なしを設定する
-// it->edit_division = EDIT_DIVISION_NO_EDIT;
//change status from SEND_CONTINUE to SEND_OK
it->status = SEND_OK;
}
"handle_realserver_recv() : call check_http_method : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10175, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//check http method result is OK
"handle_realserver_recv() : call check_http_version : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10176, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
"handle_realserver_recv() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10177, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch http header result is OK
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_recv() : call find_http_header : "
"return_value = %d.");
- formatter % formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ formatter % static_cast<int>(bret);
+ putLogDebug(10178, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch Content_Length result is OK
break;
}
}
+
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step3--send status list loop end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step4--new send status create procession start.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10179, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//there are still rest data need to prosess
"handle_realserver_recv() : call check_http_method : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10180, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//check http method resilt is OK
"handle_realserver_recv() : call check_http_version : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10181, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
"handle_realserver_recv() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10182, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//searched whole http header
"handle_realserver_recv() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10183, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step4--new send status create procession end.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_realserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10184, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_recv() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10185, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
catch (const std::string& ex)
{
std::cerr << "handle_realserver_recv exception : " << ex << std::endl;
- putLogError(17000, ex.c_str(), __FILE__, __LINE__ );
+ putLogError(17084, ex.c_str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::bad_alloc&)
{
std::cerr << "handle_realserver_recv exception : Could not allocate memory." << std::endl;
- putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
+ putLogError(17085, "Could not allocate memory.", __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::exception& ex)
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_recv() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17086, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_realserver_recv() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::check_message_result "
+ putLogError(17087, "function : protocol_module_base::check_message_result "
"protocol_module_sessionless::handle_realserver_recv() : "
"Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10186, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"const size_t recvlen) : thread_id = %d, sorry_endpoint = [%s]:%d, recvbuffer = %s, recvlen = %d.");
formatter % thread_id % sorry_endpoint.address().to_string() % sorry_endpoint.port()
% recvbuffer.data() % recvlen;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10187, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
size_t content_length_header_len = 0;
size_t content_len_value = 0;
size_t pos = 0;
+ size_t buffer_size = 0;
const size_t cr_lf_len = strlen("\r\n\r\n");
std::string str_value;
const std::string http_header = "";
if (recvlen > recvbuffer.size())
{
std::cerr << "handle_sorryserver_recv() : Data size bigger than buffer size." << std::endl;
- putLogError(17000, "Data size bigger than buffer size.", __FILE__,
+ putLogError(17088, "Data size bigger than buffer size.", __FILE__,
__LINE__ );
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % FINALIZE;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10188, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return FINALIZE;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17089, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_it = session_data->recive_data_map.find(session_data->target_endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17090, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
it = std::find_if(it, it_end, data_send_ok());
if (it != it_end)
{
- putLogError(17000, "Sending data is invalid.", __FILE__, __LINE__ );
+ putLogError(17091, "Sending data is invalid.", __FILE__, __LINE__ );
throw -1;
}
it = std::adjacent_find(it, it_end, data_send_repeated());
if (it != it_end)
{
- putLogError(17000, "Sending data is invalid.", __FILE__, __LINE__ );
+ putLogError(17092, "Sending data is invalid.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_sorryserver_recv() : step1--send status list loop start.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10189, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_sorryserver_recv() : step1--send status list loop end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step2--data buffer size process start.", __FILE__, __LINE__ );
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10190, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//recive buffer process
//buffer is need reallcate
if (recv_data.recive_buffer_max_size < data_remain_size + recvlen)
{
- //first recive
- if (recv_data.recive_buffer == NULL)
+ buffer_size = (data_remain_size + recvlen) > MAX_BUFFER_SIZE ? (data_remain_size + recvlen) : MAX_BUFFER_SIZE;
+ //recive_buffer1's memery allocate and initialization
+ buffer1 = new char[buffer_size];
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
{
- //recive_buffer1's memery allocate and initialization
- recv_data.recive_buffer1 = new char[MAX_BUFFER_SIZE];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(recv_data.recive_buffer1) % (MAX_BUFFER_SIZE);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(recv_data.recive_buffer1, 0, MAX_BUFFER_SIZE);
- //recive_buffer2's memery allocate and initialization
- recv_data.recive_buffer2 = new char[MAX_BUFFER_SIZE];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(recv_data.recive_buffer2) % (MAX_BUFFER_SIZE);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(recv_data.recive_buffer2, 0, MAX_BUFFER_SIZE);
- //set uisng buffer recive_buffer1 for defalut
- recv_data.recive_buffer = recv_data.recive_buffer1;
- //set max buffer size MAX_BUFFER_SIZE
- recv_data.recive_buffer_max_size = MAX_BUFFER_SIZE;
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void*>(buffer1) % buffer_size;
+ putLogDebug(10193, formatter.str(), __FILE__, __LINE__ );
}
- //not first recive
- else
+ /*-------- DEBUG LOG --------*/
+ memset(buffer1, 0, buffer_size);
+ //recive_buffer2's memery allocate and initialization
+ buffer2 = new char[buffer_size];
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
{
- //recive_buffer1's memery allocate and initialization
- buffer1 = new char[data_remain_size + recvlen];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(buffer1) % (data_remain_size + recvlen);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG --------*/
- memset(buffer1, 0, data_remain_size + recvlen);
- //recive_buffer2's memery allocate and initialization
- buffer2 = new char[data_remain_size + recvlen];
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void*>(buffer2) % (data_remain_size + recvlen);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*-------- DEBUG LOG END--------*/
- memset(buffer2, 0, data_remain_size + recvlen);
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void*>(buffer2) % buffer_size;
+ putLogDebug(10194, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*-------- DEBUG LOG END--------*/
+ memset(buffer2, 0, buffer_size);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- std::string datadump;
- dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
- "data begin = %d, data_size = %d, data = %s.");
- formatter % data_remain_start % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- //copy data from old buffer to new buffer
- memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- std::string datadump;
- dump_memory(buffer1, data_remain_size, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
- "data begin = 0, data_size = %d, data = %s.");
- formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : before memcpy (data dump) : "
+ "data begin = %d, data_size = %d, data = %s.");
+ formatter % data_remain_start % data_remain_size % datadump;
+ putLogDebug(10195, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ //copy data from old buffer to new buffer
+ memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(buffer1, data_remain_size, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : after memcpy (data dump) : "
+ "data begin = 0, data_size = %d, data = %s.");
+ formatter % recvlen % datadump;
+ putLogDebug(10196, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(recvbuffer.data(), recvlen, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : before memcpy (data dump) : "
+ "data begin = 0, data_size = %d, data = %s.");
+ formatter % recvlen % datadump;
+ putLogDebug(10197, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ std::string datadump;
+ dump_memory(buffer1 + data_remain_size, data_remain_size, datadump);
+ boost::format formatter(
+ "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : after memcpy (data dump) : "
+ "data begin = %d, data_size = %d, data = %s.");
+ formatter % data_remain_size % recvlen % datadump;
+ putLogDebug(10198, formatter.str(), __FILE__, __LINE__ );
+ }
+ /*------DEBUG LOG END------*/
+ //free old buffer1 and old buffer2
+ if (recv_data.recive_buffer1 != NULL)
+ {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- std::string datadump;
- dump_memory(recvbuffer.data(), recvlen, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
- "data begin = 0, data_size = %d, data = %s.");
- formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ boost::format formatter("delete : address = &(%d).");
+ formatter % static_cast<void*>(recv_data.recive_buffer1);
+ putLogDebug(10199, formatter.str(), __FILE__,
+ __LINE__ );
}
/*------DEBUG LOG END------*/
- memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
+ delete[] recv_data.recive_buffer1;
+ recv_data.recive_buffer1 = NULL;
+ }
+
+ if (recv_data.recive_buffer2 != NULL)
+ {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- std::string datadump;
- dump_memory(buffer1 + data_remain_size, data_remain_size, datadump);
- boost::format formatter(
- "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
- "data begin = %d, data_size = %d, data = %s.");
- formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ boost::format formatter("delete : address = &(%d).");
+ formatter % static_cast<void*>(recv_data.recive_buffer2);
+ putLogDebug(10200, formatter.str(), __FILE__,
+ __LINE__ );
}
/*------DEBUG LOG END------*/
- //free old buffer1 and old buffer2
- if (recv_data.recive_buffer1 != NULL)
- {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("delete : address = &(%d).");
- formatter % static_cast<void*>(recv_data.recive_buffer1);
- putLogDebug(10005, formatter.str(), __FILE__,
- __LINE__ );
- }
- /*------DEBUG LOG END------*/
- delete[] recv_data.recive_buffer1;
- recv_data.recive_buffer1 = NULL;
- }
-
- if (recv_data.recive_buffer2 != NULL)
- {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- boost::format formatter("delete : address = &(%d).");
- formatter % static_cast<void*>(recv_data.recive_buffer2);
- putLogDebug(10005, formatter.str(), __FILE__,
- __LINE__ );
- }
- /*------DEBUG LOG END------*/
- delete[] recv_data.recive_buffer2;
- recv_data.recive_buffer2 = NULL;
- }
-
- //set new buffer pointer
- recv_data.recive_buffer1 = buffer1;
- recv_data.recive_buffer2 = buffer2;
- recv_data.recive_buffer = recv_data.recive_buffer1;
- //set new buffer's max size
- recv_data.recive_buffer_max_size = data_remain_size + recvlen;
+ delete[] recv_data.recive_buffer2;
+ recv_data.recive_buffer2 = NULL;
}
+
+ //set new buffer pointer
+ recv_data.recive_buffer1 = buffer1;
+ recv_data.recive_buffer2 = buffer2;
+ recv_data.recive_buffer = recv_data.recive_buffer1;
+ //set new buffer's max size
+ recv_data.recive_buffer_max_size = buffer_size;
}
//buffer's max size ≧ remain data size + requst size
//buffer isn't need reallcate, but switch
//pointer valid check
if (recv_data.recive_buffer1 == NULL || recv_data.recive_buffer2 == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17093, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
//using buffer is buffer1
dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
+ "handle_sorryserver_recv() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_start % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10201, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from buffer1 to buffer2
dump_memory(recv_data.recive_buffer2, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
+ "handle_sorryserver_recv() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10202, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
dump_memory(recvbuffer.data(), recvlen, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
+ "handle_sorryserver_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10203, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
dump_memory(recv_data.recive_buffer2 + data_remain_size, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
+ "handle_sorryserver_recv() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10204, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//set buffer2 for using buffer
dump_memory(recv_data.recive_buffer + data_remain_start, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
+ "handle_sorryserver_recv() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_start % data_remain_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10205, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from buffer2 to buffer1
dump_memory(recv_data.recive_buffer1, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
+ "handle_sorryserver_recv() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10206, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
dump_memory(recvbuffer.data(), recvlen, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
+ "handle_sorryserver_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10207, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
dump_memory(recv_data.recive_buffer1 + data_remain_size, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
+ "handle_sorryserver_recv() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % data_remain_size % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10208, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//set buffer1 for using buffer
//offset recalc
for (; it_begin != it_end; ++it_begin)
{
- it->send_offset -= data_remain_start;
+ it_begin->send_offset -= data_remain_start;
}
}
//buffer's rest size ≧ request size
//pointer valid check
if (recv_data.recive_buffer == NULL)
{
- putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
+ putLogError(17094, "Invalid pointer.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
dump_memory(recvbuffer.data(), recvlen, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : before memcpy (data dump) : "
+ "handle_sorryserver_recv() : before memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10209, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
dump_memory(recv_data.recive_buffer + recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size, data_remain_size, datadump);
boost::format formatter(
"function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : after memcpy (data dump) : "
+ "handle_sorryserver_recv() : after memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % (recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size) % recvlen % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10210, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//buffer's rest size recalc
//remain data size recalc
data_remain_size += recvlen;
}
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step2--data buffer size process end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step3--send status list loop start.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
+
it = recv_data.send_status_list.begin();
it_end = recv_data.send_status_list.end();
//request rest size initialization
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call check_status_code : "
+ "handle_sorryserver_recv() : call check_status_code : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10211, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//check http method result is OK
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call check_http_version : "
+ "handle_sorryserver_recv() : call check_http_version : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10212, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call find_http_header : "
+ "handle_sorryserver_recv() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10213, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch http header result is OK
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call find_http_header : "
+ "handle_sorryserver_recv() : call find_http_header : "
"return_value = %d.");
- formatter % static_cast<int>(bret);;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ formatter % static_cast<int>(bret);
+ putLogDebug(10214, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//serch Content_Length result is OK
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step3--send status list loop end.", __FILE__, __LINE__ );
- }
- /*------DEBUG LOG END------*/
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == getloglevel())
- {
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step4--new send status create procession start.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10215, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call check_status_code : "
+ "handle_sorryserver_recv() : call check_status_code : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10216, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//check http method resilt is OK
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call check_http_version : "
+ "handle_sorryserver_recv() : call check_http_version : "
"return_value = %d.");
formatter % check_result;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10217, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
}
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call find_http_header : "
+ "handle_sorryserver_recv() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10218, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//searched whole http header
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : call find_http_header : "
+ "handle_sorryserver_recv() : call find_http_header : "
"return_value = %d.");
formatter % static_cast<int>(bret);
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10219, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : step4--new send status create procession end.", __FILE__, __LINE__ );
+ std::string datadump;
+ boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+ "send_rest_size = %d, send_possible_size = %d, "
+ "send_offset = %d, unsend_size = %d, edit_division = %d.");
+ int i = 0;
+ for (it = recv_data.send_status_list.begin();
+ it != recv_data.send_status_list.end();
+ ++it, ++i)
+ {
+ formatter % i % it->status % it->send_end_size
+ % it->send_rest_size % it->send_possible_size
+ % it->send_offset % it->unsend_size % it->edit_division;
+ datadump += formatter.str();
+ }
+
+ formatter.parse("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ "handle_sorryserver_recv() : send status list dump : send status list size = %d.%s");
+
+ formatter % recv_data.send_status_list.size() % datadump;
+ putLogDebug(10220, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : catch exception e = %d.");
+ "handle_sorryserver_recv() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10221, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
catch (const std::string& ex)
{
std::cerr << "handle_sorryserver_recv exception : " << ex << std::endl;
- putLogError(17000, ex.c_str(), __FILE__, __LINE__ );
+ putLogError(17095, ex.c_str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::bad_alloc&)
{
std::cerr << "handle_sorryserver_recv exception : Could not allocate memory." << std::endl;
- putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
+ putLogError(17096, "Could not allocate memory.", __FILE__, __LINE__ );
status = FINALIZE;
}
catch (const std::exception& ex)
{
- std::cerr << "handle_realserver_recv exception : error =" << ex.what() << "." << std::endl;
+ std::cerr << "handle_sorryserver_recv exception : error =" << ex.what() << "." << std::endl;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
- "handle_realserver_recv() : exception : error = %s.");
+ "handle_sorryserver_recv() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17097, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
- std::cerr << "protocol_module_sessionless::handle_realserver_recv() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::check_message_result "
- "protocol_module_sessionless::handle_realserver_recv() : "
+ std::cerr << "protocol_module_sessionless::handle_sorryserver_recv() : Unknown exception." << std::endl;
+ putLogError(17098, "function : protocol_module_base::check_message_result "
+ "protocol_module_sessionless::handle_sorryserver_recv() : "
"Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
"const size_t recvlen) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10222, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"handle_response_send_inform(const boost::thread::id thread_id) : "
"return_value = %d.");
formatter % STOP;
- putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10223, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return STOP;
boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_connection_check(const boost::thread::id thread_id, "
"boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
- "thread_id = %d, sendbuffer = %s, datalen = %d.");
- formatter % thread_id % sendbuffer.data() % datalen;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ "thread_id = %d.");
+ formatter % thread_id;
+ putLogDebug(10224, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17099, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_it = session_data->recive_data_map.find(session_data->target_endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17100, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
data_send_possible());
if (it == recv_data.send_status_list.end())
{
- putLogError(17000, "Sending possible data is not existed.", __FILE__, __LINE__ );
+ putLogError(17101, "Sending possible data is not existed.", __FILE__, __LINE__ );
throw -1;
}
"handle_client_connection_check() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % it->send_offset % (it->send_possible_size) % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10225, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from recive_buffer to sendbuffer by sending_possible size
"handle_client_connection_check() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % (it->send_possible_size) % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10226, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//send_end_size recalc
"handle_client_connection_check() : before memcpy (data dump) : "
"data begin = %d, data_size = %d, data = %s.");
formatter % it->send_offset % send_buffer_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10227, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//copy data from recive_buffer to sendbuffer by buffer size
"handle_client_connection_check() : after memcpy (data dump) : "
"data begin = 0, data_size = %d, data = %s.");
formatter % send_buffer_size % datadump;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10228, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
//send_end_size recalc
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_connection_check() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10229, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_connection_check() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17102, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_client_connection_check() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17103, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_connection_check() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen)"
" : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10230, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return status;
"size_t& datalen) : "
"return_value = %d.");
formatter % STOP;
- putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10231, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return STOP;
"handle_client_send(const boost::thread::id thread_id) : "
"thread_id = %d.");
formatter % thread_id;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10232, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17104, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
session_data = session_thread_it->second;
recive_data_it = session_data->recive_data_map.find(session_data->target_endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17105, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
it = std::adjacent_find(it, it_end, data_send_list_incorrect());
if (it != it_end)
{
- putLogError(17000, "Sending possible data is invalid.", __FILE__, __LINE__ );
+ putLogError(17106, "Sending possible data is invalid.", __FILE__, __LINE__ );
throw -1;
}
//status list check
it = find_if(it, it_end, data_send_ok());
if (it == it_end)
{
- putLogError(17000, "Sending possible data is not existed.", __FILE__, __LINE__ );
+ putLogError(17107, "Sending possible data is not existed.", __FILE__, __LINE__ );
throw -1;
}
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_send() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10233, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_send() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17108, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_client_send() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17109, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_send() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_client_send(const boost::thread::id thread_id) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10234, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("in/out_function : protocol_module_sessionless::"
"handle_client_disconnect(const boost::thread::id thread_id) : return_value = %d.");
formatter % FINALIZE;
- putLogDebug(10002, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10235, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return FINALIZE;
"handle_sorry_enable(const boost::thread::id thread_id) : "
"thread_id = %d.");
formatter % thread_id;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10236, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17110, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_it = session_data->recive_data_map.find(endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17111, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10237, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : SORRY_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10238, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10239, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : SORRYSERVER_SWITCH_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10240, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : SORRY_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10241, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10242, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : SORRY_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10243, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17112, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_sorry_enable() Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17113, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_enable(const boost::thread::id thread_id) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10244, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"handle_sorry_disable(const boost::thread::id thread_id) : "
"thread_id = %d.");
formatter % thread_id;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10245, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_data_map_it session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17114, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
//check pointer
recive_data_map_it recive_data_it = session_data->recive_data_map.find(endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17115, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10246, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : SORRY_FLAG_OFF.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10247, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10248, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : REALSERVER_SWITCH_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10249, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : SORRY_FLAG_OFF.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10250, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10251, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : SORRY_FLAG_OFF.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10252, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17116, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_sorry_disable() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17117, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorry_disable(const boost::thread::id thread_id) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10253, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"handle_realserver_disconnect(const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & rs_endpoint) : "
"thread_id = %d, rs_endpoint = [%s]:%d.");
formatter % thread_id % rs_endpoint.address().to_string() % rs_endpoint.port();
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10254, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_data_map_it session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17118, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_map_it recive_data_it = session_data->recive_data_map.find(endpoint);
if (recive_data_it == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17119, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10255, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10256, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_disconnect() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10257, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_disconnect() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17120, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_realserver_disconnect() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17121, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_realserver_disconnect() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"handle_realserver_disconnect(const boost::thread::id thread_id, "
"const boost::asio::ip::tcp::endpoint & rs_endpoint) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10258, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"const boost::asio::ip::tcp::endpoint & sorry_endpoint) : "
"thread_id = %d, sorry_endpoint = [%s]:%d.");
formatter % thread_id % sorry_endpoint.address().to_string() % sorry_endpoint.port() ;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10259, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
EVENT_TAG status;
session_thread_data_map_it session_thread_it = session_thread_data_map.find(thread_id);
if (session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)
{
- putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
+ putLogError(17122, "Invalid thread id.", __FILE__, __LINE__ );
throw -1;
}
recive_data_map_it recive_data_it = session_data->recive_data_map.find(session_data->target_endpoint);
if (session_data->recive_data_map.find(session_data->target_endpoint) == session_data->recive_data_map.end())
{
- putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
+ putLogError(17123, "Invalid endpoint.", __FILE__, __LINE__ );
throw -1;
}
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10260, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
- putLogDebug(10005, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogDebug(10261, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_disconnect() : catch exception e = %d.");
formatter % e;
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10262, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
status = FINALIZE;
boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_disconnect() : exception : error = %s.");
formatter % ex.what();
- putLogError(17000, formatter.str(), __FILE__, __LINE__ );
+ putLogError(17124, formatter.str(), __FILE__, __LINE__ );
status = FINALIZE;
}
catch (...)
{
std::cerr << "protocol_module_sessionless::handle_sorryserver_disconnect() : Unknown exception." << std::endl;
- putLogError(17000, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+ putLogError(17125, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
"handle_sorryserver_disconnect() : exception : Unknown exception.", __FILE__, __LINE__ );
status = FINALIZE;
}
"handle_sorryserver_disconnect(const boost::thread::id thread_id, "
"const boost::asio::ip::tcp::endpoint& sorry_endpoint) : return_value = %d.");
formatter % status;
- putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10263, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
"const boost::asio::ip::udp::endpoint & rs_endpoint) : "
"return_value = %d.");
formatter % STOP;
- putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
+ putLogDebug(10264, formatter.str(), __FILE__, __LINE__ );
}
/*------DEBUG LOG END------*/
return STOP;
{
return (send_status_first.status == protocol_module_sessionless::SEND_OK
&& send_status_first.send_rest_size > 0)
- || (send_status_first.status == protocol_module_sessionless::SEND_CONTINUE);
+ || (send_status_first.status == protocol_module_sessionless::SEND_CONTINUE)
+ || (send_status_first.status == protocol_module_sessionless::SEND_NG);
}
};
if (LOG_LV_DEBUG == getloglevel())
{
putLogDebug(30005, "function : void protocol_module_sslid::finalize() : "
- "rs_list_begin.clear(), rs_list_end.clear(), rs_list_next.clear(), "
+ "rs_list_begin.clear(), rs_list_end.clear(), rs_list_next.clear(), "
"rs_list_lock.clear(), rs_list_unlock.clear() end.", __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
if (LOG_LV_DEBUG == getloglevel())
{
putLogDebug(30006, "function : void protocol_module_sslid::finalize() : "
- "replication_pay_memory.clear(), replication_area_lock.clear(), "
+ "replication_pay_memory.clear(), replication_area_lock.clear(), "
"replication_area_unlock.clear() end.", __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
if (data_addr == NULL || data_size <= 0)
{
- // waiting for jp response????????????????????
// replication area is null
putLogError(37020, "Replication area is null.", __FILE__, __LINE__);
// parameter check
if (recvlen > recvbuffer.size())
{
- // waiting for jp response...??????????????????
std::cerr << "handle_client_recv() : Data size bigger than buffer size." << std::endl;
putLogError(37030, "Data size bigger than buffer size.", __FILE__, __LINE__);
throw -1;
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....??????????????????
putLogError(37031, "Invalid thread id.", __FILE__, __LINE__);
throw -1;
// data length check
if (threaddata->data_size + recvlen > threaddata->data_buffer.size())
{
- // waiting for jp response...??????????????????
std::cerr << "handle_client_recv() : Data size bigger than buffer size." << std::endl;
putLogError(37032, "Data size bigger than buffer size.", __FILE__, __LINE__);
threaddata->end_flag = END_FLAG_ON;
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....??????????????????
putLogError(37035, "Invalid thread id.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
putLogDebug(30055, formatter.str(), __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
- // waiting for jp response Could not finalize protomod. (Realserver decision failure)??????
- putLogInfo(035000, "Realserver decision failure.", __FILE__, __LINE__);
+ putLogInfo(35000, "Realserver decision failure.", __FILE__, __LINE__);
return FINALIZE;
}
}
/*------DEBUG LOG END------*/
- // waiting for jp response Could not finalize protomod. (Realserver decision failure)??????
- putLogInfo(035000, "Realserver decision failure", __FILE__, __LINE__);
+ putLogInfo(35001, "Realserver decision failure", __FILE__, __LINE__);
threaddata->end_flag = END_FLAG_ON;
return FINALIZE;
formatter % e.what();
putLogError(37036, formatter.str(), __FILE__, __LINE__);
- // waiting for jp response Could not finalize protomod. (Realserver decision failure)??????
- putLogInfo(035000, "Realserver decision failure.", __FILE__, __LINE__);
+ putLogInfo(35002, "Realserver decision failure.", __FILE__, __LINE__);
status = FINALIZE;
}
putLogError(37037, "function protocol_module_sslid::check_message_result "
"protocol_module_sslid::handle_realserver_select() : Unknown exception.", __FILE__, __LINE__);
- // waiting for jp response Could not finalize protomod. (Realserver decision failure)??????
- putLogInfo(035000, "Realserver decision failure.", __FILE__, __LINE__);
+ putLogInfo(35003, "Realserver decision failure.", __FILE__, __LINE__);
status = FINALIZE;
}
boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
"handle_realserver_connect(const boost::thread::id thread_id, "
"boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
- "thread_id = %d, sendbuffer = %s, datalen = %d.");
- formatter % thread_id % sendbuffer.data() % datalen;
+ "thread_id = %d.");
+ formatter % thread_id;
putLogDebug(30070, formatter.str(), __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end())
{
- // waiting for jp response.....??????????????????
putLogError(37038, "Invalid thread id.", __FILE__, __LINE__);
status = FINALIZE;
}
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....??????????????????
putLogError(37041, "Invalid thread id.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
catch (...)
{
std::cerr << "protocol_module_sslid::handle_realserver_connection_fail() : Unknown exception." << std::endl;
- putLogError(37043, "function protocol_module_sslid::check_message_result "
+ putLogError(37043, "function : protocol_module_sslid::check_message_result "
"protocol_module_sslid::handle_realserver_connection_fail() : Unknown exception.",
__FILE__, __LINE__);
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....??????????????????
putLogError(37044, "Invalid thread id.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
// parameter check
if (recvlen > recvbuffer.size())
{
- // waiting for jp response...??????????????????
std::cerr << "handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
putLogError(37047, "Data size bigger than buffer size.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....??????????????????
putLogError(37048, "Invalid thread id.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
// data length check
if (threaddata->data_size + recvlen > threaddata->data_buffer.size())
{
- // waiting for jp response...??????????????????
std::cerr << "handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
putLogError(37049, "Data size bigger than buffer size.", __FILE__, __LINE__);
boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
"handle_client_connection_check(const boost::thread::id thread_id, "
"boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
- "size_t& datalen) : thread_id = %d, sendbuffer = %s, datalen = %d.");
- formatter % thread_id % sendbuffer.data() % datalen;
+ "size_t& datalen) : thread_id = %d.");
+ formatter % thread_id;
putLogDebug(30099, formatter.str(), __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....??????????????????
putLogError(37052, "Invalid thread id.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
}
catch (...)
{
- std::cerr << "protocol_module_sslid::handle_client_connection_check() :Unknown exception." << std::endl;
+ std::cerr << "protocol_module_sslid::handle_client_connection_check() : Unknown exception." << std::endl;
putLogError(37054, "function : protocol_module_sslid::check_message_result "
"protocol_module_sslid::handle_client_connection_check() : Unknown exception.", __FILE__, __LINE__);
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
- "handle_client_connection_check(const boost::thread::id thread_id,"
+ "handle_client_connection_check(const boost::thread::id thread_id, "
"boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
"return_value = %d.");
formatter % status;
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....?????????????????
putLogError(37055, "Invalid thread id.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
if (LOG_LV_DEBUG == getloglevel())
{
boost::format formatter("in_function : int protocol_module_sslid::put_data_to_sendbuffer("
- "const boost::thread::id& thread_id,"
+ "const boost::thread::id& thread_id, "
"boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
- "size_t& datalen) : thread_id = %d, sendbuffer = %s, datalen = %d.");
- formatter % thread_id % sendbuffer.data() % datalen;
+ "size_t& datalen) : thread_id = %d.");
+ formatter % thread_id;
putLogDebug(30123, formatter.str(), __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
session_thread_data_map_type::iterator it = session_thread_data_map.find(thread_id);
if (it == session_thread_data_map.end() || it->second == NULL)
{
- // waiting for jp response.....??????????????????
putLogError(37058, "Invalid thread id.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
putLogDebug(30124, "out_function : int protocol_module_sslid::put_data_to_sendbuffer("
- "const boost::thread::id& thread_id,"
+ "const boost::thread::id& thread_id, "
"boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
"size_t& datalen) : return_value = -1.", __FILE__, __LINE__);
}
if (LOG_LV_DEBUG == getloglevel())
{
putLogDebug(30135, "out_function : int protocol_module_sslid::put_data_to_sendbuffer("
- "const boost::thread::id& thread_id,"
+ "const boost::thread::id& thread_id, "
"boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
"size_t& datalen) : return_value = 0.", __FILE__, __LINE__);
}
}
/*------DEBUG LOG END------*/
- // waiting for jp response??????????????????
- throw std::logic_error("invalid parameter value.");
+ throw std::logic_error("Invalid parameter value.");
}
if (sslid_replication_area_begain == NULL)
{
- // waiting for jp response????????????????????
// replication area is null
putLogError(37000, "Replication area is null.", __FILE__, __LINE__);
/*-------- DEBUG LOG --------*/
// parameter check
if (maxlist < 0 || timeout < 0 || replication_data_processor == NULL)
{
- putLogDebug(30001, "out_function : Constructor sslid_session_data_processor::"
- "sslid_session_data_processor(int maxlist, int timeout, "
- "sslid_replication_data_processor* replication_data_processor, "
- "getloglevel_func_type ingetloglevel, logger_func_type inputLogFatal, "
- "logger_func_type inputLogError, logger_func_type inputLogWarn, "
- "logger_func_type inputLogInfo, logger_func_type inputLogDebug)."
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == getloglevel())
+ {
+ putLogDebug(30001, "out_function : Constructor sslid_session_data_processor::"
+ "sslid_session_data_processor(int maxlist, int timeout, "
+ "sslid_replication_data_processor* replication_data_processor, "
+ "getloglevel_func_type ingetloglevel, logger_func_type inputLogFatal, "
+ "logger_func_type inputLogError, logger_func_type inputLogWarn, "
+ "logger_func_type inputLogInfo, logger_func_type inputLogDebug)."
, __FILE__, __LINE__);
- // waiting for jp response??????????????????
+ }
+ /*------DEBUG LOG END------*/
+
throw std::logic_error("invalid parameter value.");
}
if (session_endpoint_map.size() >= static_cast<size_t>(maxlist))
{
// map size arrived to top
- if (clear_expired_session_data() == -1)
+ if (clear_expired_session_data() == 1)
{
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
putLogDebug(30011, "out_function : int sslid_session_data_processor::"
"write_session_data(const std::string& session_id, "
"const boost::asio::ip::tcp::endpoint& endpoint, time_t now_time) : "
- "return_value = -1.", __FILE__, __LINE__);
+ "return_value = 0.", __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
- return -1;
+ return 0;
}
/*-------- DEBUG LOG --------*/
}
//! clear expired session data
-//! @return 0 : success
+//! @return 0 : success 1 : map size is 0
int sslid_session_data_processor::clear_expired_session_data()
{
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == getloglevel())
{
putLogDebug(30021, "out_function : int sslid_session_data_processor::"
- "clear_expired_session_data() : return_value = 0.", __FILE__, __LINE__);
+ "clear_expired_session_data() : return_value = 1.", __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
- return 0;
+ return 1;
}
// none record time expired, delete the oldest session
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = foreign
-L7VS_MODDIR = @l7vs_dir@
+L7VS_MODDIR = @l7vs_moddir@
MAX_BUFFER_SIZE = @l7vs_max_buffer_size@
AM_CPPFLAGS = \
-g -O2 -Wall -Werror -fPIC -pthread \
install:
+ cp ./.libs/libsched_lc.so ./.libs/sched_lc.so && \
+ cp ./.libs/libsched_rr.so ./.libs/sched_rr.so && \
+ cp ./.libs/libsched_wrr.so ./.libs/sched_wrr.so && \
$(INSTALL) -m 755 -d $(L7VS_MODDIR)
- $(INSTALL) -D 755 -D $(L7VS_MODDIR)
+ $(INSTALL) -m 755 -D \
+ ./.libs/sched_lc.so \
+ ./.libs/sched_rr.so \
+ ./.libs/sched_wrr.so \
+ $(L7VS_MODDIR)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
#include "../../module/protocol/http_protocol_module_base.cpp"
#include "../../module/protocol/protocol_module_sessionless.cpp"
-#define FORWARDED_FOR_OFF 0
-#define FORWARDED_FOR_ON 1
-
#define REQUEST_BUFFER_SIZE 50u //REQUEST_BUFFER_SIZE
#define RESPONSE_BUFFER_SIZE 50u //RESPONSE_BUFFER_SIZE
#define USE_BUFFER_SIZE 90u //USE_BUFFER_SIZE
char hostname[] = "127.0.0.1";
LOG_LEVEL_TAG stb_getloglevel(){
- //return LOG_LV_DEBUG;
+ return LOG_LV_DEBUG;
+ //return LOG_LV_NONE;
+}
+LOG_LEVEL_TAG stb_getloglevel_is_none(){
return LOG_LV_NONE;
}
+
void stb_putLogFatal( const unsigned int message_id, const std::string& message, const char* file, int line){
// cout << boost::format( "%s%d%06d %s %s" )
// % "PM"
//RealServerリストロック関数
void rslist_lock() {
}
-//ealServerリストアンロック関数
+//RealServerリストアンロック関数
void rslist_unlock() {
}
-
+//コンポーネント領域割り当て関数
+void* pay_memory(const std::string& str, unsigned int* pro) {
+ return 0 ;
+}
+//コンポーネント領域ロック関数
+void area_lock() {}
+//コンポーネント領域アンロック関数
+void area_unlock() {}
//Client振り分け処理関数
void schedule_tcp_stb( const boost::thread::id id,
protocol_module_base::rs_list_itr_func_type func_type1,
class protocol_module_sessionless_test_class : public protocol_module_sessionless
{
public:
- int THREAD_DIVISION_UP_STREAM; //上りスレッド
- int THREAD_DIVISION_DOWN_STREAM; //下りスレッド
- int END_FLAG_OFF; //終了フラグOFF
- int END_FLAG_ON; //終了フラグON
- int ACCEPT_END_FLAG_OFF; //ACCEPT完了フラグOFF
- int ACCEPT_END_FLAG_ON; //ACCEPT完了フラグON
- int SORRY_FLAG_ON; //SORRY状態
- int SORRY_FLAG_OFF; //SORRY状態以外
- int SORRYSERVER_SWITCH_FLAG_OFF; //sorryserver切替中以外
- int SORRYSERVER_SWITCH_FLAG_ON; //sorryserver切替中
- int REALSERVER_SWITCH_FLAG_OFF; //realserver切替中以外
- int REALSERVER_SWITCH_FLAG_ON; //realserver切替中
- int EDIT_DIVISION_NO_EDIT; //編集無し
- int EDIT_DIVISION_EDIT; //編集あり
//stub log function install
void install_stb_log_func(){
}
protocol_module_sessionless_test_class()
- :THREAD_DIVISION_UP_STREAM(protocol_module_sessionless::THREAD_DIVISION_UP_STREAM) //上りスレッド
- ,THREAD_DIVISION_DOWN_STREAM(protocol_module_sessionless::THREAD_DIVISION_DOWN_STREAM) //下りスレッド
- ,END_FLAG_OFF(protocol_module_sessionless::END_FLAG_OFF) //終了フラグOFF
- ,END_FLAG_ON(protocol_module_sessionless::END_FLAG_ON) //終了フラグON
- ,ACCEPT_END_FLAG_OFF(protocol_module_sessionless::ACCEPT_END_FLAG_OFF) //ACCEPT完了フラグOFF
- ,ACCEPT_END_FLAG_ON(protocol_module_sessionless::ACCEPT_END_FLAG_ON) //ACCEPT完了フラグON
- ,SORRY_FLAG_ON(protocol_module_sessionless::SORRY_FLAG_ON) //SORRY状態
- ,SORRY_FLAG_OFF(protocol_module_sessionless::SORRY_FLAG_OFF) //SORRY状態以外
- ,SORRYSERVER_SWITCH_FLAG_OFF(protocol_module_sessionless::SORRYSERVER_SWITCH_FLAG_OFF) //sorryserver切替中以外
- ,SORRYSERVER_SWITCH_FLAG_ON(protocol_module_sessionless::SORRYSERVER_SWITCH_FLAG_ON) //sorryserver切替中
- ,REALSERVER_SWITCH_FLAG_OFF(protocol_module_sessionless::REALSERVER_SWITCH_FLAG_OFF) //realserver切替中以外
- ,REALSERVER_SWITCH_FLAG_ON(protocol_module_sessionless::REALSERVER_SWITCH_FLAG_ON) //realserver切替中
- ,EDIT_DIVISION_NO_EDIT(protocol_module_sessionless::EDIT_DIVISION_NO_EDIT) //編集無し
- ,EDIT_DIVISION_EDIT(protocol_module_sessionless::EDIT_DIVISION_EDIT) //編集あり
{
install_stb_log_func();
}
//protocol_module_sessionless 馮家純
void protocol_module_sessionless_test(){
cout << "[1]------------------------------------------" << endl;
- //unit_test[1] モジュール名("sessionless")
+ //unit_test[1] モジュール名に("sessionless")を設定する,forwarded_forにFORWARDED_FOR_OFFを設定する,sorry_uriに'\0'を設定する
+ //モジュール名に("sessionless")を設定する
BOOST_CHECK_EQUAL(this->name, "sessionless");
+ //forwarded_forにFORWARDED_FOR_OFFを設定する
+ BOOST_CHECK_EQUAL(this->forwarded_for, FORWARDED_FOR_OFF);
+ char chk[MAX_OPTION_SIZE];
+ memset(chk, '\0', MAX_OPTION_SIZE);
+ //sorry_uriに'\0'を設定する
+ BOOST_CHECK_EQUAL(memcmp(this->sorry_uri.data(), chk, MAX_OPTION_SIZE), 0);
}
//~protocol_module_sessionless 馮家純
//get_name 馮家純
void get_name_test(){
cout << "[4]------------------------------------------" << endl;
- //unit_test[4] モジュール名("sessionless")を返却する
+ //unit_test[4] モジュール名に("sessionless")を返却する
BOOST_CHECK_EQUAL(this->get_name(), "sessionless");
}
void finalize_test() {
cout << "[7]------------------------------------------" << endl;
//unit_test[7] 各操作関数を初期化する
+ //RealServerリストの各操作関数
+ this->rs_list_begin = rslist_begin;
+ this->rs_list_end = rslist_end;
+ this->rs_list_next = rslist_next;
+ this->rs_list_lock = rslist_lock;
+ this->rs_list_unlock = rslist_unlock;
+ //Replicationの各操作関数
+ this->replication_pay_memory = pay_memory;
+ this->replication_area_lock = area_lock;
+ this->replication_area_unlock = area_unlock;
+ //ScheduleModuleの振分関数
+ this->schedule_tcp = schedule_tcp_stb;
+ //各モジュールオプション
+ this->forwarded_for = FORWARDED_FOR_ON;
+ this->sorry_uri.assign('a');
+
this->finalize();
BOOST_CHECK_EQUAL(this->getloglevel.empty() , true);
vector<string> args;
cout << "[9]------------------------------------------" << endl;
- // unit_test[9] オプション文字列にデータなし場合,チェック結果フラグにTRUEを設定する
+ // unit_test[9] オプション文字列にデータなし場合、チェック結果フラグにTRUEを設定する
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[10]------------------------------------------" << endl;
- // unit_test[10] オプション文字列 = "-F"の場合,チェック結果フラグにTRUEを設定する
+ // unit_test[10] オプション文字列 = "-F"の場合、チェック結果フラグにTRUEを設定する
args.push_back("-F");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[11]------------------------------------------" << endl;
- // unit_test[11] オプション文字列 = "--forwarded-for"の場合,チェック結果フラグにTRUEを設定する
+ // unit_test[11] オプション文字列 = "--forwarded-for"の場合、チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("--forwarded-for");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[12]------------------------------------------" << endl;
- // unit_test[12] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is too long."(%sは次要素)を設定する
- // unit_test[12] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 > 127
+ // unit_test[12] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is too long."(%sは次要素)を設定する
+ // unit_test[12] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF 次要素の文字列長 > 127の場合
args.clear();
args.push_back("-S");
- args.push_back("abcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
+ args.push_back("/bcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, false);
- BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value 'abcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/' is too long.");
+ BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value '/bcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/' is too long.");
cout << "[13]------------------------------------------" << endl;
- // unit_test[13] sorry-uri設定フラグをON チェック結果メッセージに"Cannot set multiple option ''-S/--sorry-uri'."を設定する
- // unit_test[13] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 = 127 チェックOKの場合
+ // unit_test[13] sorry-uri設定フラグをON、チェック結果メッセージに"Cannot set multiple option '-S/--sorry-uri'."を設定する
+ // unit_test[13] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素の文字列長 = 127 チェックOKの場合
args.clear();
args.push_back("-S");
- args.push_back("abc78/0123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/");
+ args.push_back("/bc78/0123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/");
args.push_back("--sorry-uri");
- args.push_back("abc78/0123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/");
+ args.push_back("/bc78/0123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.message, "Cannot set multiple option '-S/--sorry-uri'.");
BOOST_CHECK_EQUAL(result.flag, false);
cout << "[14]------------------------------------------" << endl;
- // unit_test[14] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
- // unit_test[14] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 = 127 チェックNGの場合
+ // unit_test[14] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
+ // unit_test[14] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素の文字列長 = 127 チェックNGの場合
args.clear();
args.push_back("-S");
- args.push_back("a\r\n/0123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/");
+ args.push_back("/a\r\n/123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, false);
- BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value 'a\r\n/0123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/' is not a valid URI.");
+ BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value '/a\r\n/123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/12345678/' is not a valid URI.");
cout << "[15]------------------------------------------" << endl;
- // unit_test[15] sorry-uri設定フラグをON チェック結果メッセージに"Cannot set multiple option ''-S/--sorry-uri'."を設定する
- // unit_test[15] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 < 127 チェックOKの場合
+ // unit_test[15] sorry-uri設定フラグをON、チェック結果メッセージに"Cannot set multiple option '-S/--sorry-uri'."を設定する
+ // unit_test[15] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素の文字列長 < 127 チェックOKの場合
args.clear();
args.push_back("-S");
- args.push_back("abc123");
+ args.push_back("/abc123");
args.push_back("--sorry-uri");
- args.push_back("abc123");
+ args.push_back("/abc123");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.message, "Cannot set multiple option '-S/--sorry-uri'.");
BOOST_CHECK_EQUAL(result.flag, false);
cout << "[16]------------------------------------------" << endl;
- // unit_test[16] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
- // unit_test[16] test data:オプション文字列 = "-S" sorryURI設定フラグ = OFF 次要素の文字列長 < 127 チェックNGの場合
+ // unit_test[16] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
+ // unit_test[16] test data:オプション文字列 = "-S"、sorryURI設定フラグ = OFF、次要素の文字列長 < 127 チェックNGの場合
args.clear();
args.push_back("-S");
args.push_back("123\r\n");
BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value '123\r\n' is not a valid URI.");
cout << "[17]------------------------------------------" << endl;
- // unit_test[17] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value ''-S/--sorry-uri'."を設定する
- // unit_test[17] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素が存在しない場合
+ // unit_test[17] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[17] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素が存在しない場合
args.clear();
args.push_back("-S");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.message, "You have to set option value '-S/--sorry-uri'.");
cout << "[18]------------------------------------------" << endl;
- // unit_test[18] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option ''-S/--sorry-uri'."を設定する
- // unit_test[18] test data:オプション文字列 = "-S" sorry-uri設定フラグ = ON
+ // unit_test[18] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"Cannot set multiple option '-S/--sorry-uri'."を設定する
+ // unit_test[18] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = ONの場合
args.clear();
args.push_back("-S");
- args.push_back("123/abc");
+ args.push_back("/123/abc");
args.push_back("-S");
- args.push_back("123/999");
+ args.push_back("/123/999");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, false);
BOOST_CHECK_EQUAL(result.message, "Cannot set multiple option '-S/--sorry-uri'.");
cout << "[19]------------------------------------------" << endl;
- // unit_test[19] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Option error."を設定する
- // unit_test[19] test data:オプション文字列"-F","-S" 以外の場合
+ // unit_test[19] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"Option error."を設定する
+ // unit_test[19] test data:オプション文字列"-F"、"-S" 以外の場合
args.clear();
args.push_back("-D");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.message, "Option error.");
cout << "[20]------------------------------------------" << endl;
- // unit_test[20] オプション文字列"-S","--forwarded-for"の場合,チェック結果フラグにTRUEを設定する
+ // unit_test[20] オプション文字列"-S"、"--forwarded-for"の場合、チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-S");
- args.push_back("123/abc");
+ args.push_back("/123/abc");
args.push_back("--forwarded-for");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[21]------------------------------------------" << endl;
- // unit_test[21] オプション文字列"-F","--sorry-uri" の場合,チェック結果フラグにTRUEを設定する
+ // unit_test[21] オプション文字列"-F"、"--sorry-uri" の場合、チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-F");
args.push_back("--sorry-uri");
- args.push_back("123/abc");
+ args.push_back("/123/abc");
result = this->check_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[22]------------------------------------------" << endl;
- // unit_test[22] オプション文字列"-F","--forwarded-for" の場合,チェック結果フラグにTRUEを設定する
+ // unit_test[22] オプション文字列"-F"、"--forwarded-for" の場合、チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-F");
args.push_back("--forwarded-for");
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[23]------------------------------------------" << endl;
- // unit_test[23] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
- // unit_test[23] test data:オプション文字列"-F","-S" の場合
+ // unit_test[23] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[23] test data:オプション文字列"-F"、"-S" の場合
args.clear();
args.push_back("-F");
args.push_back("-S");
BOOST_CHECK_EQUAL(result.message, "You have to set option value '-S/--sorry-uri'.");
cout << "[24]------------------------------------------" << endl;
- // unit_test[24] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
- // unit_test[24] test data:オプション文字列"--sorry-uri","--forwarded-for" の場合
+ // unit_test[24] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[24] test data:オプション文字列"--sorry-uri"、"--forwarded-for" の場合
args.clear();
args.push_back("--sorry-uri");
args.push_back("--forwarded-for");
BOOST_CHECK_EQUAL(result.message, "You have to set option value '-S/--sorry-uri'.");
cout << "[25]------------------------------------------" << endl;
- // unit_test[25] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Option error."を設定する
- // unit_test[25] test data:オプション文字列"--forwarded-for","-R"の場合
+ // unit_test[25] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"Option error."を設定する
+ // unit_test[25] test data:オプション文字列"--forwarded-for"、"-R"の場合
args.clear();
args.push_back("--forwarded-for");
args.push_back("-R");
BOOST_CHECK_EQUAL(result.message, "Option error.");
cout << "[26]------------------------------------------" << endl;
- // unit_test[26] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
- // unit_test[26] test data:オプション文字列"S","-R"の場合
+ // unit_test[26] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[26] test data:オプション文字列"S"、"-R"の場合
args.clear();
args.push_back("-S");
args.push_back("-R");
vector<string> args;
cout << "[27]------------------------------------------" << endl;
- // unit_test[27] オプション文字列にデータなし場合,チェック結果フラグにTRUEを設定する
+ // unit_test[27] オプション文字列にデータなし場合、チェック結果フラグにTRUEを設定する
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[28]------------------------------------------" << endl;
- // unit_test[28] オプション文字列 = "-F"の場合,送信元設定指示設定フラグをON,チェック結果フラグにTRUEを設定する
+ // unit_test[28] オプション文字列 = "-F"の場合、送信元設定指示設定フラグをON,チェック結果フラグにTRUEを設定する
args.push_back("-F");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(this->forwarded_for, FORWARDED_FOR_ON);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[29]------------------------------------------" << endl;
- // unit_test[29] オプション文字列 = "--forwarded-for"の場合,送信元設定指示設定フラグをON,チェック結果フラグにTRUEを設定する
+ // unit_test[29] オプション文字列 = "--forwarded-for"の場合、送信元設定指示設定フラグをON,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("--forwarded-for");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
cout << "[30]------------------------------------------" << endl;
- // unit_test[30] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is too long."(%sは次要素)を設定する
- // unit_test[30] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 > 127
+ // unit_test[30] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is too long."(%sは次要素)を設定する
+ // unit_test[30] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素の文字列長 > 127の場合
args.clear();
args.push_back("-S");
- args.push_back("abcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
+ args.push_back("/bcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.flag, false);
- BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value 'abcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/' is too long.");
+ BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value '/bcdef1234567890/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/' is too long.");
cout << "[31]------------------------------------------" << endl;
- // unit_test[31] sorryURI設定フラグをON チェック結果メッセージに"Cannot set multiple option ''-S/--sorry-uri'."を設定する
- // unit_test[31] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 = 127 チェックOKの場合
+ // unit_test[31] sorry-uri設定フラグをON、チェック結果メッセージに"Cannot set multiple option '-S/--sorry-uri'."を設定する
+ // unit_test[31] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素の文字列長 = 127 チェックOKの場合
args.clear();
args.push_back("-S");
- args.push_back("abcdef123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
+ args.push_back("/bcdef123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
args.push_back("--sorry-uri");
- args.push_back("abcdef123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
+ args.push_back("/bcdef123456789/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.message, "Cannot set multiple option '-S/--sorry-uri'.");
BOOST_CHECK_EQUAL(result.flag, false);
cout << "[32]------------------------------------------" << endl;
- // unit_test[32] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
- // unit_test[32] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 = 127 チェックNGの場合
+ // unit_test[32] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
+ // unit_test[32] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素の文字列長 = 127 チェックNGの場合
args.clear();
args.push_back("-S");
args.push_back("abcdef12345\r\n/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/");
BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value 'abcdef12345\r\n/0123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/123456789/' is not a valid URI.");
cout << "[33]------------------------------------------" << endl;
- // unit_test[33] sorryURI設定フラグをON チェック結果メッセージに"Cannot set multiple option ''-S/--sorry-uri'."を設定する
- // unit_test[33] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素の文字列長 < 127 チェックOKの場合
+ // unit_test[33] sorry-uri設定フラグをON、チェック結果メッセージに"Cannot set multiple option '-S/--sorry-uri'."を設定する
+ // unit_test[33] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素の文字列長 < 127 チェックOKの場合
args.clear();
args.push_back("-S");
- args.push_back("abc/123");
+ args.push_back("/abc/123");
args.push_back("--sorry-uri");
- args.push_back("123/555");
+ args.push_back("/123/555");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.message, "Cannot set multiple option '-S/--sorry-uri'.");
BOOST_CHECK_EQUAL(result.flag, false);
cout << "[34]------------------------------------------" << endl;
- // unit_test[34] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
+ // unit_test[34] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"'-S/--sorry-uri' option value '%s' is not a valid URI."(%sは次要素)を設定する
// unit_test[34] test data:次要素の文字列長 < 127 チェックNGの場合
args.clear();
args.push_back("-S");
BOOST_CHECK_EQUAL(result.message, "'-S/--sorry-uri' option value 'abc\r\n' is not a valid URI.");
cout << "[35]------------------------------------------" << endl;
- // unit_test[35] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value ''-S/--sorry-uri'."を設定する
- // unit_test[35] test data:オプション文字列 = "-S" sorry-uri設定フラグ = OFF 次要素が存在しない場合
+ // unit_test[35] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[35] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = OFF、次要素が存在しない場合
args.clear();
args.push_back("-S");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.message, "You have to set option value '-S/--sorry-uri'.");
cout << "[36]------------------------------------------" << endl;
- // unit_test[36] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option ''-S/--sorry-uri'."を設定する
- // unit_test[36] test data:オプション文字列 = "-S" sorry-uri設定フラグ = ON
+ // unit_test[36] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"Cannot set multiple option ''-S/--sorry-uri'."を設定する
+ // unit_test[36] test data:オプション文字列 = "-S"、sorry-uri設定フラグ = ONの場合
args.clear();
args.push_back("-S");
- args.push_back("abc/123");
+ args.push_back("/abc/123");
args.push_back("-S");
- args.push_back("abc/123");
+ args.push_back("/abc/123");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.flag, false);
BOOST_CHECK_EQUAL(result.message, "Cannot set multiple option '-S/--sorry-uri'.");
cout << "[37]------------------------------------------" << endl;
- // unit_test[37] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Option error."を設定する
- // unit_test[37] test data:オプション文字列"-F","-S" 以外の場合
+ // unit_test[37] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"Option error."を設定する
+ // unit_test[37] test data:オプション文字列"-F"、"-S" 以外の場合
args.clear();
args.push_back("-D");
result = this->set_parameter(args);
cout << "[38]------------------------------------------" << endl;
// unit_test[38] 送信元設定指示に0を設定する
- // unit_test[38] test data:ã\83\81ã\82§ã\83\83ã\82¯çµ\90æ\9e\9cã\83\95ã\83©ã\82° = TRUEã\81®å ´å\90\88ã\80\81é\80\81ä¿¡å\85\83è¨å®\9aæ\8c\87示è¨å®\9aã\83\95ã\83©ã\82° = OFF
+ // unit_test[38] test data:ã\83\81ã\82§ã\83\83ã\82¯çµ\90æ\9e\9cã\83\95ã\83©ã\82° = TRUEã\80\81é\80\81ä¿¡å\85\83è¨å®\9aæ\8c\87示è¨å®\9aã\83\95ã\83©ã\82° = OFFã\81®å ´å\90\88
args.clear();
args.push_back("-S");
- args.push_back("abc/123");
+ args.push_back("/abc/123");
this->set_parameter(args);
BOOST_CHECK_EQUAL(this->forwarded_for, FORWARDED_FOR_OFF);
cout << "[39]------------------------------------------" << endl;
- // unit_test[39] チェック結果フラグにTRUEを設定する,送信元設定指示に1を設定する
- // unit_test[39] test data:オプション文字列"--forwarded-for","-S" の場合
+ // unit_test[39] チェック結果フラグにTRUEを設定する、送信元設定指示に1を設定する
+ // unit_test[39] test data:オプション文字列"--forwarded-for"、"-S" の場合
args.clear();
args.push_back("--forwarded-for");
args.push_back("-S");
- args.push_back("abc/123");
+ args.push_back("/abc/123");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
BOOST_CHECK_EQUAL(this->forwarded_for, FORWARDED_FOR_ON);
cout << "[40]------------------------------------------" << endl;
- // unit_test[40] チェック結果フラグにTRUEを設定する,送信元設定指示に1を設定する
- // unit_test[40] test data:オプション文字列"--sorry-uri","-F" の場合
+ // unit_test[40] チェック結果フラグにTRUEを設定する、送信元設定指示に1を設定する
+ // unit_test[40] test data:オプション文字列"--sorry-uri"、"-F" の場合
args.clear();
args.push_back("--sorry-uri");
- args.push_back("abc/123");
+ args.push_back("/abc/123");
args.push_back("-F");
result = this->set_parameter(args);
BOOST_CHECK_EQUAL(result.flag, true);
BOOST_CHECK_EQUAL(this->forwarded_for, FORWARDED_FOR_ON);
cout << "[41]------------------------------------------" << endl;
- // unit_test[41] チェック結果フラグにTRUEを設定する,送信元設定指示に1を設定する
- // unit_test[41] test data:オプション文字列"--forwarded-for","-F" の場合
+ // unit_test[41] チェック結果フラグにTRUEを設定する、送信元設定指示に1を設定する
+ // unit_test[41] test data:オプション文字列"--forwarded-for"、"-F" の場合
args.clear();
args.push_back("--forwarded-for");
args.push_back("-F");
BOOST_CHECK_EQUAL(this->forwarded_for, FORWARDED_FOR_ON);
cout << "[42]------------------------------------------" << endl;
- // unit_test[42] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
- // unit_test[42] test data:オプション文字列"-F","-S" の場合
+ // unit_test[42] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[42] test data:オプション文字列"-F"、"-S" の場合
args.clear();
args.push_back("-F");
args.push_back("-S");
BOOST_CHECK_EQUAL(result.message, "You have to set option value '-S/--sorry-uri'.");
cout << "[43]------------------------------------------" << endl;
- // unit_test[43] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
- // unit_test[43] test data:オプション文字列"--sorry-uri","--forwarded-for" の場合
+ // unit_test[43] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[43] test data:オプション文字列"--sorry-uri"、"--forwarded-for" の場合
args.clear();
args.push_back("--sorry-uri");
args.push_back("--forwarded-for");
BOOST_CHECK_EQUAL(result.message, "You have to set option value '-S/--sorry-uri'.");
cout << "[44]------------------------------------------" << endl;
- // unit_test[44] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Option error."を設定する
- // unit_test[44] test data:オプション文字列"--forwarded-for","-R"の場合
+ // unit_test[44] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"Option error."を設定する
+ // unit_test[44] test data:オプション文字列"--forwarded-for"、"-R"の場合
args.clear();
args.push_back("--forwarded-for");
args.push_back("-R");
BOOST_CHECK_EQUAL(result.message, "Option error.");
cout << "[45]------------------------------------------" << endl;
- // unit_test[45] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
- // unit_test[45] test data:オプション文字列"-S","-R"の場合
+ // unit_test[45] チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to set option value '-S/--sorry-uri'."を設定する
+ // unit_test[45] test data:オプション文字列"-S"、"-R"の場合
args.clear();
args.push_back("-S");
args.push_back("-R");
// unit_test[48] Client振り分け処理関数のテスト
tcp_schedule_func_type func = schedule_tcp_stb;
this->register_schedule(func);
+ BOOST_CHECK_EQUAL(this->schedule_tcp, schedule_tcp_stb);
cout << "[49]------------------------------------------" << endl;
// unit_test[49] Client振り分け処理関数空のテスト
BOOST_CHECK_EQUAL(data->client_endpoint_tcp, ep_tcp);
cout << "[52]------------------------------------------" << endl;
- //unit_test[52] 下りスレッドマップ空のテスト
+ //unit_test[52] 下りスレッドマップテスト
iter = this->session_thread_data_map.find(down_thread.get_id());
bret = (iter != this->session_thread_data_map.end());
BOOST_REQUIRE_EQUAL(bret, true);
//handle_client_recv 郎希倹
void handle_client_recv_test(){
- size_t request_len;
+ size_t request_len = USE_BUFFER_SIZE;
EVENT_TAG ret;
boost::array<char, MAX_BUFFER_SIZE> request;
send_status send_status_temp;
this->session_thread_data_map.clear();
this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
- std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
- psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data& recive_data_global = it->second;
cout << "[60]------------------------------------------" << endl;
// unit_test[60] endpoint対応のrecive_dataなし
// requestを設定する
- recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
- delete[] recive_data_global.recive_buffer1;
- delete[] recive_data_global.recive_buffer2;
- recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer2 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
psession_thread_data->recive_data_map.clear();
psession_thread_data->recive_data_map[endpoint_not_used] = recive_data_tmp;
psession_thread_data->recive_data_map.clear();
psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
- it = psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data_global = it->second;
+ std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
+ psession_thread_data->recive_data_map.find(endpoint_local);
+ recive_data& recive_data_global = it->second;
cout << "[61]------------------------------------------" << endl;
// unit_test[61] recive_data.recive_buffer=Null
memcpy(request.c_array(), "GET / HTTP/1.0\r\nCookie: monkey=123456789012345\r\n\r\n", REQUEST_BUFFER_SIZE);
request_len = REQUEST_BUFFER_SIZE;
+ this->getloglevel = &stb_getloglevel_is_none;
new_install();
ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
new_uninstall();
+ this->getloglevel = &stb_getloglevel;
BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[65]------------------------------------------" << endl;
recive_data_global.send_status_list.clear();
memcpy(request.c_array(), "GET / HTTP/1.0\r\nHOST: 192.168.120.1\r\nCookie: "
- "monkey=1\r\nContent-Length: 43\r\n\r\n0123456789012345678901234567890123456789012", 120);
- request_len = 120;
+ "monkey=1\r\nContent-Length: 65455\r\n\r\n", 80);
+ memset(request.c_array() + 80, 'x', 65455);
+ request_len = MAX_BUFFER_SIZE;
ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 120u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, MAX_BUFFER_SIZE);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
//メモリの内容をチェックする
- int cmp_ret = memcmp(request.c_array(), recive_data_global.recive_buffer, 120u);
+ int cmp_ret = memcmp(request.c_array(), recive_data_global.recive_buffer, MAX_BUFFER_SIZE);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 120u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, MAX_BUFFER_SIZE);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
memcpy(recive_data_global.recive_buffer, "GET / HTTP/1.0\r\nCook", 20);
//リクエストデータ
- memcpy(request.c_array(), "ie: monkey=1234567890123456789012345678901234567890123456789012345678901", 72);
- request_len = 72;
+ memcpy(request.c_array(), "ie: monkey=", 11);
+ memset(request.c_array(), 'x', MAX_BUFFER_SIZE - 11);
+ request_len = MAX_BUFFER_SIZE;
ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 92u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, MAX_BUFFER_SIZE + 20);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
//メモリの内容をチェックする
cmp_ret = memcmp(recive_data_global.recive_buffer, "GET / HTTP/1.0\r\nCook", 20);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(recive_data_global.recive_buffer + 20, request.c_array(), 72);
+ cmp_ret = memcmp(recive_data_global.recive_buffer + 20, request.c_array(), MAX_BUFFER_SIZE);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 92u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, MAX_BUFFER_SIZE + 20);
cout << "[107]------------------------------------------" << endl;
// unit_test[107] データバッファ残サイズ < リクエストデータサイズ
cout << "[149]------------------------------------------" << endl;
//unit_test[149] 異常系 functionがなし場合遷移先ステータスにFINALIZEを設定する
//register function
- tcp_schedule_func_type func_err1 = 0;
+ tcp_schedule_func_type func_err1 = NULL;
this->register_schedule(func_err1);
boost::asio::ip::tcp::endpoint ep_err1;
//register function
tcp_schedule_func_type func_cerr2 = &schedule_tcp_determinate;
this->register_schedule(func_cerr2);
- this->session_thread_data_map[boost::this_thread::get_id()] = 0;
+ this->session_thread_data_map[boost::this_thread::get_id()] = NULL;
boost::asio::ip::tcp::endpoint ep_err2;
ret = this->handle_realserver_select(boost::this_thread::get_id(), ep_err2);
void handle_realserver_select_udp_test(){
cout << "[154]------------------------------------------" << endl;
- //unit_test[154] handle_realserver_select_udp_test return STOP
+ //unit_test[154] handle_realserver_select_udp_test 戻り値が「STOP」に設定する。
boost::asio::ip::udp::endpoint ep;
boost::array<char, MAX_BUFFER_SIZE> sbf;
std::size_t d;
//handle_realserver_connect 郎希倹
void handle_realserver_connect_test(){
- size_t send_buffer_len;
+ size_t send_buffer_len = USE_BUFFER_SIZE;
EVENT_TAG ret;
boost::array<char, MAX_BUFFER_SIZE> send_buffer;
send_status send_status_temp;
this->session_thread_data_map.clear();
this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
- std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
- psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data& recive_data_global = it->second;
cout << "[157]------------------------------------------" << endl;
// unit_test[157] endpoint対応のrecive_dataなし
- recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
- delete[] recive_data_global.recive_buffer1;
- delete[] recive_data_global.recive_buffer2;
- recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer2 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
psession_thread_data->recive_data_map.clear();
send_buffer_len = 0;
memset(send_buffer.c_array(), 0, MAX_BUFFER_SIZE);
ret = handle_realserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
BOOST_CHECK_EQUAL(ret, FINALIZE);
- psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
- it = psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data_global = it->second;
+ psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
+ std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
+ psession_thread_data->recive_data_map.find(endpoint_local);
+ recive_data& recive_data_global = it->second;
cout << "[158]------------------------------------------" << endl;
// unit_test[158] recive_data.recive_buffer=Null
//unit_test[181] 異常系 session_thread_data_map中にThreadID対応のデータがない
this->session_thread_data_map.clear();
- this->session_thread_data_map[boost::this_thread::get_id()] = 0;
+ this->session_thread_data_map[boost::this_thread::get_id()] = NULL;
boost::asio::ip::tcp::endpoint ep_err1;
ret = this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep_err1);
BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[182]------------------------------------------" << endl;
- //unit_test[182] 異常系 session_thread_data_map中にThreadIDなし場合のテストない
+ //unit_test[182] 異常系 session_thread_data_map中にThreadIDなし場合のテスト
this->session_thread_data_map.clear();
ret = this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep_err1);
BOOST_CHECK_EQUAL(event_status, FINALIZE);
cout << "[188]------------------------------------------" << endl;
- //unit_test[188] 送信状態->SEND_OK,送信可能データサイズ > 0/編集データリスト=0/送信可能データあり
+ //unit_test[188] 送信状態->SEND_OK,送信可能データサイズ > 0/送信可能データあり
//unit_test[188] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
real_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
real_send_status.edit_data_list.clear();//編集データリスト=0
BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
cout << "[189]------------------------------------------" << endl;
- //unit_test[189] 送信状態->SEND_OK,送信可能データサイズ > 0/編集データリスト=1/送信可能データあり
- //unit_test[189] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
- real_data.insert_posission = 1u;
- real_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
- real_send_status.edit_data_list.push_back(real_data);//編集データリスト=1
- real_send_status.send_offset = 0u;
- real_send_status.send_end_size = 1u;
- real_send_status.status = SEND_OK;//送信状態->SEND_OK
+ //unit_test[189] 送信状態->SEND_NG
+ //unit_test[189] test data:遷移先ステータスを設定する
+ real_send_status.status = SEND_NG;//送信状態->SEND_NG
real_recive_data.send_status_list.clear();
real_recive_data.send_status_list.push_back(real_send_status);
thread_data.recive_data_map.clear();
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
- size_t posission = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.front().insert_posission;
- offset = thread_data.recive_data_map[endpoint].send_status_list.front().send_offset;
- end_size = thread_data.recive_data_map[endpoint].send_status_list.front().send_end_size;
- BOOST_CHECK_EQUAL(event_status, REALSERVER_CONNECT); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信状態に送信待を設定する
- BOOST_CHECK_EQUAL(posission,0u); //編集データ設定位置から送信済データサイズを減算する
- BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
- BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
+ BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[190]------------------------------------------" << endl;
- //unit_test[190] 送信状態->SEND_OK,送信可能データサイズ > 0/編集データリスト=2/送信可能データあり
- //unit_test[190] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
- real_data.insert_posission = 1u;
- real_data1.insert_posission = 2u;
- real_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
- real_send_status.status = SEND_OK; //送信状態->SEND_OK
- //編集データリスト=2
- real_send_status.edit_data_list.clear();
- real_send_status.edit_data_list.push_back(real_data);
- real_send_status.edit_data_list.push_back(real_data1);
- real_send_status.send_offset = 0u;
- real_send_status.send_end_size = 1u;
+ //unit_test[190] 送信状態->SEND_CONTINUE
+ //unit_test[190] test data:遷移先ステータスを設定する
+ real_send_status.status = SEND_CONTINUE; //送信状態->SEND_CONTINUE
real_recive_data.send_status_list.clear();
real_recive_data.send_status_list.push_back(real_send_status);
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
- size_t posission1 = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.front().insert_posission;
- size_t posission2 = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.back().insert_posission;
- offset = thread_data.recive_data_map[endpoint].send_status_list.front().send_offset;
- end_size = thread_data.recive_data_map[endpoint].send_status_list.front().send_end_size;
- BOOST_CHECK_EQUAL(event_status, REALSERVER_CONNECT); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信状態に送信待を設定する
- BOOST_CHECK_EQUAL(posission1,0u); //編集データ設定位置から送信済データサイズを減算する
- BOOST_CHECK_EQUAL(posission2,1u);
- BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
- BOOST_CHECK_EQUAL(end_size,0u);//送信済データサイズに0を設定する
+ BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[191]------------------------------------------" << endl;
//unit_test[191] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT);
cout << "[203]------------------------------------------" << endl;
- //unit_test[203] session_thread_data_mapä¸ã\81«ä¸\8aã\82\8aã\82¹ã\83¬ã\83\83ã\83\89ä¸ã\81«ThreadID対å¿\9cã\81®ã\83\87ã\83¼ã\82¿ã\81\8cã\81\82ã\82\8aã\81¾ã\81\9bã\82\93
- this->session_thread_data_map[boost::this_thread::get_id()] = 0;
+ //unit_test[203] session_thread_data_mapä¸ã\81«ä¸\8aã\82\8aã\82¹ã\83¬ã\83\83ã\83\89ä¸ã\81«ThreadID対å¿\9cã\81®ã\83\87ã\83¼ã\82¿ã\81\8cã\81ªã\81\84
+ this->session_thread_data_map[boost::this_thread::get_id()] = NULL;
ret = this->handle_sorryserver_select(boost::this_thread::get_id(), ep);
//遷移先ステータスを設定する status = FINALIZE
BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[204]------------------------------------------" << endl;
- //unit_test[204] session_thread_data_map中に上りスレッドのデータ無し場合のテストない
+ //unit_test[204] session_thread_data_map中に上りスレッドのデータ無し場合のテスト
this->session_thread_data_map.erase(boost::this_thread::get_id());
ret = this->handle_sorryserver_select(boost::this_thread::get_id(), ep);
BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[205]------------------------------------------" << endl;
- //unit_test[205] session_thread_data_map中に上りスレッドと下りスレッドのデータ無し場合のテストない
+ //unit_test[205] session_thread_data_map中に上りスレッドと下りスレッドのデータ無し場合のテスト
this->session_thread_data_map.clear();
ret = this->handle_sorryserver_select(boost::this_thread::get_id(), ep);
BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[206]------------------------------------------" << endl;
- //unit_test[206] session_thread_data_map中に下りスレッドのデータ無し場合のテストない
+ //unit_test[206] session_thread_data_map中に下りスレッドのデータ無し場合のテスト
this->session_thread_data_map.clear();
this->session_thread_data_map[boost::this_thread::get_id()] = &dataup;
ret = this->handle_sorryserver_select(boost::this_thread::get_id(), ep);
//handle_sorryserver_connect 郎希倹
void handle_sorryserver_connect_test(){
- size_t send_buffer_len;
+ size_t send_buffer_len = USE_BUFFER_SIZE;
EVENT_TAG ret;
boost::array<char, MAX_BUFFER_SIZE> send_buffer;
send_status send_status_temp;
this->session_thread_data_map.clear();
this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
- std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
- psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data& recive_data_global = it->second;
cout << "[209]------------------------------------------" << endl;
// unit_test[209] endpoint対応のrecive_dataなし
- recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
- delete[] recive_data_global.recive_buffer1;
- delete[] recive_data_global.recive_buffer2;
- recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer2 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
psession_thread_data->recive_data_map.clear();
send_buffer_len = 0;
memset(send_buffer.c_array(), 0, MAX_BUFFER_SIZE);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
BOOST_CHECK_EQUAL(ret, FINALIZE);
- psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
- it = psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data_global = it->second;
+ psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
+ std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
+ psession_thread_data->recive_data_map.find(endpoint_local);
+ recive_data& recive_data_global = it->second;
cout << "[210]------------------------------------------" << endl;
// unit_test[210] recive_data.recive_buffer=Null
send_status_temp.send_offset = 0;
send_status_temp.send_end_size = 0;
send_status_temp.edit_division = EDIT_DIVISION_NO_EDIT;
- send_status_temp.send_possible_size = 30;
+ send_status_temp.send_possible_size = 40;
recive_data_global.send_status_list.push_back(send_status_temp);
init_send_status(send_status_temp);
send_status_temp.status = SEND_OK;
- send_status_temp.send_offset = 30;
+ send_status_temp.send_offset = 40;
send_status_temp.send_end_size = 0;
send_status_temp.edit_division = EDIT_DIVISION_NO_EDIT;
- send_status_temp.send_possible_size = 45;
+ send_status_temp.send_possible_size = 35;
recive_data_global.send_status_list.push_back(send_status_temp);
memcpy(recive_data_global.recive_buffer,
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
- BOOST_CHECK_EQUAL(send_buffer_len, 30u);
+ BOOST_CHECK_EQUAL(send_buffer_len, 40u);
//送信バッファの内容をチェックする。
- int cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), 30);
+ int cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), 40);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, 40u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_end_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 45u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 35u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 40u);
cout << "[213]------------------------------------------" << endl;
// unit_test[213] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
recive_data_global.send_status_list.push_back(send_status_temp);
init_edit_data(edit_data_temp);
- edit_data_temp.data = "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n";
- edit_data_temp.data_size = 40;
+ edit_data_temp.data = "X-Forwarded-For: 10.10.2.2, 10.10.10.1";
+ edit_data_temp.data_size = 38;
edit_data_temp.insert_posission = MAX_BUFFER_SIZE + 2;
- edit_data_temp.replace_size = 28;
+ edit_data_temp.replace_size = 26;
recive_data_global.send_status_list.begin()->edit_data_list.clear();
recive_data_global.send_status_list.begin()->edit_data_list.push_back(edit_data_temp);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer + MAX_BUFFER_SIZE, 2);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(send_buffer.c_array() + 2, "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 40);
+ cmp_ret = memcmp(send_buffer.c_array() + 2, "X-Forwarded-For: 10.10.2.2, 10.10.10.1", 38);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(send_buffer.c_array() + 42, recive_data_global.recive_buffer + MAX_BUFFER_SIZE + 30, 2);
+ cmp_ret = memcmp(send_buffer.c_array() + 40, recive_data_global.recive_buffer + MAX_BUFFER_SIZE + 30, 2);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 0u);
recive_data_global.send_status_list.push_back(send_status_temp);
init_edit_data(edit_data_temp);
- edit_data_temp.data = "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n";
- edit_data_temp.data_size = 40;
+ edit_data_temp.data = "X-Forwarded-For: 10.10.2.2, 10.10.10.1";
+ edit_data_temp.data_size = 38;
edit_data_temp.insert_posission = MAX_BUFFER_SIZE + 2;
- edit_data_temp.replace_size = 28;
+ edit_data_temp.replace_size = 26;
recive_data_global.send_status_list.begin()->edit_data_list.clear();
recive_data_global.send_status_list.begin()->edit_data_list.push_back(edit_data_temp);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer + MAX_BUFFER_SIZE, 2);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(send_buffer.c_array() + 2, "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 40);
+ cmp_ret = memcmp(send_buffer.c_array() + 2, "X-Forwarded-For: 10.10.2.2, 10.10.10.1", 38);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(send_buffer.c_array() + 42, recive_data_global.recive_buffer + MAX_BUFFER_SIZE + 30, 2);
+ cmp_ret = memcmp(send_buffer.c_array() + 40, recive_data_global.recive_buffer + MAX_BUFFER_SIZE + 30, 2);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 0u);
BOOST_CHECK_EQUAL(cmp_ret, 0);
cmp_ret = memcmp(send_buffer.c_array() + 15, recive_data_global.recive_buffer + 16, MAX_BUFFER_SIZE - 57);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(send_buffer.c_array() + MAX_BUFFER_SIZE - 42, "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 40);
+ cmp_ret = memcmp(send_buffer.c_array() + MAX_BUFFER_SIZE - 42, "X-Forwarded-For: 10.10.2.2, 10.10.10.1", 38);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(send_buffer.c_array() + MAX_BUFFER_SIZE - 2, "\r\n", 2);
+ cmp_ret = memcmp(send_buffer.c_array() + MAX_BUFFER_SIZE - 4, "\r\n\r\n", 4);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data,
- "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n");
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 40u);
+ "X-Forwarded-For: 10.10.2.2, 10.10.10.1");
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 38u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->insert_posission,
MAX_BUFFER_SIZE - 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 28u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
cout << "[226]------------------------------------------" << endl;
// unit_test[226] 編集データリストが空でない場合
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data,
- "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n");
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 40u);
+ "X-Forwarded-For: 10.10.2.2, 10.10.10.1");
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 38u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->insert_posission,
MAX_BUFFER_SIZE + 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 28u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
cout << "[227]------------------------------------------" << endl;
// unit_test[227] 編集データリストが空でない場合
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data,
- "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n");
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 40u);
+ "X-Forwarded-For: 10.10.2.2, 10.10.10.1");
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 38u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->insert_posission,
MAX_BUFFER_SIZE + 2u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 28u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
cout << "[228]------------------------------------------" << endl;
// unit_test[228] 編集区分 = 編集なし
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, 50u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
delete[] recive_data_global.recive_buffer1;
delete[] recive_data_global.recive_buffer2;
BOOST_CHECK_EQUAL(event_status, FINALIZE);
cout << "[240]------------------------------------------" << endl;
- //unit_test[240] 送信状態->SEND_OK,送信可能データサイズ > 0/編集データリスト=0/送信可能データあり
+ //unit_test[240] 送信状態->SEND_OK,送信可能データサイズ > 0/送信可能データあり
//unit_test[240] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
sorr_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
- sorr_send_status.edit_data_list.clear();//編集データリスト=0
sorr_send_status.send_offset = 0u;
sorr_send_status.send_end_size = 1u;
sorr_send_status.status = SEND_OK; //送信状態->SEND_OK
BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
cout << "[241]------------------------------------------" << endl;
- //unit_test[241] 送信状態->SEND_OK,送信可能データサイズ > 0/編集データリスト=1/送信可能データあり
- //unit_test[241] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
- sorr_data.insert_posission = 1u;
- sorr_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
- sorr_send_status.edit_data_list.clear();
- sorr_send_status.edit_data_list.push_back(sorr_data);//編集データリスト=1
-
- sorr_send_status.send_offset = 0u;
- sorr_send_status.send_end_size = 1u;
- sorr_send_status.status = SEND_OK; //送信状態->SEND_OK
+ //unit_test[241] 送信状態->SEND_NG
+ //unit_test[241] test data: 遷移先ステータスを設定する
+ sorr_send_status.status = SEND_NG; //送信状態->SEND_NG
sorr_recive_data.send_status_list.clear();
sorr_recive_data.send_status_list.push_back(sorr_send_status);
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
- size_t posission = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.front().insert_posission;
- offset = thread_data.recive_data_map[endpoint].send_status_list.front().send_offset;
- end_size = thread_data.recive_data_map[endpoint].send_status_list.front().send_end_size;
- BOOST_CHECK_EQUAL(event_status, SORRYSERVER_CONNECT); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信状態に送信待を設定する
- BOOST_CHECK_EQUAL(posission,0u); //編集データ設定位置から送信済データサイズを減算する
- BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
- BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
+ BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[242]------------------------------------------" << endl;
- //unit_test[242] 送信状態->SEND_OK,送信可能データサイズ > 0/編集データリスト=2/送信可能データあり
- //unit_test[242] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
- sorr_data.insert_posission = 1u;
- sorr_data1.insert_posission = 2u;
- sorr_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
- //編集データリスト=2
- sorr_send_status.edit_data_list.clear();
- sorr_send_status.edit_data_list.push_back(sorr_data);
- sorr_send_status.edit_data_list.push_back(sorr_data1);
-
- sorr_send_status.send_offset = 0u;
- sorr_send_status.send_end_size = 1u;
- sorr_send_status.status = SEND_OK; //送信状態->SEND_OK
+ //unit_test[242] 送信状態->SEND_CONTINUE
+ //unit_test[242] test data: 遷移先ステータスを設定する
+ sorr_send_status.status = SEND_CONTINUE; //送信状態->SEND_CONTINUE
sorr_recive_data.send_status_list.clear();
sorr_recive_data.send_status_list.push_back(sorr_send_status);
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, protocol_module_sessionless::session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
- size_t posission1 = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.front().insert_posission;
- size_t posission2 = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.back().insert_posission;
- offset = thread_data.recive_data_map[endpoint].send_status_list.front().send_offset;
- end_size = thread_data.recive_data_map[endpoint].send_status_list.front().send_end_size;
- BOOST_CHECK_EQUAL(event_status, SORRYSERVER_CONNECT); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信状態に送信待を設定する
- BOOST_CHECK_EQUAL(posission1,0u); //編集データ設定位置から送信済データサイズを減算する
- BOOST_CHECK_EQUAL(posission2,1u);
- BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
- BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
+ BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[243]------------------------------------------" << endl;
//unit_test[243] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
cout << "[244]------------------------------------------" << endl;
- //unit_test[244] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
+ //unit_test[244] 送信状態->SNED_NG,SEND_OK,/送信データ残サイズ > 0
//unit_test[244] test data: 送信状態に送信待を設定
- sorr_send_status.send_possible_size = 0u;//送信可能データサイズ=0
+ sorr_send_status.status = SEND_NG;
sorr_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
- sorr_send_status.status = SEND_OK; //送信状態->SEND_OK
+ sorr_send_status1.status = SEND_OK;//送信状態->SEND_OK
sorr_recive_data.send_status_list.clear();
sorr_recive_data.send_status_list.push_back(sorr_send_status);
+ sorr_recive_data.send_status_list.push_back(sorr_send_status1);
thread_data.client_endpoint_tcp = endpoint;
thread_data.recive_data_map.clear();
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
- BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
+ BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[245]------------------------------------------" << endl;
//unit_test[245] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
cout << "[246]------------------------------------------" << endl;
- //unit_test[246] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ > 0
+ //unit_test[246] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0
//unit_test[246] test data: 遷移先ステータスを設定する
sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
sorr_send_status.status = SEND_OK;
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[247]------------------------------------------" << endl;
- //unit_test[247] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ = 0/送信可能データあり
+ //unit_test[247] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
//unit_test[247] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
sorr_send_status.status = SEND_OK;
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
cout << "[248]------------------------------------------" << endl;
- //unit_test[248] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ > 0
+ //unit_test[248] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ > 0
//unit_test[248] test data: 遷移先ステータスを設定する
sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
sorr_send_status.status = SEND_OK;
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[249]------------------------------------------" << endl;
- //unit_test[249] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ = 0/送信可能データあり
+ //unit_test[249] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
//unit_test[249] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
sorr_send_status.status = SEND_OK;
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
cout << "[250]------------------------------------------" << endl;
- //unit_test[250] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0/編集データリスト=0
+ //unit_test[250] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0
//unit_test[250] test data: 遷移先ステータスを設定する
sorr_send_status.status = SEND_END;
sorr_send_status1.send_possible_size = 1u;//送信可能データサイズ > 0
//unit_test[251] test data: 遷移先ステータスを設定する
sorr_send_status.status = SEND_END;
sorr_send_status1.send_rest_size = 1u;//送信データ残サイズ > 0
- sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
+ sorr_send_status1.send_possible_size = 0u;//送信可能データサイズ = 0
sorr_send_status1.status = SEND_OK;//送信状態->SEND_OK
sorr_recive_data.send_status_list.clear();
sorr_recive_data.send_status_list.push_back(sorr_send_status);
//handle_realserver_recv(tcp) 郎希倹
void handle_realserver_recv_tcp_test() {
boost::asio::ip::tcp::endpoint rs_endpoint;
- size_t response_len;
+ size_t response_len = USE_BUFFER_SIZE;;
EVENT_TAG ret;
boost::array<char, MAX_BUFFER_SIZE> response;
send_status send_status_temp;
this->session_thread_data_map.clear();
this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
- std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
- psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data& recive_data_global = it->second;
cout << "[257]------------------------------------------" << endl;
// unit_test[257] endpoint対応のrecive_dataなし
// responseを設定する
- recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
- delete[] recive_data_global.recive_buffer1;
- delete[] recive_data_global.recive_buffer2;
- recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer2 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
psession_thread_data->recive_data_map.clear();
psession_thread_data->recive_data_map[endpoint_not_used] = recive_data_tmp;
BOOST_CHECK_EQUAL(ret, FINALIZE);
psession_thread_data->recive_data_map.clear();
+
psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
- it = psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data_global = it->second;
+ std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
+ psession_thread_data->recive_data_map.find(endpoint_local);
+ recive_data& recive_data_global = it->second;
cout << "[258]------------------------------------------" << endl;
// unit_test[258] recive_data.recive_buffer=Null
memcpy(response.c_array(), "HTTP/1.1 200 OK\r\nContent-Length: 11\r\n\r\n01234567890", REQUEST_BUFFER_SIZE);
response_len = REQUEST_BUFFER_SIZE;
+ this->getloglevel = &stb_getloglevel_is_none;
new_install();
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
new_uninstall();
+ this->getloglevel = &stb_getloglevel;
BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[262]------------------------------------------" << endl;
}
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
- std::cout << "[" << 345 + i << "]------------------------------------------" << std::endl;
+ std::cout << "[" << 265 + i << "]------------------------------------------" << std::endl;
BOOST_CHECK_EQUAL(ret, FINALIZE);
}
BOOST_CHECK_EQUAL(ret, REALSERVER_RECV);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 112u);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, MAX_BUFFER_SIZE);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, MAX_BUFFER_SIZE - 112);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
//メモリの内容をチェックする
memcpy(recive_data_global.recive_buffer, "HTTP/1.1 200 OK\r\nCoo", 20);
//レスポンスデータ
- memcpy(response.c_array(), "kie: monkey=123456789012345678901234567890123456789012345678901234567890", 72);
- response_len = 72;
+ memcpy(response.c_array(), "kie: monkey=", 12);
+ memset(response.c_array(), 'x', MAX_BUFFER_SIZE - 12);
+ response_len = MAX_BUFFER_SIZE;
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
BOOST_CHECK_EQUAL(ret, REALSERVER_RECV);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 92u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, MAX_BUFFER_SIZE + 20);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
//メモリの内容をチェックする
cmp_ret = memcmp(recive_data_global.recive_buffer, "HTTP/1.1 200 OK\r\nCoo", 20);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(recive_data_global.recive_buffer + 20, response.c_array(), 72);
+ cmp_ret = memcmp(recive_data_global.recive_buffer + 20, response.c_array(), MAX_BUFFER_SIZE);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 92u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, MAX_BUFFER_SIZE + 20);
cout << "[303]------------------------------------------" << endl;
// unit_test[303] データバッファ残サイズ < レスポンスデータサイズ
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
- memcpy(response.c_array(), "HTTP/2.2 200 OK34567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
+ memcpy(response.c_array(), "HTTP/2.2 200 OK\r\n567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
response_len = REQUEST_BUFFER_SIZE;
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_RECV);
+ BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[328]------------------------------------------" << endl;
// unit_test[328] レスポンスデータ残サイズ > 0
//handle_sorryserver_recv 郎希倹
void handle_sorryserver_recv_test() {
boost::asio::ip::tcp::endpoint sorry_endpoint;
- size_t response_len;
+ size_t response_len = USE_BUFFER_SIZE;
EVENT_TAG ret;
boost::array<char, MAX_BUFFER_SIZE> response;
send_status send_status_temp;
this->session_thread_data_map.clear();
this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
- std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
- psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data& recive_data_global = it->second;
cout << "[343]------------------------------------------" << endl;
// unit_test[343] endpoint対応のrecive_dataなし
// responseを設定する
- recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
- delete[] recive_data_global.recive_buffer1;
- delete[] recive_data_global.recive_buffer2;
- recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer2 = new char[recive_data_global.recive_buffer_max_size];
- recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
psession_thread_data->recive_data_map.clear();
psession_thread_data->recive_data_map[endpoint_not_used] = recive_data_tmp;
psession_thread_data->recive_data_map.clear();
psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
- it = psession_thread_data->recive_data_map.find(endpoint_local);
- recive_data_global = it->second;
+ std::map<boost::asio::ip::tcp::endpoint, recive_data>::iterator it =
+ psession_thread_data->recive_data_map.find(endpoint_local);
+ recive_data& recive_data_global = it->second;
cout << "[344]------------------------------------------" << endl;
// unit_test[344] recive_data.recive_buffer=Null
memcpy(response.c_array(), "HTTP/1.1 200 OK\r\nContent-Length: 11\r\n\r\n01234567890", REQUEST_BUFFER_SIZE);
response_len = REQUEST_BUFFER_SIZE;
+ this->getloglevel = &stb_getloglevel_is_none;
new_install();
ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
new_uninstall();
+ this->getloglevel = &stb_getloglevel;
BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[348]------------------------------------------" << endl;
}
ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
- std::cout << "[" << 345 + i << "]------------------------------------------" << std::endl;
+ std::cout << "[" << 352 + i << "]------------------------------------------" << std::endl;
BOOST_CHECK_EQUAL(ret, FINALIZE);
}
BOOST_CHECK_EQUAL(ret, SORRYSERVER_RECV);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 112u);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, MAX_BUFFER_SIZE);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, MAX_BUFFER_SIZE - 112);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
//メモリの内容をチェックする
memcpy(recive_data_global.recive_buffer, "HTTP/1.1 200 OK\r\nCoo", 20);
//レスポンスデータ
- memcpy(response.c_array(), "kie: monkey=123456789012345678901234567890123456789012345678901234567890", 72);
- response_len = 72;
+ memcpy(response.c_array(), "kie: monkey=", 12);
+ memset(response.c_array(), 'x', MAX_BUFFER_SIZE - 12);
+ response_len = MAX_BUFFER_SIZE;
ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
BOOST_CHECK_EQUAL(ret, SORRYSERVER_RECV);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 92u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, MAX_BUFFER_SIZE + 20);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
//メモリの内容をチェックする
cmp_ret = memcmp(recive_data_global.recive_buffer, "HTTP/1.1 200 OK\r\nCoo", 20);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- cmp_ret = memcmp(recive_data_global.recive_buffer + 20, response.c_array(), 72);
+ cmp_ret = memcmp(recive_data_global.recive_buffer + 20, response.c_array(), MAX_BUFFER_SIZE);
BOOST_CHECK_EQUAL(cmp_ret, 0);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 92u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, MAX_BUFFER_SIZE + 20);
cout << "[389]------------------------------------------" << endl;
// unit_test[389] データバッファ残サイズ < レスポンスデータサイズ
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
- memcpy(response.c_array(), "HTTP/2.2 200 OK34567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
+ memcpy(response.c_array(), "HTTP/2.2 200 OK\r\n567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
response_len = REQUEST_BUFFER_SIZE;
ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, SORRYSERVER_RECV);
+ BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[414]------------------------------------------" << endl;
// unit_test[414] レスポンスデータ残サイズ > 0
void handle_response_send_inform_test(){
cout << "[426]------------------------------------------" << endl;
- //unit_test[426] handle_response_send_inform return STOP
+ //unit_test[426] handle_response_send_inform 戻り値が「STOP」に設定する。
EVENT_TAG ret = this->handle_response_send_inform(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(ret, STOP);
}
cout << "[427]------------------------------------------" << endl;
//unit_test[427] 異常系 session_thread_data_map中にThreadID対応のデータがない
this->session_thread_data_map.clear();
- this->session_thread_data_map[boost::this_thread::get_id()] = 0;
+ this->session_thread_data_map[boost::this_thread::get_id()] = NULL;
boost::array<char, MAX_BUFFER_SIZE> sbf_err1;
std::size_t d_err1;
ret = this->handle_client_connection_check(boost::this_thread::get_id(), sbf_err1, d_err1);
void handle_client_select_test(){
cout << "[432]------------------------------------------" << endl;
- //unit_test[432] handle_client_select return STOP
+ //unit_test[432] handle_client_select 戻り値が「STOP」に設定する。
boost::asio::ip::udp::endpoint ep;
boost::array<char, MAX_BUFFER_SIZE> sbf;
std::size_t d;
BOOST_CHECK_EQUAL(event_status, FINALIZE);
cout << "[437]------------------------------------------" << endl;
- //unit_test[437] 送信状態->SEND_OK/送信可能データサイズ > 0/編集データリスト=0/送信可能データあり
+ //unit_test[437] 送信状態->SEND_OK/送信可能データサイズ > 0/送信可能データあり
//unit_test[437] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
client_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
client_send_status.edit_data_list.clear();//編集データリスト=0
BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
cout << "[438]------------------------------------------" << endl;
- //unit_test[438] 送信状態->SEND_OK/送信可能データサイズ > 0/編集データリスト=1/送信可能データあり
- //unit_test[438] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
- client_data.insert_posission = 1u;
- client_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
- client_send_status.edit_data_list.push_back(client_data);//編集データリスト=1
-
- client_send_status.send_offset = 0u;
- client_send_status.send_end_size = 1u;
- client_send_status.status = SEND_OK; //送信状態->SEND_OK
+ //unit_test[438] 送信状態->SEND_NG
+ //unit_test[438] test data:遷移先ステータスを設定する
+ client_send_status.status = SEND_NG; //送信状態->SEND_NG
client_recive_data.send_status_list.clear();
client_recive_data.send_status_list.push_back(client_send_status);
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_client_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
- size_t posission = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.front().insert_posission;
- offset = thread_data.recive_data_map[endpoint].send_status_list.front().send_offset;
- end_size = thread_data.recive_data_map[endpoint].send_status_list.front().send_end_size;
- BOOST_CHECK_EQUAL(event_status, CLIENT_CONNECTION_CHECK); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信状態に送信待を設定する
- BOOST_CHECK_EQUAL(posission,0u); //編集データ設定位置から送信済データサイズを減算する
- BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
- BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
+ BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[439]------------------------------------------" << endl;
- //unit_test[439] 送信状態->SEND_OK/送信可能データサイズ > 0/編集データリスト=2/送信可能データあり
- //unit_test[439] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
- client_data.insert_posission = 1u;
- client_data1.insert_posission = 2u;
- client_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
- //編集データリスト=2
- client_send_status.edit_data_list.clear();
- client_send_status.edit_data_list.push_back(client_data);
- client_send_status.edit_data_list.push_back(client_data1);
-
- client_send_status.send_offset = 0u;
- client_send_status.send_end_size = 1u;
- client_send_status.status = SEND_OK; //送信状態->SEND_OK
+ //unit_test[439] 送信状態->SEND_CONTINUE
+ //unit_test[439] test data:遷移先ステータスを設定する
+ client_send_status.status = SEND_CONTINUE; //送信状態->SEND_CONTINUE
client_recive_data.send_status_list.clear();
client_recive_data.send_status_list.push_back(client_send_status);
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_client_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
- size_t posission1 = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.front().insert_posission;
- size_t posission2 = thread_data.recive_data_map[endpoint].send_status_list.front().edit_data_list.back().insert_posission;
- offset = thread_data.recive_data_map[endpoint].send_status_list.front().send_offset;
- end_size = thread_data.recive_data_map[endpoint].send_status_list.front().send_end_size;
- BOOST_CHECK_EQUAL(event_status, CLIENT_CONNECTION_CHECK); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信状態に送信待を設定する
- BOOST_CHECK_EQUAL(posission1,0u); //編集データ設定位置から送信済データサイズを減算する
- BOOST_CHECK_EQUAL(posission2,1u);
- BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
- BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
+ BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[440]------------------------------------------" << endl;
//unit_test[440] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
cout << "[446]------------------------------------------" << endl;
- //unit_test[446] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ > 0
+ //unit_test[446] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0
//unit_test[446] test data: 遷移先ステータスを設定する
client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
client_send_status.status = SEND_OK;//送信状態->SEND_OK
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[447]------------------------------------------" << endl;
- //unit_test[447] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ = 0/送信可能データあり
+ //unit_test[447] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
//unit_test[447] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
client_send_status.status = SEND_OK;//送信状態->SEND_OK
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
cout << "[448]------------------------------------------" << endl;
- //unit_test[448] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/編集データリスト=0
+ //unit_test[448] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0
//unit_test[448] test data: 遷移先ステータスを設定する
client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
client_send_status.status = SEND_OK;//送信状態->SEND_OK
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[449]------------------------------------------" << endl;
- //unit_test[449] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ = 0/送信可能データなし/終了フラグがONの場合
+ //unit_test[449] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがONの場合
//unit_test[449] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
client_send_status.status = SEND_OK;//送信状態->SEND_OK
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
cout << "[450]------------------------------------------" << endl;
- //unit_test[450] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0/編集データリスト=0
+ //unit_test[450] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0
//unit_test[450] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
client_send_status.status = SEND_END;//送信状態->SEND_END
client_send_status1.send_possible_size = 1u;
BOOST_CHECK_EQUAL(send_status, SEND_OK);
cout << "[451]------------------------------------------" << endl;
- //unit_test[451] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
+ //unit_test[451] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
//unit_test[451] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
client_send_status.status = SEND_END;//送信状態->SEND_END
client_send_status1.send_rest_size = 1u; //送信データ残サイズ > 0
this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
cout << "[471]------------------------------------------" << endl;
- // unit_test[471] 送信可能データあり status = CLIENT_CONNECTION_CHECK
+ // unit_test[471] status = CLIENT_CONNECTION_CHECK
// unit_test[471] test data:送信不可データなし かつ 送信データ残サイズ > 0が存在しない場合,送信可能データあり list 3件
init_send_status(sendstatus);
init_recive_data(receivedata);
this->session_thread_data_map[thread_down.get_id()]->recive_data_map.clear();
cout << "[475]------------------------------------------" << endl;
- // unit_test[475] 上りスレッドと下りスレッドの場合
+ // unit_test[475] 上りスレッドの戻り値が「ACCEPT」を設定する、下りスレッドの戻り値が「CLIENT_CONNECTION_CHECK」を設定する
+ // unit_test[475] test data:上りスレッドと下りスレッドの場合
init_send_status(sendstatus);
init_recive_data(receivedata);
session_thread_data_sessionless thread_data_up;
this->session_thread_data_map[thread_down.get_id()]->recive_data_map.clear();
cout << "[494]------------------------------------------" << endl;
- // unit_test[494] 上りスレッドと下りスレッドの場合
+ // unit_test[494] 上りスレッドの戻り値が「ACCEPT」を設定する、下りスレッドの戻り値が「CLIENT_CONNECTION_CHECK」を設定する
+ // unit_test[494] test data:上りスレッドと下りスレッドの場合
init_send_status(sendstatus);
init_recive_data(receivedata);
session_thread_data_sessionless thread_data_up;
EVENT_TAG ret;
cout << "[495]------------------------------------------" << endl;
//unit_test[495] 異常系 上りスレッドsession_thread_data_map中にThreadID対応のデータがない
- this->session_thread_data_map[boost::this_thread::get_id()] = 0;
+ this->session_thread_data_map[boost::this_thread::get_id()] = NULL;
boost::asio::ip::tcp::endpoint ep_err;
ret = this->handle_realserver_disconnect(boost::this_thread::get_id(), ep_err);
//遷移先ステータスを設定する status = FINALIZE
EVENT_TAG ret;
cout << "[506]------------------------------------------" << endl;
//unit_test[506] 異常系 上りスレッドsession_thread_data_map中にThreadID対応のデータなし
- this->session_thread_data_map[boost::this_thread::get_id()] = 0;
+ this->session_thread_data_map[boost::this_thread::get_id()] = NULL;
boost::asio::ip::tcp::endpoint ep_err;
ret = this->handle_sorryserver_disconnect(boost::this_thread::get_id(), ep_err);
//遷移先ステータスを設定する status = FINALIZE
cout << "[508]------------------------------------------" << endl;
//unit_test[508] 異常系 下りスレッドsession_thread_data_map中にThreadID対応のデータなし
boost::thread t_err(down_thread_func);
- this->session_thread_data_map[t_err.get_id()] = 0;
+ this->session_thread_data_map[t_err.get_id()] = NULL;
ret = this->handle_sorryserver_disconnect(t_err.get_id(), ep_err);
//遷移先ステータスを設定する status = FINALIZE
BOOST_CHECK_EQUAL(ret, FINALIZE);
session_thread_data_sessionless data4;
this->session_thread_data_map[boost::this_thread::get_id()] = &data4;
//make 上りスレッドの場合 0->上りスレッド
- data4.thread_division = 0;
+ data4.thread_division = THREAD_DIVISION_UP_STREAM;
//make 終了フラグがOFFの場合 0->off
data4.end_flag = 0;
//make realserver切替中でない場合 0->切替中でない
//handle_realserver_close 馮家純
void handle_realserver_close_test(){
cout << "[518]------------------------------------------" << endl;
- //unit_test[518] handle_realserver_close return STOP
+ //unit_test[518] handle_realserver_close 戻り値が「STOP」に設定する。
boost::asio::ip::udp::endpoint ep;
EVENT_TAG ret = this->handle_realserver_close(boost::this_thread::get_id(), ep);
BOOST_CHECK_EQUAL(ret, STOP);
~sslid_replication_data_processor_stub(){}
- sslid_replication_data* get_replication_area()
+ sslid_replication_data*& get_replication_area()
{
return replication_area;
}
//protocol_module_sslid
void protocol_module_sslid_test() {
- //unit_test[1] module name =="sslid"
+ cout << "[1]------------------------------------------" << endl;
+ //unit_test[1] モジュール名が"sslid"に設定する。
protocol_module_sslid obj;
BOOST_CHECK_EQUAL(obj.get_name(), "sslid");
- //unit_test[2] new
+ cout << "[2]------------------------------------------" << endl;
+ //unit_test[2] sslidのインスタンスを生成する。
protocol_module_sslid* p = new protocol_module_sslid();
BOOST_CHECK_EQUAL(p->get_name(), "sslid");
delete p;
//is_tcp
void is_tcp_test(){
+ cout << "[3]------------------------------------------" << endl;
//unit_test[3] is_tcp()メソッドのテスト,正常系で必ずTRUEを返す
BOOST_CHECK(this->is_tcp());
}
//is_udp
void is_udp_test(){
+ cout << "[4]------------------------------------------" << endl;
//unit_test[4] is_udp()メソッドのテスト,正常系で必ずFALSEを返す
BOOST_CHECK(!this->is_udp());
}
//get_name
void get_name_test(){
+ cout << "[5]------------------------------------------" << endl;
//unit_test[5] get_name()メソッドのテスト,正常系で必ず"sslid"を返す
BOOST_CHECK_EQUAL(this->get_name(), "sslid");
}
boost::function<void(void)> inlist_lock = rslist_lock;
boost::function<void(void)> inlist_unlock = rslist_unlock;
- // unit_test[6] initialize test
+ cout << "[6]------------------------------------------" << endl;
+ // unit_test[6] initialize 初期値がある場合
this->initialize(inrslist_begin, inrslist_end, inrslist_next,
inlist_lock, inlist_unlock);
BOOST_CHECK_EQUAL(this->rs_list_begin, rslist_begin);
this->rs_list_unlock();
BOOST_CHECK(function_check_flag);
- // unit_test[7] pass null to initialize
+ cout << "[7]------------------------------------------" << endl;
+ // unit_test[7] initialize 初期値が空の場合
this->initialize(NULL, NULL, NULL, NULL, NULL);
BOOST_CHECK(!this->rs_list_begin);
BOOST_CHECK(!this->rs_list_end);
logger_func_type inputLogInfo = stb_putLogInfo;
logger_func_type inputLogDebug = stb_putLogDebug;
- // unit_test[8] normal
+ cout << "[8]------------------------------------------" << endl;
+ // unit_test[8] 初期値がある場合
this->initialize(inrslist_begin, inrslist_end, inrslist_next,
inlist_lock, inlist_unlock);
this->finalize();
BOOST_CHECK(this->session_data_processor == NULL);
BOOST_CHECK(this->replication_data_processor == NULL);
- // unit_test[9] unnormal
+ cout << "[9]------------------------------------------" << endl;
+ // unit_test[9] 初期値が空の場合
this->getloglevel = stb_getloglevel;
this->putLogFatal = stb_putLogFatal;
this->putLogError = stb_putLogError;
//is_use_sorry
void is_use_sorry_test(){
+ cout << "[10]------------------------------------------" << endl;
//unit_test[10] is_use_sorry()メソッドのテスト,正常系で必ずFALSEを返す
BOOST_CHECK(!this->is_use_sorry());
}
void check_parameter_test(){
std::vector<std::string> args;
+ cout << "[11]------------------------------------------" << endl;
//unit_test[11] オプション文字列が存在しない場合, チェック結果フラグにTRUEを設定する
protocol_module_base::check_message_result check_message;
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[12]------------------------------------------" << endl;
//unit_test[12] オプション文字列 = "-T", timeout設定フラグ = OFFの場合,チェック結果フラグにTRUEを設定する
args.push_back("-T");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
- //unit_test[13] オプション文字列 = "--T", timeout設定フラグ = OFFの場合,チェック結果フラグにFALSEを設定する
+ cout << "[13]------------------------------------------" << endl;
+ //unit_test[13] オプション文字列 = "--T", timeout設定フラグ = OFFの場合,チェック結果フラグにFALSEを設定する、チェック結果メッセージに"Option error."を設定する
args.clear();
args.push_back("--T");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,false);
+ BOOST_CHECK_EQUAL(check_message.message,"Option error.");
+ cout << "[14]------------------------------------------" << endl;
//unit_test[14] オプション文字列 = "-T -T", timeout設定フラグ = OFFの場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-T");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[15]------------------------------------------" << endl;
//unit_test[15] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2ewqt' is not numeric character."を設定する
//unit_test[15] data test:オプション文字列 = "-T 2ewqt" timeout設定フラグ = OFFの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-T/--timeout' option value '2ewqt' is not numeric character.");
+ cout << "[16]------------------------------------------" << endl;
//unit_test[16] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '$@#' is not numeric character."を設定する
//unit_test[16] data test:オプション文字列 = "-T $@#" timeout設定フラグ = OFFの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-T/--timeout' option value '$@#' is not numeric character.");
+ cout << "[17]------------------------------------------" << endl;
//unit_test[17] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2148583647' is too large."を設定する
//unit_test[17] test data:オプション文字列 = "-T 2148583647" timeout設定フラグ = OFF の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-T/--timeout' option value '2148583647' is too large.");
+ cout << "[18]------------------------------------------" << endl;
//unit_test[18] チェック結果フラグにTRUEを設定する
//unit_test[18] test data:オプション文字列 = "-T 2000" timeout設定フラグ = OFF の場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[19]------------------------------------------" << endl;
//unit_test[19] チェック結果フラグにTRUEを設定する
//unit_test[19] test data:オプション文字列 = "-T 2147483647" timeout設定フラグ = OFF の場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[20]------------------------------------------" << endl;
//unit_test[20] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する
//unit_test[20] test data:オプション文字列 = "-T 2000 -T" timeout設定フラグ = ON の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-T/--timeout'.",check_message.message);
+ cout << "[21]------------------------------------------" << endl;
//unit_test[21] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する
//unit_test[21] test data:オプション文字列 = "-T 2000 -T 2000" timeout設定フラグ = ON の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-T/--timeout'.",check_message.message);
+ cout << "[22]------------------------------------------" << endl;
//unit_test[22] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する
//unit_test[22] test data:オプション文字列 = "-T -T 20 -T" timeout設定フラグ = ON の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-T/--timeout'.",check_message.message);
+ cout << "[23]------------------------------------------" << endl;
//unit_test[23] オプション文字列 = "--timeout" timeout設定フラグ = OFF 次要素が存在しない場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("--timeout");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[24]------------------------------------------" << endl;
//unit_test[24] オプション文字列 = "--timeout --timeout" の場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("--timeout");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[25]------------------------------------------" << endl;
//unit_test[25] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2ewqt' is not numeric character."を設定する
//unit_test[25] test data:オプション文字列 = "--timeout 2ewqt" timeout設定フラグ = OFF の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-T/--timeout' option value '2ewqt' is not numeric character.");
+ cout << "[26]------------------------------------------" << endl;
//unit_test[26] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2148583647' is too large."を設定する
//unit_test[26] test data:オプション文字列 = "--timeout 2148583647" timeout設定フラグ = OFF の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-T/--timeout' option value '2148583647' is too large.");
+ cout << "[27]------------------------------------------" << endl;
//unit_test[27] チェック結果フラグにTRUEを設定する
//unit_test[27] test data:オプション文字列 = "--timeout 2000" timeout設定フラグ = OFF の場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[28]------------------------------------------" << endl;
//unit_test[28] チェック結果フラグにTRUEを設定する
//unit_test[28] test data:オプション文字列 = "--timeout 2147483647" timeout設定フラグ = OFFの場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[29]------------------------------------------" << endl;
//unit_test[29] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する
//unit_test[29] test data:オプション文字列 = "--timeout 2000 --timeout" timeout設定フラグ = ONの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-T/--timeout'.",check_message.message);
+ cout << "[30]------------------------------------------" << endl;
//unit_test[30] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する
//unit_test[30] test data:オプション文字列 = "--timeout 2000 --timeout 2000" timeout設定フラグ = ONの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-T/--timeout'.",check_message.message);
+ cout << "[31]------------------------------------------" << endl;
//unit_test[31] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する
//unit_test[31] test data:オプション文字列 = "--timeout --timeout 2000 --timeout" timeout設定フラグ = ONの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-T/--timeout'.",check_message.message);
+ cout << "[32]------------------------------------------" << endl;
//unit_test[32] オプション文字列 = "-M" maxlist設定フラグ = OFFの場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-M");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(true,check_message.flag);
+ cout << "[33]------------------------------------------" << endl;
//unit_test[33] オプション文字列 = "-M -M" maxlist設定フラグ = OFFの場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-M");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[34]------------------------------------------" << endl;
//unit_test[34] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist' option value '1st' is not numeric character."を設定する
//unit_test[34] test data:オプション文字列 = "-M 1st" maxlist設定フラグ = OFFの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-M/--maxlist' option value '1st' is not numeric character.");
+ cout << "[35]------------------------------------------" << endl;
//unit_test[35] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist' option value '2148583647' is too large."を設定する
//unit_test[35] test data:オプション文字列 = "-M 2148583647" maxlist設定フラグ = OFFの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-M/--maxlist' option value '2148583647' is too large.");
+ cout << "[36]------------------------------------------" << endl;
//unit_test[36] チェック結果フラグにTRUEを設定する
//unit_test[36] test data:オプション文字列 = "-M 100" maxlist設定フラグ = OFFの場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[37]------------------------------------------" << endl;
//unit_test[37] チェック結果フラグにTRUEを設定する
//unit_test[37] test data:オプション文字列 = "-M 2147483647" maxlist設定フラグ = OFFの場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[38]------------------------------------------" << endl;
//unit_test[38] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する
//unit_test[38] test data:オプション文字列 = "-M 100 -M"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-M/--maxlist'.",check_message.message);
+ cout << "[39]------------------------------------------" << endl;
//unit_test[39] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する
//unit_test[39] test data:オプション文字列 = "-M 100 -M 100"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-M/--maxlist'.",check_message.message);
+ cout << "[40]------------------------------------------" << endl;
//unit_test[40] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する
//unit_test[40] test data:オプション文字列 = "-M -M 20 -M"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-M/--maxlist'.",check_message.message);
+ cout << "[41]------------------------------------------" << endl;
//unit_test[41] チェック結果フラグにTRUEを設定する
//unit_test[41] test data:オプション文字列 = "--maxlist" maxlist設定フラグ = OFFの場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
- //unit_test[42] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist option' value 1st is not numeric character."を設定する
+ cout << "[42]------------------------------------------" << endl;
+ //unit_test[42] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist option' value '1st' is not numeric character."を設定する
//unit_test[42] test data:オプション文字列 = "--maxlist 1st" maxlist設定フラグ = OFFの場合
args.clear();
args.push_back("--maxlist");
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-M/--maxlist' option value '1st' is not numeric character.");
- //unit_test[43] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist option' value 2148583647 is too large."を設定する
+ cout << "[43]------------------------------------------" << endl;
+ //unit_test[43] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist option' value '2148583647' is too large."を設定する
//unit_test[43] test data:オプション文字列 = "--maxlist 2148583647" maxlist設定フラグ = OFFの場合
args.clear();
args.push_back("--maxlist");
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL(check_message.message,"'-M/--maxlist' option value '2148583647' is too large.");
+ cout << "[44]------------------------------------------" << endl;
//unit_test[44] チェック結果フラグにTRUEを設定する
//unit_test[44] test data:オプション文字列 = "--maxlist 100" maxlist設定フラグ = OFFの場合
args.clear();
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[45]------------------------------------------" << endl;
//unit_test[45] チェック結果フラグにTRUEを設定する
//unit_test[45] test data:オプション文字列 = "--maxlist 2147483647" maxlist設定フラグ = OFFの場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[46]------------------------------------------" << endl;
//unit_test[46] チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する
//unit_test[46] test data:オプション文字列 = "--maxlist 100 --maxlist"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-M/--maxlist'.",check_message.message);
+ cout << "[47]------------------------------------------" << endl;
//unit_test[47] チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する
//unit_test[47] test data:オプション文字列 = "--maxlist 100 --maxlist"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-M/--maxlist'.",check_message.message);
+ cout << "[48]------------------------------------------" << endl;
//unit_test[48] チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する
//unit_test[48] test data:オプション文字列 = "--maxlist --maxlist 100 --maxlist"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("Cannot set multiple option '-M/--maxlist'.",check_message.message);
+ cout << "[49]------------------------------------------" << endl;
//unit_test[49] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to choose either of reschedule or no_rescheduleを設定する
//unit_test[49] test data:オプション文字列 ="-N -R"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
+ cout << "[50]------------------------------------------" << endl;
//unit_test[50] オプション文字列 ="-N",reschedule設定フラグ = ON,チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to choose either of reschedule or no_rescheduleを設定する
//unit_test[50] test data:オプション文字列 ="-R -N"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
- //unit_test[51] オプション文字列 ="-T -M -R -N"の場合,チェック結果フラグにFALSEを設定する
+ cout << "[51]------------------------------------------" << endl;
+ //unit_test[51] オプション文字列 ="-T -M -R -N"の場合,チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to choose either of reschedule or no_rescheduleを設定する
args.clear();
args.push_back("-T");
args.push_back("-M");
args.push_back("-N");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,false);
+ BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
- //unit_test[52] オプション文字列 ="-M -T -N -R"の場合,チェック結果フラグにFALSEを設定する
+ cout << "[52]------------------------------------------" << endl;
+ //unit_test[52] オプション文字列 ="-M -T -N -R"の場合,チェック結果フラグにFALSEを設定する、チェック結果メッセージに"You have to choose either of reschedule or no_rescheduleを設定する
args.clear();
args.push_back("-M");
args.push_back("-T");
args.push_back("-R");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,false);
+ BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
+ cout << "[53]------------------------------------------" << endl;
//unit_test[53] オプション文字列 ="-T 2000 -M 100 -R"の場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-T");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[54]------------------------------------------" << endl;
//unit_test[54] オプション文字列 ="--timeout 2000 -M 100 -R"の場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("--timeout");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[55]------------------------------------------" << endl;
//unit_test[55] オプション文字列 ="-T 2000 --maxlist 100 -R"の場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("-T");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[56]------------------------------------------" << endl;
//unit_test[56] オプション文字列 ="--timeout 2000 --maxlist 100 -R"の場合,チェック結果フラグにTRUEを設定する
args.clear();
args.push_back("--timeout");
check_message=this->check_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[57]------------------------------------------" << endl;
//unit_test[57] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to choose either of reschedule or no_rescheduleを設定する
//unit_test[57] test data:オプション文字列 ="-T 2000 --maxlist 100 -R -N"の場合
args.clear();
BOOST_CHECK_EQUAL(check_message.flag,false);
BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
+ cout << "[58]------------------------------------------" << endl;
//unit_test[58] オプション文字列 = 上記以外の場合,チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Option error"を設定する
args.clear();
args.push_back("-A");
//set_parameter
void set_parameter_test(){
+ cout << "[59]------------------------------------------" << endl;
//unit_test[59] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[59] test data:オプション文字列が存在しない,timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
protocol_module_base::check_message_result check_message;
this->maxlist=111;
this->reschedule=111;
+ cout << "[60]------------------------------------------" << endl;
//unit_test[60] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[60] test data:オプション文字列 = "-T",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
- //unit_test[61] チェック結果フラグにFALSEを設定する,sessionデータをreplication_areaから回復する
+ cout << "[61]------------------------------------------" << endl;
+ //unit_test[61] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Option error"を設定する,sessionデータをreplication_areaから回復する
//unit_test[61] test data:オプション文字列 = "--T",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
args.push_back("--T");
check_message=this->set_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,false);
+ BOOST_CHECK_EQUAL("Option error.",check_message.message);
BOOST_CHECK(this->session_data_processor!=NULL);
BOOST_CHECK(this->replication_data_processor!=NULL);
this->timeout=111;
this->maxlist=111;
this->reschedule=111;
+ cout << "[62]------------------------------------------" << endl;
//unit_test[62] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[62] test data:オプション文字列 = "-T -T",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[63]------------------------------------------" << endl;
//unit_test[63] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2ewqt' is not numeric character."を設定する,sessionデータをreplication_areaから回復する
//unit_test[63] test data:オプション文字列 = "-T 2ewqt",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[64]------------------------------------------" << endl;
//unit_test[64] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout option' value '$@#' is not numeric character."を設定する,sessionデータをreplication_areaから回復する
//unit_test[64] test data:オプション文字列 = "-T $@#",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[65]------------------------------------------" << endl;
//unit_test[65] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2148583647' is too large."を設定する,sessionデータをreplication_areaから回復する
//unit_test[65] test data:オプション文字列 = "-T 2148583647"の場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[66]------------------------------------------" << endl;
//unit_test[66] チェック結果フラグにTRUEを設定する,timeoutに2000を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[66] test data:オプション文字列 = "-T 2000",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[67]------------------------------------------" << endl;
//unit_test[67] チェック結果フラグにTRUEを設定する,timeoutに2147483647を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[67] test data:オプション文字列 = "-T 2147483647",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[68]------------------------------------------" << endl;
//unit_test[68] チェック結果フラグにTRUEを設定する,timeoutに2147483647を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[68] test data:オプション文字列 = "-T -T 2147483647",timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[69]------------------------------------------" << endl;
//unit_test[69] チェック結果フラグにFALSEを設定する,timeoutに2147483647を設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[69] test data:オプション文字列 = "-T 2147483647 -T",timeout設定フラグ = ON,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[70]------------------------------------------" << endl;
//unit_test[70] チェック結果フラグにFALSEを設定する,timeoutに2147483647を設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[70] test data:オプション文字列 = "-T 2147483647 -T 2147483647",timeout設定フラグ = ON,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[71]------------------------------------------" << endl;
//unit_test[71] チェック結果フラグにFALSEを設定する,timeoutに2147483647を設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[71] test data:オプション文字列 = "-T -T 2147483647 -T" timeout設定フラグ = ON,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[72]------------------------------------------" << endl;
//unit_test[72] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[72] test data:オプション文字列 = "--timeout" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF の場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[73]------------------------------------------" << endl;
//unit_test[73] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[73] test data:オプション文字列 = "--timeout --timeout" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[74]------------------------------------------" << endl;
//unit_test[74] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2ewqt' is not numeric character."を設定する,sessionデータをreplication_areaから回復する
//unit_test[74] test data:オプション文字列 = "--timeout 2ewqt" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[75]------------------------------------------" << endl;
//unit_test[75] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-T/--timeout' option value '2148583647' is too large."を設定する,sessionデータをreplication_areaから回復する
//unit_test[75] test data:オプション文字列 = "--timeout 2148583647" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[76]------------------------------------------" << endl;
//unit_test[76] チェック結果フラグにTRUEを設定する,timeoutに2000を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[76] test data:オプション文字列 = "--timeout 2000" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[77]------------------------------------------" << endl;
//unit_test[77] チェック結果フラグにTRUEを設定する,timeoutに2147483647を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[77] test data:オプション文字列 = "--timeout" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[78]------------------------------------------" << endl;
//unit_test[78] チェック結果フラグにTRUEを設定する,timeoutに2147483647を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[78] test data:オプション文字列 = "--timeout --timeout 2147483647" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[79]------------------------------------------" << endl;
//unit_test[79] チェック結果フラグにFALSEを設定する,timeoutに2147483647を設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[79] test data:オプション文字列 = "--timeout 2147483647 --timeout" timeout設定フラグ = ON,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[80]------------------------------------------" << endl;
//unit_test[80] チェック結果フラグにFALSEを設定する,timeoutに2147483647を設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[80] test data:オプション文字列 = "--timeout 2147483647 --timeout 2147483647" timeout設定フラグ = ON,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[81]------------------------------------------" << endl;
//unit_test[81] チェック結果フラグにFALSEを設定する,timeoutに2147483647を設定する,チェック結果メッセージに"Cannot set multiple option '-T/timeout'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[81] test data:オプション文字列 = "--timeout 2147483647 --timeout" timeout設定フラグ = ON,maxlist設定フラグ = OFF,reschedule設定フラグ = OFFの場合
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[82]------------------------------------------" << endl;
//unit_test[82] チェック結果フラグにTRUEを設定する,timeに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[82] test data:オプション文字列 = "-M" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[83]------------------------------------------" << endl;
//unit_test[83] チェック結果フラグにTRUEを設定する,timeに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[83] test data:オプション文字列 = "-M -M" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[84]------------------------------------------" << endl;
//unit_test[84] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist' option value '2ewqt' is not numeric character."を設定する,sessionデータをreplication_areaから回復する
//unit_test[84] test data:オプション文字列 = "-M 2ewqt" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[85]------------------------------------------" << endl;
//unit_test[85] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist' option value '2148583647' is too large."を設定する,sessionデータをreplication_areaから回復する
//unit_test[85] test data:オプション文字列 = "-M 2148583647" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[86]------------------------------------------" << endl;
//unit_test[86] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに100を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[86] test data:オプション文字列 = "-M 100" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschdule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[87]------------------------------------------" << endl;
//unit_test[87] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに100を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[87] test data:オプション文字列 = "-M -M 100" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschdule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[88]------------------------------------------" << endl;
//unit_test[88] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに2147483674を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[88] test data:オプション文字列 = "-M 1024" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[89]------------------------------------------" << endl;
//unit_test[89] チェック結果フラグにFALSEを設定する,maxlistに200を設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[89] test data:オプション文字列 = "-M 200 -M" maxlist設定フラグ = ON,timeout設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[90]------------------------------------------" << endl;
//unit_test[90] チェック結果フラグにFALSEを設定する,maxlistに200を設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[90] test data:オプション文字列 = "-M 200 -M 200" maxlist設定フラグ = ON,timeout設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[91]------------------------------------------" << endl;
//unit_test[91] チェック結果フラグにFALSEを設定する,maxlistに200を設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[91] test data:オプション文字列 = "-M -M 200 -M" maxlist設定フラグ = ON,timeout設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[92]------------------------------------------" << endl;
//unit_test[92] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[92] test data:オプション文字列 = "--maxlist" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[93]------------------------------------------" << endl;
//unit_test[93] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに1024を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[93] test data:オプション文字列 = "--maxlist --maxlist" timeout設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[94]------------------------------------------" << endl;
//unit_test[94] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist' option value '2ewqt' is not numeric character."を設定する,sessionデータをreplication_areaから回復する
//unit_test[94] test data:オプション文字列 = "--maxlist 2ewqt" maxlist設定フラグ = OFF,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[95]------------------------------------------" << endl;
//unit_test[95] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"'-M/--maxlist' option value '2148583647' is too large."を設定する,sessionデータをreplication_areaから回復する
//unit_test[95] test data:オプション文字列 = "--maxlist 2148583647" timeout設定フラグ = OFF ,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[96]------------------------------------------" << endl;
//unit_test[96] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに100を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[96] test data:オプション文字列 = "--maxlist 100" timeout設定フラグ = OFF ,maxlist設定フラグ = OFF,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[97]------------------------------------------" << endl;
//unit_test[97] チェック結果フラグにTRUEを設定する,timeoutに3600を設定する,maxlistに100を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[97] test data:オプション文字列 = "--maxlist --maxlist 100" timeout設定フラグ = OFF ,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[98]------------------------------------------" << endl;
//unit_test[98] チェック結果フラグにTRUEを設定する,maxlistにINT_MAXを設定する,timeoutに3600を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[98] test data:オプション文字列 = "--maxlist 1024" maxlist設定フラグ = OFF,timeout設定フラグ = OFF ,reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[99]------------------------------------------" << endl;
//unit_test[99] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[99] test data:オプション文字列 = "--maxlist 20 --maxlist"
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[100]------------------------------------------" << endl;
//unit_test[100] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[100] test data:オプション文字列 = "--maxlist 20 --maxlist 20"
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[101]------------------------------------------" << endl;
//unit_test[101] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot set multiple option '-M/maxlist'"を設定する,sessionデータをreplication_areaから回復する
//unit_test[101] test data:オプション文字列 = "--maxlist --maxlist 20 --maxlist"
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[102]------------------------------------------" << endl;
//unit_test[102] チェック結果フラグにTRUEを設定する,rescheduleに1を設定する,timeoutに3600を設定する,maxlistに1024を設定する,sessionデータをreplication_areaから回復する
//unit_test[102] test data:オプション文字列 = "-R" no_reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[103]------------------------------------------" << endl;
//unit_test[103] チェック結果フラグにFALSEを設定する,rescheduleに0を設定する,チェック結果メッセージに"You have to choose either of reschedule or no_reschedule"を設定する,sessionデータをreplication_areaから回復する
//unit_test[103] test data:オプション文字列 ="-N -R"
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[104]------------------------------------------" << endl;
//unit_test[104] チェック結果フラグにTRUEを設定する,rescheduleに0を設定する,timeoutに3600を設定する,maxlistに1024を設定する,sessionデータをreplication_areaから回復する
//unit_test[104] test data:オプション文字列 = "-N" reschedule設定フラグ = OFF
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[105]------------------------------------------" << endl;
//unit_test[105] チェック結果フラグにFALSEを設定する,rescheduleに1を設定する,チェック結果メッセージに"You have to choose either of reschedule or no_reschedule"を設定する,sessionデータをreplication_areaから回復する
//unit_test[105] test data:オプション文字列 = "-R -N"
args.clear();
this->maxlist=111;
this->reschedule=111;
- //unit_test[106] チェック結果フラグにFALSEを設定する,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
+ cout << "[106]------------------------------------------" << endl;
+ //unit_test[106] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to choose either of reschedule or no_reschedule"を設定する,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
//unit_test[106] test data:オプション文字列 = "-T -M -R -N"
args.clear();
args.push_back("-T");
args.push_back("-N");
check_message=this->set_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,false);
+ BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
BOOST_CHECK(this->session_data_processor!=NULL);
BOOST_CHECK(this->replication_data_processor!=NULL);
this->timeout=111;
this->maxlist=111;
this->reschedule=111;
- //unit_test[107] チェック結果フラグにFALSEを設定する,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
+ cout << "[107]------------------------------------------" << endl;
+ //unit_test[107] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to choose either of reschedule or no_reschedule"を設定する,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
//unit_test[107] test data:オプション文字列 = "-M -T -N -R"
args.clear();
args.push_back("-M");
args.push_back("-R");
check_message=this->set_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,false);
+ BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
BOOST_CHECK(this->session_data_processor!=NULL);
BOOST_CHECK(this->replication_data_processor!=NULL);
this->timeout=111;
this->maxlist=111;
this->reschedule=111;
+ cout << "[108]------------------------------------------" << endl;
//unit_test[108] チェック結果フラグにTRUEを設定する,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
//unit_test[108] test data:オプション文字列 = "-T 2000 -M 100 -R"
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[109]------------------------------------------" << endl;
//unit_test[109] チェック結果フラグにTRUEを設定する,reschedule設定フラグ = OFF,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
//unit_test[109] test data:オプション文字列 = "-T 2000 --maxlist 100 -R"
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[110]------------------------------------------" << endl;
//unit_test[110] チェック結果フラグにTRUEを設定する,reschedule設定フラグ = OFF,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
//unit_test[110] test data:オプション文字列 = "--timeout 2000 -M 100 -R"
args.clear();
this->maxlist=111;
this->reschedule=111;
+ cout << "[111]------------------------------------------" << endl;
//unit_test[111] チェック結果フラグにTRUEを設定する,reschedule設定フラグ = OFF,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに1を設定する,sessionデータをreplication_areaから回復する
//unit_test[111] test data:オプション文字列 = "--timeout 2000 --maxlist 100 -R"
args.clear();
this->maxlist=111;
this->reschedule=111;
- //unit_test[112] チェック結果フラグにFALSEを設定する,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
+ cout << "[112]------------------------------------------" << endl;
+ //unit_test[112] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"You have to choose either of reschedule or no_reschedule"を設定する,timeoutに2000を設定する,maxlistに100を設定する,rescheduleに0を設定する,sessionデータをreplication_areaから回復する
//unit_test[112] test data:オプション文字列 = "-T 2000 --maxlist 100 -R -N"
args.clear();
args.push_back("-T");
args.push_back("-N");
check_message=this->set_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,false);
+ BOOST_CHECK_EQUAL("You have to choose either of reschedule or no-reschedule.",check_message.message);
BOOST_CHECK_EQUAL(this->timeout,2000);
BOOST_CHECK_EQUAL(this->maxlist,100);
BOOST_CHECK(this->session_data_processor!=NULL);
this->maxlist=111;
this->reschedule=111;
+ cout << "[113]------------------------------------------" << endl;
//unit_test[113] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Option error"を設定する,sessionデータをreplication_areaから回復する
//unit_test[113] test data:オプション文字列 = 上記以外
args.clear();
this->timeout=111;
this->maxlist=111;
this->reschedule=111;
-
-
- //unit_test[109] sessionデータをreplication_areaから回復する
- //unit_test[109] test data:オプション文字列 = "-T",replication_area_lockにNULLを設定する,replication_area_unlockにNULLを設定する
-// this->init_replication_functions(replication_pay_memory,NULL,NULL,tcp_ep,udp_ep);
-// BOOST_CHECK(this->replication_data_processor->replication_area_lock==NULL);
-// BOOST_CHECK(this->replication_data_processor->replication_area_unlock==NULL);
-// BOOST_CHECK_EQUAL(this->session_data_processor->session_endpoint_map.empty(),false);
-// BOOST_CHECK_EQUAL(this->session_data_processor->session_lasttime_map.empty(),false);
-// BOOST_CHECK_EQUAL(this->session_data_processor->lasttime_session_map.empty(),false);
-
- //unit_test[110] オプション文字列 = "-T"の場合,sessionデータをreplication_areaから回復する
- //unit_test[110] test data:オプション文字列 = "-T"
-// this->init_replication_functions(replication_pay_memory,replication_area_lock,replication_area_unlock,tcp_ep,udp_ep);
-// void* data_addr=replication_pay_memory(moudle_name,&data_size);
-// this->replication_data_processor->replication_area_lock();
-// BOOST_CHECK_EQUAL(check_resule_lock,true);
-// this->replication_data_processor->replication_area_unlock();
-// BOOST_CHECK_EQUAL(check_resule_unlock,true);
-// BOOST_CHECK_EQUAL(this->session_data_processor->session_endpoint_map.empty(),false);
-// BOOST_CHECK_EQUAL(this->session_data_processor->session_lasttime_map.empty(),false);
-// BOOST_CHECK_EQUAL(this->session_data_processor->lasttime_session_map.empty(),false);
}
//add_parameter
void add_parameter_test(){
std::vector<std::string> args;
+ cout << "[114]------------------------------------------" << endl;
//unit_test[114] オプション文字列が存在ない場合,チェック結果フラグにTRUEを設定する
check_message_result check_message;
check_message=this->add_parameter(args);
BOOST_CHECK_EQUAL(check_message.flag,true);
+ cout << "[115]------------------------------------------" << endl;
//unit_test[115] チェック結果フラグにFALSEを設定する,チェック結果メッセージに"Cannot add option."を設定する
//unit_test[115] test data:オプション文字列が存在する場合
args.push_back("-T");
protocol_module_base::rs_list_itr_next_func_type rs_3;
boost::asio::ip::tcp::endpoint ep;
protocol_module_base::tcp_schedule_func_type tcp_schedule;
- //unit_test[116] schedule_tcpにNULLを設定する
- //unit_test[116] test data:NULL
+ cout << "[116]------------------------------------------" << endl;
+ //unit_test[116] parameterがNULLの場合,schedule_tcpにNULLを設定する
tcp_schedule=NULL;
this->register_schedule(tcp_schedule);
BOOST_CHECK(this->schedule_tcp==NULL);
- //unit_test[117] schedule_tcpにt_scheduleを設定する
- //unit_test[117] test data:NULL
+ cout << "[117]------------------------------------------" << endl;
+ //unit_test[117] parameterがtcp_scheduleの場合,schedule_tcpにt_scheduleを設定する
tcp_schedule=&t_schedule;
this->register_schedule(tcp_schedule);
this->schedule_tcp(boost::this_thread::get_id(),rs_1,rs_2,rs_3,ep);
boost::asio::ip::tcp::endpoint client_endpoint_tcp;
boost::asio::ip::udp::endpoint client_endpoint_udp;
- // unit_test[118] handle_session_initialize
+ cout << "[118]------------------------------------------" << endl;
+ // unit_test[118] パラメータが正常に入力去れた場合、戻り値にACCEPTを設定する。
EVENT_TAG status =
this->handle_session_initialize(boost::this_thread::get_id(),
down_thread.get_id(), client_endpoint_tcp,
boost::asio::ip::tcp::endpoint client_endpoint_tcp;
boost::asio::ip::udp::endpoint client_endpoint_udp;
- // unit_test[119] handle_session_finalize normal
+ cout << "[119]------------------------------------------" << endl;
+ // unit_test[119] パラメータが正常に入力された場合、戻り値にSTOPを設定する。
this->handle_session_initialize(boost::this_thread::get_id(),
down_thread.get_id(), client_endpoint_tcp, client_endpoint_udp);
status = this->handle_session_finalize(boost::this_thread::get_id(),
itr = this->session_thread_data_map.find(down_thread.get_id());
BOOST_CHECK(itr == this->session_thread_data_map.end());
- // unit_test[120] handle_session_finalize STOP
+ cout << "[120]------------------------------------------" << endl;
+ // unit_test[120] 初期化しなくて、直接該当関数を呼び出す場合、戻り値にSTOPを設定する。
this->session_thread_data_map[boost::this_thread::get_id()] = new session_thread_data_sslid;
this->session_thread_data_map[down_thread.get_id()] = new session_thread_data_sslid;
status = this->handle_session_finalize(boost::this_thread::get_id(),
BOOST_CHECK(itr == this->session_thread_data_map.end());
}
-//120end===========================================
//handle_accept
void handle_accept_test(){
+ cout << "[121]------------------------------------------" << endl;
//unit_test[121] handle_accpet()メソッドのテスト,正常系で必ずCLIENT_RECVを返す
boost::asio::ip::tcp::endpoint ep;
session_thread_data_sslid thread_up_data_value;
int mem_cmp_result;
int mem_cmp_length;
- // unit_test[122] end_flag = END_FLAG_ON
- // unit_test[122] test data:handle_client_recv() return CLIENT_RECV
+ cout << "[122]------------------------------------------" << endl;
+ // unit_test[122] 終了フラグがONの場合、戻り値にCLIENT_RECVを設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_ON;
this->session_thread_data_map[boost::this_thread::get_id()]
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[123] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size > 0,
- // unit_test[123] recvlen > 0,data_begain_offset = 0
- // unit_test[123] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset
+ cout << "[123]------------------------------------------" << endl;
+ // unit_test[123] 終了フラグがOFFで、且つ データサイズが0で、且つ 新SSLレコードでなくて、
+ // unit_test[123] 且つ受信データサイズ > 0、且つdata_begain_offset = 0の場合、戻り値をREALSERVER_SELECTに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[124] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size > 0, recvlen > 0,
- // unit_test[124] data_begain_offset > 0
- // unit_test[124] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset
+ cout << "[124]------------------------------------------" << endl;
+ // unit_test[124] 終了フラグがOFFで、且つ データサイズが0で、且つ 新SSLレコードでなくて、
+ // unit_test[124] 且つ受信データサイズ > 0、且つdata_begain_offset > 0の場合、戻り値をREALSERVER_SELECTに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[125] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0,
- // unit_test[125] data_begain_offset = 0,check_ssl_record_sendable() return -1 (異常)
- // unit_test[125] test data:handle_client_recv() return FINALIZE, data_size, data_begain_offset
+ cout << "[125]------------------------------------------" << endl;
+ // unit_test[125] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[125] 且つdata_begain_offset が 0で,且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合、戻り値をFINALIZEに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[126] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0,
- // unit_test[126] data_begain_offset > 0,check_ssl_record_sendable() return -1 (異常)
- // unit_test[126] test data:handle_client_recv() return FINALIZE, data_size, data_begain_offset
+ cout << "[126]------------------------------------------" << endl;
+ // unit_test[126] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[126] 且つdata_begain_offset > 0で,且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合、戻り値をFINALIZEに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[127] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0,
- // unit_test[127] data_begain_offset = 0,check_ssl_record_sendable() return 1 (送信不可)
- // unit_test[127] test data:handle_client_recv() return CLIENT_RECV, data_size, data_begain_offset
+ cout << "[127]------------------------------------------" << endl;
+ // unit_test[127] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[127] 且つdata_begain_offset = 0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合、戻り値をCLIENT_RECVに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[128] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0,
- // unit_test[128] data_begain_offset > 0,check_ssl_record_sendable() return 1 (送信不可)
- // unit_test[128] test data:handle_client_recv() return CLIENT_RECV, data_size, data_begain_offset
+ cout << "[128]------------------------------------------" << endl;
+ // unit_test[128] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[128] 且つdata_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合、戻り値をCLIENT_RECVに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[129] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0, data_begain_offset = 0,
- // unit_test[129] check_ssl_record_sendable() return 0 (送信可能),is hello message
- // unit_test[129] test data:hello_message_flag = true, handle_client_recv() return REALSERVER_SELECT,
- // unit_test[129] current_record_rest_size, data_size, data_begain_offset
+ cout << "[129]------------------------------------------" << endl;
+ // unit_test[129] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[129] 且つdata_begain_offset = 0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値をREALSERVER_SELECTに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[130] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0,data_begain_offset > 0
- // unit_test[130] check_ssl_record_sendable() return 0 (送信可能), is hello message
- // unit_test[130] test data:hello_message_flag = true, handle_client_recv() return REALSERVER_SELECT,
- // unit_test[130] current_record_rest_size, data_size, data_begain_offset
+ cout << "[130]------------------------------------------" << endl;
+ // unit_test[130] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[130] 且つ、data_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値にREALSERVER_SELECTを設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[130] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0, data_begain_offset = 0
- // unit_test[130] check_ssl_record_sendable() return 0 (送信可能), is not hello message
- // unit_test[130] test data:hello_message_flag = false, handle_client_recv() return REALSERVER_SELECT,
- // unit_test[130] current_record_rest_size, data_size, data_begain_offset
+ cout << "[131]------------------------------------------" << endl;
+ // unit_test[131] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[131] 且つ data_begain_offset = 0で、且つ且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値をREALSERVER_SELECTに設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[131] end_flag = END_FLAG_OFF, data_size = 0, current_record_rest_size = 0, data_begain_offset > 0
- // unit_test[131] check_ssl_record_sendable() return 0 (送信可能), is not hello message
- // unit_test[131] test data:hello_message_flag = false, handle_client_recv() return REALSERVER_SELECT,
- // unit_test[131] current_record_rest_size, data_size, data_begain_offset
+ cout << "[132]------------------------------------------" << endl;
+ // unit_test[132] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+ // unit_test[132] 且つdata_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値がREALSERVER_SELECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[132] end_flag = END_FLAG_OFF, data_size > 0, current_record_rest_size != 0,
- // unit_test[132] data_begain_offset != 0
- // unit_test[132] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset
+ cout << "[133]------------------------------------------" << endl;
+ // unit_test[133] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードでなくて、且つdata_begain_offset > 0の場合
+ // unit_test[133] 戻り値がREALSERVER_SELECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[133] end_flag = END_FLAG_OFF, data_size > 0, current_record_rest_size != 0, data_begain_offset = 0
- // unit_test[133] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset
+ cout << "[134]------------------------------------------" << endl;
+ // unit_test[134] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードでなくて、且つdata_begain_offset = 0の場合
+ // unit_test[134] 戻り値がREALSERVER_SELECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[134] end_flag = END_FLAG_OFF, data_size > 0,current_record_rest_size = 0,data_begain_offset != 0
- // unit_test[134] check_ssl_record_sendable() return -1 (異常)
- // unit_test[134] test data:handle_client_recv() return FINALIZE, data_size, data_begain_offset
+ cout << "[135]------------------------------------------" << endl;
+ // unit_test[135] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで,且つdata_begain_offset > 0
+ // unit_test[135] 且つcheck_ssl_record_sendable()の戻り値が-1(異常)の場合
+ // unit_test[135] 戻り値がFINALIZEで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[135] end_flag = END_FLAG_OFF, data_size > 0,current_record_rest_size = 0,data_begain_offset = 0
- // unit_test[135] check_ssl_record_sendable() return -1 (異常)
- // unit_test[135] test data:handle_client_recv() return FINALIZE, data_size, data_begain_offset
+ cout << "[136]------------------------------------------" << endl;
+ // unit_test[136] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+ // unit_test[136] 且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合
+ // unit_test[136] 戻り値がFINALIZEで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[136] end_flag = END_FLAG_OFF, data_size > 0,current_record_rest_size = 0,data_begain_offset != 0
- // unit_test[136] check_ssl_record_sendable() return 1 (送信不可)
- // unit_test[136] test data:handle_client_recv() return CLIENT_RECV, data_size, data_begain_offset
+ cout << "[137]------------------------------------------" << endl;
+ // unit_test[137] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset > 0
+ // unit_test[137] 且つcheck_ssl_record_sendable()の戻り値が1 (送信不可)の場合
+ // unit_test[137] 戻り値が CLIENT_RECVで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 1u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[137] end_flag = END_FLAG_OFF, data_size > 0,current_record_rest_size = 0,data_begain_offset = 0
- // unit_test[137] check_ssl_record_sendable() return 1 (送信不可)
- // unit_test[137] test data:handle_client_recv() return CLIENT_RECV, data_size, data_begain_offset
+ cout << "[138]------------------------------------------" << endl;
+ // unit_test[138] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+ // unit_test[138] 且つcheck_ssl_record_sendable()の戻り値が1 (送信不可)の場合
+ // unit_test[138] 戻り値が CLIENT_RECVで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 1u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[138] end_flag = END_FLAG_OFF, data_size > 0, current_record_rest_size = 0,data_begain_offset != 0
- // unit_test[138] check_ssl_record_sendable() return 0 (送信可能), is hello message
- // unit_test[138] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset,
- // unit_test[138] current_record_rest_size, hello_message_flag
+ cout << "[139]------------------------------------------" << endl;
+ // unit_test[139] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset > 0
+ // unit_test[139] 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+ // unit_test[139] 戻り値がREALSERVER_SELECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 3u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[139] end_flag = END_FLAG_OFF, data_size > 0, current_record_rest_size = 0,data_begain_offset = 0
- // unit_test[139] check_ssl_record_sendable() return 0 (送信可能), is hello message
- // unit_test[139] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset,
- // unit_test[139] current_record_rest_size, hello_message_flag
+ cout << "[140]------------------------------------------" << endl;
+ // unit_test[140] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+ // unit_test[140] 且つheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+ // unit_test[140] 戻り値がREALSERVER_SELECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 3u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[140] end_flag = END_FLAG_OFF,data_size>0,current_record_rest_size=0,data_begain_offset != 0
- // unit_test[140] check_ssl_record_sendable() return 0 (送信可能), is not hello message
- // unit_test[140] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset,
- // unit_test[140] current_record_rest_size, hello_message_flag
+ cout << "[141]------------------------------------------" << endl;
+ // unit_test[141] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset > 0
+ // unit_test[141] 且つheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+ // unit_test[141] 戻り値がREALSERVER_SELECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 3u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[141] end_flag = END_FLAG_OFF,data_size>0,current_record_rest_size=0,data_begain_offset = 0
- // unit_test[141] check_ssl_record_sendable() return 0 (送信可能), is not hello message
- // unit_test[141] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset,
- // unit_test[141] current_record_rest_size, hello_message_flag
+ cout << "[142]------------------------------------------" << endl;
+ // unit_test[142] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+ // unit_test[142] 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+ // unit_test[142] 戻り値がREALSERVER_SELECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = 3u;
up_thread_data->data_begain_offset = 0u;
up_thread_data->current_record_rest_size = 0u;
- up_thread_data->data_buffer[12] = 0x17;
- up_thread_data->data_buffer[13] = 0x03;
- up_thread_data->data_buffer[14] = 0x01;
+ up_thread_data->data_buffer[0] = 0x17;
+ up_thread_data->data_buffer[1] = 0x03;
+ up_thread_data->data_buffer[2] = 0x01;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
recvlen = 6;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[142] recvlen > recvbuffer.size()
- // unit_test[142] test data:handle_client_recv() return FINALIZE
+ cout << "[143]------------------------------------------" << endl;
+ // unit_test[143] 受信データサイズ > 受信バッファサイズの場合
+ // unit_test[143] 戻り値がFINALIZEで設定する。
recvlen = recvbuffer.size() + 1;
status = this->handle_client_recv(boost::this_thread::get_id(),
recvbuffer, recvlen);
BOOST_CHECK_EQUAL(status, FINALIZE);
- // unit_test[143] thread id is not in map
- // unit_test[143] test data:handle_client_recv() return FINALIZE
+ cout << "[144]------------------------------------------" << endl;
+ // unit_test[144] スレッドIDがmapに存在しない場合
+ // unit_test[144] 戻り値がFINALIZEで設定する。
status = this->handle_client_recv(boost::this_thread::get_id(),
recvbuffer, recvlen);
BOOST_CHECK_EQUAL(status, FINALIZE);
- // unit_test[144] end_flag = END_FLAG_OFF, data_size+recvlen > MAX_SSLID_BUFFER_SIZE
- // unit_test[144] test data:handle_client_recv() return FINALIZE, end_flag=END_FLAG_ON
+ cout << "[145]------------------------------------------" << endl;
+ // unit_test[145] 終了フラグがOFFで,且つ data_size+recvlen > MAX_SSLID_BUFFER_SIZEの場合
+ // unit_test[145] 戻り値がFINALIZEで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
up_thread_data->data_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 76u;
boost::function<void(const unsigned int, const std::string&,
const char*, int)> inputLogDebug = stb_putLogDebug;
- // unit_test[145] realserver_connect_failed_count = realserver_connect_failed_max_count
- // unit_test[145] test data:end_flag = END_FLAG_ON, handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[146]------------------------------------------" << endl;
+ // unit_test[146] realserver接続回数が最大回数の場合、戻り値がCLIENT_DISCONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count
= this->realserver_connect_failed_max_count;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[146] realserver_connect_failed_count > realserver_connect_failed_max_count
- // unit_test[146] test data:end_flag = END_FLAG_ON, handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[147]------------------------------------------" << endl;
+ // unit_test[147] realserver接続回数が最大回数を越える場合、戻り値がCLIENT_DISCONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count
= this->realserver_connect_failed_max_count + 1;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[147] 0< realserver_connect_failed_count < realserver_connect_failed_max_count, reschedule = 1(ON)
- // unit_test[147] get endpoint OK !
- // unit_test[147] test data:selected_realserver, handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[148]------------------------------------------" << endl;
+ // unit_test[148] realserver接続回数が最大回数に未満で, reschedule が 1(ON)、endpointが決定の場合
+ // unit_test[148] 戻り値が REALSERVER_CONNECTで設定する。
this->schedule_tcp = schedule_tcp_func1;
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[148] 0< realserver_connect_failed_count < realserver_connect_failed_max_count, reschedule = 1(ON)
- // unit_test[148] get endpoint failed !
- // unit_test[148] test data:end_flag = END_FLAG_ON, handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[149]------------------------------------------" << endl;
+ // unit_test[149] realserver接続回数が最大回数に未満で, reschedule が 1(ON)、endpointが未決定の場合
+ // unit_test[149] 戻り値が CLIENT_DISCONNECTで設定する。
this->schedule_tcp = schedule_tcp_func2;
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[149] 0< realserver_connect_failed_count < realserver_connect_failed_max_count, reschedule = 0 (OFF)
- // unit_test[149] test data:end_flag = END_FLAG_ON, handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[150]------------------------------------------" << endl;
+ // unit_test[150] realserver接続回数が最大回数に未満で, 且つreschedule が 0 (OFF)の場合
+ // unit_test[150] 戻り値が CLIENT_DISCONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count
= this->realserver_connect_failed_max_count - 1;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[150] realserver_connect_failed_count = 0, selected_realserver != NULL
- // unit_test[150] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[151]------------------------------------------" << endl;
+ // unit_test[151] realserverの接続失敗回数が0, 且つselected_realserver が NULLでない場合
+ // unit_test[151] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep1;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[151] realserver_connect_failed_count = 0, selected_realserver = NULL, hello_message_flag = false
- // unit_test[151] test data:handle_realserver_select() return FINALIZE, end_flag = END_FLAG_ON
+ cout << "[152]------------------------------------------" << endl;
+ // unit_test[152] realserverの接続失敗回数が0, 且つselected_realserver が NULLで、 且つhello_message_flagがfalseの場合
+ // unit_test[152] 戻り値がFINALIZEで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep2;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[152] realserver_connect_failed_count = 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[152] no ssl session id, get endpoint OK!
- // unit_test[152] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[153]------------------------------------------" << endl;
+ // unit_test[153] realserverの接続失敗回数が0, 且つselected_realserver が NULLで、 且つhello_message_flagがtrueで
+ // unit_test[153] 且つendpointが決定の場合
+ // unit_test[153] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x00;
up_thread_data->data_size = 76u;
+ up_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
this->schedule_tcp = schedule_tcp_func1;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[153] realserver_connect_failed_count = 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[153] no session id, get endpoint failed !
- // unit_test[153] test data:handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[154]------------------------------------------" << endl;
+ // unit_test[154] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+ // unit_test[154] 且つセッションIDがなくで、且つendpointが未決定の場合
+ // unit_test[154] 戻り値がCLIENT_DISCONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep2;
up_thread_data->data_buffer[43] = 0x00;
up_thread_data->data_size = 76u;
up_thread_data->end_flag = END_FLAG_OFF;
+ up_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
this->schedule_tcp = schedule_tcp_func2;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[154] realserver_connect_failed_count = 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[154] have a ssl session id, get endpoint OK !
- // unit_test[154] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[155]------------------------------------------" << endl;
+ // unit_test[155] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+ // unit_test[155] 且つセッションIDがあるで, 且つendpointが決定の場合
+ // unit_test[155] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
up_thread_data->data_size = 76u;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
delete this->session_data_processor;
this->session_thread_data_map.clear();
- // unit_test[155] realserver_connect_failed_count = 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[155] have a ssl session id, get endpoint failed !reschedule, get endpoint OK !
- // unit_test[155] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[156]------------------------------------------" << endl;
+ // unit_test[156] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+ // unit_test[156] 且つセッションIDがあり, endpointが未決定で、reschedule後、endpointが決定の場合
+ // unit_test[156] 戻り値がREALSERVER_CONNECTで設定する。
this->schedule_tcp = schedule_tcp_func1;
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
delete this->session_data_processor;
this->session_thread_data_map.clear();
- // unit_test[156] realserver_connect_failed_count = 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[156] have a ssl session id, get endpoint failed !reschedule, get endpoint failed !
- // unit_test[156] test data:handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[157]------------------------------------------" << endl;
+ // unit_test[157] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+ // unit_test[157] 且つセッションIDがあり, endpointが未決定で、reschedule後、endpointも未決定の場合
+ // unit_test[157] 戻り値がCLIENT_DISCONNECTで設定する。
this->schedule_tcp = schedule_tcp_func2;
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
delete this->session_data_processor;
this->session_thread_data_map.clear();
- // unit_test[157] realserver_connect_failed_count = 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[157] have a ssl session id, get endpoint failed! no reschedule
- // unit_test[157] test data:handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[158]------------------------------------------" << endl;
+ // unit_test[158] realserver接続失敗回数が0で, 且つselected_realserverがNULLで, 且つhello_message_flagがtrueで
+ // unit_test[158] 且つセッションIDがあり, endpointが未決定で、且つ no rescheduleの場合
+ // unit_test[158] 戻り値がCLIENT_DISCONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = 0;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[158] realserver_connect_failed_count < 0, selected_realserver != NULL
- // unit_test[158] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[159]------------------------------------------" << endl;
+ // unit_test[159] realserver接続失敗回数が0で, 且つselected_realserver が NULLないの場合
+ // unit_test[159] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep1;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[159] realserver_connect_failed_count < 0, selected_realserver = NULL, hello_message_flag = false
- // unit_test[159] test data:handle_realserver_select() return FINALIZE, end_flag = END_FLAG_ON
+ cout << "[160]------------------------------------------" << endl;
+ // unit_test[160] realserver接続失敗回数が0で, 且つselected_realserver が NULLで, 且つhello_message_flag が falseの場合
+ // unit_test[160] 戻り値がFINALIZEで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep2;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[160] realserver_connect_failed_count < 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[160] no ssl session id, get endpoint OK!
- // unit_test[160] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[161]------------------------------------------" << endl;
+ // unit_test[161] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+ // unit_test[161] 且つセッションIDがなくで、且つendpointが決定の場合
+ // unit_test[161] 戻り値がREALSERVER_CONNECT設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x00;
up_thread_data->data_size = 76u;
+ up_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
this->schedule_tcp = schedule_tcp_func1;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[161] realserver_connect_failed_count < 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[161] no session id, get endpoint failed !
- // unit_test[161] test data:handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[162]------------------------------------------" << endl;
+ // unit_test[162] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+ // unit_test[162] 且つセッションIDがなくで、且つendpointが未決定の場合
+ // unit_test[162] 戻り値がCLIENT_DISCONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x00;
up_thread_data->data_size = 76u;
+ up_thread_data->data_begain_offset = 0u;
up_thread_data->end_flag = END_FLAG_OFF;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[162] realserver_connect_failed_count < 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[162] have a ssl session id, get endpoint OK !
- // unit_test[162] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[163]------------------------------------------" << endl;
+ // unit_test[163] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+ // unit_test[163] 且つセッションIDがあるで, 且つendpointが決定の場合
+ // unit_test[163] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
up_thread_data->data_size = 76u;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
delete this->session_data_processor;
this->session_thread_data_map.clear();
- // unit_test[163] realserver_connect_failed_count < 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[163] have a ssl session id, get endpoint failed !reschedule, get endpoint OK !
- // unit_test[163] test data:handle_realserver_select() return REALSERVER_CONNECT
+ cout << "[164]------------------------------------------" << endl;
+ // unit_test[164] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+ // unit_test[164] 且つセッションIDがあるで, endpointが未決定で、reschedule後、endpointが決定の場合
+ // unit_test[164] 戻り値がREALSERVER_CONNECTで設定する。
this->schedule_tcp = schedule_tcp_func1;
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
delete this->session_data_processor;
this->session_thread_data_map.clear();
- // unit_test[164] realserver_connect_failed_count < 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[164] have a ssl session id, get endpoint failed !reschedule, get endpoint failed !
- // unit_test[164] test data:handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[165]------------------------------------------" << endl;
+ // unit_test[165] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+ // unit_test[165] 且つセッションIDがあるで, endpointが未決定で、reschedule後、endpointも未決定の場合
+ // unit_test[165] 戻り値がCLIENT_DISCONNECTで設定する。
this->schedule_tcp = schedule_tcp_func2;
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
delete this->session_data_processor;
this->session_thread_data_map.clear();
- // unit_test[165] realserver_connect_failed_count < 0, selected_realserver = NULL, hello_message_flag = true
- // unit_test[165] have a ssl session id, get endpoint failed! no reschedule
- // unit_test[165] test data:handle_realserver_select() return CLIENT_DISCONNECT
+ cout << "[166]------------------------------------------" << endl;
+ // unit_test[166] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+ // unit_test[166] セッションIDがあり、endpointが未決定でrescheduleしない場合
+ // unit_test[166] 戻り値がCLIENT_DISCONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->realserver_connect_failed_count = -1;
up_thread_data->selected_realserver = ep2;
up_thread_data->hello_message_flag = true;
up_thread_data->data_buffer[43] = 0x20;
+ up_thread_data->data_begain_offset = 0u;
for (int i = 0; i < 32; i++) {
up_thread_data->data_buffer[44 + i] = 0x01;
}
//handle_realserver_select(udp)
void handle_realserver_select_udp_test(){
- // unit_test[166] for udp
- // unit_test[166] test data:handle_realserver_select() return STOP
+ cout << "[167]------------------------------------------" << endl;
+ // unit_test[167] 戻り値が STOPで設定する。
EVENT_TAG status;
boost::array<char,MAX_BUFFER_SIZE> sendbuffer;
size_t datalen;
int mem_cmp_length;
int mem_cmp_result;
- // unit_test[167] current_record_rest_size>data_size, data_size<送信バッファサイズ
- // unit_test[167] test data:data_begain_offset,current_record_rest_size,data_size, datalen
- // unit_test[167] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[168]------------------------------------------" << endl;
+ // unit_test[168] current_record_rest_size>data_sizeで、且つdata_size<送信バッファサイズの場合
+ // unit_test[168] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = 20u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[168] current_record_rest_size>data_size, data_size=送信バッファサイズ
- // unit_test[168] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[168] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[169]------------------------------------------" << endl;
+ // unit_test[169] current_record_rest_size>data_sizeで, 且つdata_sizeが送信バッファサイズの場合
+ // unit_test[169] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 1u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[169] current_record_rest_size=data_size, data_size<送信バッファサイズ
- // unit_test[169] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[169] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[170]------------------------------------------" << endl;
+ // unit_test[170] current_record_rest_sizeがdata_sizeで, 且つdata_size<送信バッファサイズの場合
+ // unit_test[170] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[170] current_record_rest_size=data_size, data_size=送信バッファサイズ
- // unit_test[170] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[170] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[171]------------------------------------------" << endl;
+ // unit_test[171] current_record_rest_sizeがdata_sizeで, 且つdata_sizeが送信バッファサイズの場合
+ // unit_test[171] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE);
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[171] current_record_rest_size>data_size,data_size>送信バッファサイズ
- // unit_test[171] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[171] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[172]------------------------------------------" << endl;
+ // unit_test[172] current_record_rest_size>data_sizeで,且つdata_size>送信バッファサイズの場合
+ // unit_test[172] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[172] current_record_rest_size=data_size,data_size>送信バッファサイズ
- // unit_test[172] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[172] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[173]------------------------------------------" << endl;
+ // unit_test[173] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
+ // unit_test[173] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[173] current_record_rest_size<data_size, current_record_rest_size<送信バッファサイズ
- // unit_test[173] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[173] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[174]------------------------------------------" << endl;
+ // unit_test[174] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_size<送信バッファサイズの場合
+ // unit_test[174] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[174] current_record_rest_size<data_size, current_record_rest_size=送信バッファサイズ
- // unit_test[174] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[174] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[175]------------------------------------------" << endl;
+ // unit_test[175] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
+ // unit_test[175] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE);
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[175] current_record_rest_size<data_size,current_record_rest_size>送信バッファサイズ
- // unit_test[175] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[175] handle_realserver_connect() return REALSERVER_SEND, realserver_connect_failed_count =0
+ cout << "[176]------------------------------------------" << endl;
+ // unit_test[176] current_record_rest_size<data_sizeで,且つcurrent_record_rest_size>送信バッファサイズの場合
+ // unit_test[176] 戻り値がREALSERVER_SENDで設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
iter=this->session_thread_data_map.find(boost::this_thread::get_id());
session_thread_data_sslid* data=iter->second;
- //unit_test[176] 終了フラグをON,遷移先ステータスを設定する,status = CLIENT_DISCONNECT
- //unit_test[176] test data:no rescheduleモードの場合,the first fail
+ cout << "[177]------------------------------------------" << endl;
+ //unit_test[177] 終了フラグをON,遷移先ステータスを設定する,status = CLIENT_DISCONNECT
+ //unit_test[177] test data:no rescheduleモード、初めて失敗するの場合
this->reschedule=0;
EVENT_TAG schedule=this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep);
BOOST_CHECK_EQUAL(data->end_flag,END_FLAG_ON);
BOOST_CHECK_EQUAL(schedule, protocol_module_base::CLIENT_DISCONNECT);
- //unit_test[177] realserver_connect_failed_count で1を加算する,遷移先ステータスを設定する,status = REALSERVER_SELECT
- //unit_test[177] test data:rescheduleモードの場合,the first fail
+ cout << "[178]------------------------------------------" << endl;
+ //unit_test[178] realserver_connect_failed_count で1を加算する,遷移先ステータスを設定する,status = REALSERVER_SELECT
+ //unit_test[178] test data:rescheduleモード、初めて失敗するの場合
this->reschedule=1;
schedule=this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep);
BOOST_CHECK_EQUAL(data->realserver_connect_failed_count,1);
BOOST_CHECK_EQUAL(schedule, protocol_module_base::REALSERVER_SELECT);
- //unit_test[178] realserver_connect_failed_count で1を加算する,遷移先ステータスにREALSERVER_SELECTを設定する
- //unit_test[178] test data:rescheduleモードの場合, the third fail
+ cout << "[179]------------------------------------------" << endl;
+ //unit_test[179] realserver_connect_failed_count で1を加算する,遷移先ステータスにREALSERVER_SELECTを設定する
+ //unit_test[179] test data:rescheduleモード、3目失敗するの場合
this->reschedule=1;
schedule=this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep);
schedule=this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep);
BOOST_CHECK_EQUAL(data->realserver_connect_failed_count,3);
BOOST_CHECK_EQUAL(schedule, protocol_module_base::REALSERVER_SELECT);
- //unit_test[179] 終了フラグをON,遷移先ステータスにCLIENT_DISCONNECTを設定する
- //unit_test[179] test data:no rescheduleモードの場合,the forth fail
+ cout << "[180]------------------------------------------" << endl;
+ //unit_test[180] 終了フラグをON,遷移先ステータスにCLIENT_DISCONNECTを設定する
+ //unit_test[180] test data:no rescheduleモード、4目失敗するの場合
this->reschedule=0;
schedule=this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep);
BOOST_CHECK_EQUAL(data->end_flag,END_FLAG_ON);
session_thread_data_sslid* up_thread_data;
EVENT_TAG status;
- // unit_test[180] data_size = 0,data_begain_offset = 0
- // unit_test[180] test data:handle_realserver_send() return CLIENT_RECV
+ cout << "[181]------------------------------------------" << endl;
+ // unit_test[181] データサイズが0で、且つdata_begain_offsetが0の場合
+ // unit_test[181] 戻り値がCLIENT_RECVで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 0u;
up_thread_data->data_begain_offset = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[180] data_size = 0,data_begain_offset >0
- // unit_test[180] test data:handle_realserver_send() return CLIENT_RECV
+ cout << "[182]------------------------------------------" << endl;
+ // unit_test[182] データサイズが0で,且つdata_begain_offset >0の場合
+ // unit_test[182] 戻り値がCLIENT_RECVで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 0u;
up_thread_data->data_begain_offset = 10u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[181] data_size > 0, current_record_rest_size > 0,data_begain_offset=0
- // unit_test[181] test data:handle_realserver_send() return REALSERVER_CONNECT
+ cout << "[183]------------------------------------------" << endl;
+ // unit_test[183] データサイズ > 0で, 且つcurrent_record_rest_size > 0で,且つdata_begain_offset=0の場合
+ // unit_test[183] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->current_record_rest_size = 10u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[181] data_size > 0, current_record_rest_size > 0,data_begain_offset>0
- // unit_test[181] test data:handle_realserver_send() return REALSERVER_CONNECT
+ cout << "[184]------------------------------------------" << endl;
+ // unit_test[184] データサイズ > 0で, 且つcurrent_record_rest_size > 0で,且つdata_begain_offset>0の場合
+ // unit_test[184] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->current_record_rest_size = 10u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[182] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return -1 (異常),data_begain_offset=0
- // unit_test[182] test data:handle_realserver_send() return FINALIZE, end_flag = END_FLAG_ON
+ cout << "[185]------------------------------------------" << endl;
+ // unit_test[185] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offsetが0の場合
+ // unit_test[185] 戻り値がFINALIZEで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->data_begain_offset = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[182] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return -1 (異常),data_begain_offset>0
- // unit_test[182] test data:handle_realserver_send() return FINALIZE, end_flag = END_FLAG_ON
+ cout << "[186]------------------------------------------" << endl;
+ // unit_test[186] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offset>0の場合
+ // unit_test[186] 戻り値がFINALIZEで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->data_begain_offset = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[183] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return 1 (送信不可),data_begain_offset=0
- // unit_test[183] test data:handle_realserver_send() return CLIENT_RECV
+ cout << "[187]------------------------------------------" << endl;
+ // unit_test[187] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offsetが0の場合
+ // unit_test[187] 戻り値がCLIENT_RECVで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 1u;
up_thread_data->current_record_rest_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[183] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return 1 (送信不可),data_begain_offset>0
- // unit_test[183] test data:handle_realserver_send() return CLIENT_RECV
+ cout << "[188]------------------------------------------" << endl;
+ // unit_test[188] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offset>0の場合
+ // unit_test[188] 戻り値がCLIENT_RECVで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 1u;
up_thread_data->current_record_rest_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[184] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset =0
- // unit_test[184] is a hello message
- // unit_test[184] test data:handle_realserver_send() return REALSERVER_CONNECT,current_record_rest_size,
- // unit_test[184] hello_message_flag
+ cout << "[189]------------------------------------------" << endl;
+ // unit_test[189] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset が0の場合
+ // unit_test[189] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 76u;
up_thread_data->current_record_rest_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[184] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset > 0
- // unit_test[184] is a hello message
- // unit_test[184] test data:handle_realserver_send() return REALSERVER_CONNECT,current_record_rest_size,
- // unit_test[184] hello_message_flag
+ cout << "[190]------------------------------------------" << endl;
+ // unit_test[190] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset > 0の場合
+ // unit_test[190] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 76u;
up_thread_data->current_record_rest_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[185] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset =0
- // unit_test[185] is not a hello message
- // unit_test[185] test data:handle_realserver_send(0 return REALSERVER_CONNECT,current_record_rest_size,
- // unit_test[185] hello_message_flag
+ cout << "[191]------------------------------------------" << endl;
+ // unit_test[191] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset が0の場合
+ // unit_test[191] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->current_record_rest_size = 0u;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[185] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset > 0
- // unit_test[185] is not a hello message
- // unit_test[185] test data:handle_realserver_send(0 return REALSERVER_CONNECT,current_record_rest_size,
- // unit_test[185] hello_message_flag
+ cout << "[192]------------------------------------------" << endl;
+ // unit_test[192] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset > 0の場合
+ // unit_test[192] 戻り値がREALSERVER_CONNECTで設定する。
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->current_record_rest_size = 0u;
int mem_cmp_length;
char* mem_cmp_buffer;
- // unit_test[186] data_size = 0, current_record_rest_size > 0
- // unit_test[186] test data:handle_realserver_recv() return CLIENT_CONNECTION_CHECK
+ cout << "[193]------------------------------------------" << endl;
+ // unit_test[193] データサイズ が 0で, 且つcurrent_record_rest_size > 0の場合
+ // unit_test[193] 戻り値がCLIENT_CONNECTION_CHECK設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
down_thread_data->current_record_rest_size = 10u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[187] data_size = 0, current_record_rest_size = 0, check_ssl_record_sendable() return -1 (異常)
- // unit_test[187] test data:handle_realserver_recv() return FINALIZE, end_flag = END_FLAG_ON
+ cout << "[194]------------------------------------------" << endl;
+ // unit_test[194] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が-1(異常)の場合
+ // unit_test[194] 戻り値がFINALIZEで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
down_thread_data->current_record_rest_size = 0u;
- down_thread_data->data_begain_offset = 0;
+ down_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
recvbuffer[0] = 0x00;
recvlen = 6;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[188] data_size = 0, current_record_rest_size = 0, check_ssl_record_sendable() return 1 (送信不可)
- // unit_test[188] test data:handle_realserver_recv() return REALSERVER_RECV
+ cout << "[195]------------------------------------------" << endl;
+ // unit_test[195] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合
+ // unit_test[195] 戻り値がREALSERVER_RECVで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
- down_thread_data->data_begain_offset = 0;
+ down_thread_data->data_begain_offset = 0u;
down_thread_data->current_record_rest_size = 0u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
recvlen = 3;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[189] data_size = 0, current_record_rest_size = 0, check_ssl_record_sendable() return 0 (送信可能)
- // unit_test[189] is a hello message
- // unit_test[189] test data:handle_realserver_recv() return CLIENT_CONNECTION_CHECK
+ cout << "[196]------------------------------------------" << endl;
+ // unit_test[196] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+ // unit_test[196] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
- down_thread_data->data_begain_offset = 0;
+ down_thread_data->data_begain_offset = 0u;
down_thread_data->current_record_rest_size = 0u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
recvbuffer[0] = 0x16;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[190] data_size = 0, current_record_rest_size = 0, check_ssl_record_sendable() return 0 (送信可能)
- // unit_test[190] is not a hello message
- // unit_test[190] test data:handle_realserver_recv() return CLIENT_CONNECTION_CHECK
+ cout << "[197]------------------------------------------" << endl;
+ // unit_test[197] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値0(送信可能)の場合
+ // unit_test[197] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
- down_thread_data->data_begain_offset = 0;
+ down_thread_data->data_begain_offset = 0u;
down_thread_data->current_record_rest_size = 0u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
recvbuffer[0] = 0x17;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[191] data_size > 0, current_record_rest_size > 0, data_begain_offset>0
- // unit_test[191] test data:handle_realserver_recv() return CLIENT_CONNECTION_CHECK
+ cout << "[198]------------------------------------------" << endl;
+ // unit_test[198] データサイズ > 0で, 且つcurrent_record_rest_size > 0で, 且つdata_begain_offset>0の場合
+ // unit_test[198] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 10u;
- down_thread_data->data_begain_offset = 5;
+ down_thread_data->data_begain_offset = 5u;
down_thread_data->current_record_rest_size = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
recvlen = 15;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[192] data_size + recvlen > MAX_SSLID_BUFFER_SIZE
- // unit_test[192] test data:handle_realserver_recv() return FINALIZE
+ cout << "[199]------------------------------------------" << endl;
+ // unit_test[199] データサイズ + 受信データサイズ > MAX_SSLID_BUFFER_SIZEの場合
+ // unit_test[199] 戻り値がFINALIZEで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 76u + 1u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
//handle_realserver_recv(udp)
void handle_realserver_recv_udp_test(){
- // unit_test[193] for udp
- // unit_test[193] test data:handle_realserver_recv() return STOP
+ cout << "[200]------------------------------------------" << endl;
+ // unit_test[200] 戻り値が STOPで設定する。
boost::array<char, MAX_BUFFER_SIZE> recvbuffer;
size_t recvlen;
boost::asio::ip::udp::endpoint rs_endpoint_udp;
logger_func_type inputLogDebug = stb_putLogDebug;
boost::asio::ip::tcp::endpoint rs_endpoint(boost::asio::ip::address::from_string("192.168.120.249"), 12345);
- // unit_test[194] down_thread_id is not in the map
- // unit_test[194] test data:handle_client_connection return FINALIZE
+ cout << "[201]------------------------------------------" << endl;
+ // unit_test[201] mapに下りスレッドIDが存在しない場合
+ // unit_test[201] 戻り値がFINALIZEで設定する。
status = this->handle_client_connection_check(boost::this_thread::get_id(),
sendbuffer, datalen);
BOOST_CHECK_EQUAL(status, FINALIZE);
- // unit_test[195] current_record_rest_size>0,data_begain_offset = 0
- // unit_test[195] test data:handle_client_connection return CLIENT_SEND
+ cout << "[202]------------------------------------------" << endl;
+ // unit_test[202] current_record_rest_size>0で,且つdata_begain_offset が 0の場合
+ // unit_test[202] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 10u;
down_thread_data->data_size = 76u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[195] current_record_rest_size>0,data_begain_offset >0
- // unit_test[195] test data:handle_client_connection return CLIENT_SEND
+ cout << "[203]------------------------------------------" << endl;
+ // unit_test[203] current_record_rest_size>0で,且つdata_begain_offset >0の場合
+ // unit_test[203] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 10u;
down_thread_data->data_size = 76u;
this->session_thread_data_map.clear();
- // unit_test[196] current_record_rest_size=0,hello_message_flag=true,data_size >= 76,data_begain_offset=0
- // unit_test[196] get_ssl_session_id return 0 (have session id)
- // unit_test[196] test data:handle_client_connection return CLIENT_SEND
+ cout << "[204]------------------------------------------" << endl;
+ // unit_test[204] current_record_rest_sizeが0で、且つhello_message_flagがtrueで、且つdata_size ≧ 76で、且つdata_begain_offsetが0で
+ // unit_test[204] 且つget_ssl_session_id() の戻り値が 0 の場合
+ // unit_test[204] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = true;
delete replication_data_processor;
this->session_thread_data_map.clear();
- // unit_test[196] current_record_rest_size=0,hello_message_flag=true,data_size >= 76,data_begain_offset>0
- // unit_test[196] get_ssl_session_id return 0 (have session id)
- // unit_test[196] test data:handle_client_connection return CLIENT_SEND
+ cout << "[205]------------------------------------------" << endl;
+ // unit_test[205] current_record_rest_sizeが0で,且つhello_message_flagがtrueで,且つdata_size ≧ 76で,且つdata_begain_offset>0で
+ // unit_test[205] 且つget_ssl_session_id()の戻り値が0の場合
+ // unit_test[205] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = true;
down_thread_data->data_buffer[53] = 0x20;
- down_thread_data->data_size = 86u;
+ down_thread_data->data_size = 76u;
down_thread_data->data_begain_offset = 10u;
- for(size_t i=44; i<down_thread_data->data_size; i++)
+ for(size_t i=54; i<down_thread_data->data_size; i++)
{
down_thread_data->data_buffer[i] = 0x01;
}
sendbuffer, datalen);
BOOST_CHECK_EQUAL((dynamic_cast<sslid_session_data_processor_stub*>(this->session_data_processor))->get_session_endpoint_map()[session_id], rs_endpoint);
BOOST_CHECK_EQUAL(status, CLIENT_SEND);
- BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 86u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 76u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[197] current_record_rest_size=0,hello_message_flag=true,data_begain_offset=0
- // unit_test[197] get_ssl_session_id return 1 (no session id)
- // unit_test[197] test data:handle_client_connection return CLIENT_SEND
+ cout << "[206]------------------------------------------" << endl;
+ // unit_test[206] current_record_rest_sizeが0で,且つhello_message_flagがtrueで,且つdata_begain_offsetが0で
+ // unit_test[206] 且つget_ssl_session_id()の戻り値が1の場合
+ // unit_test[206] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = true;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[197] current_record_rest_size=0,hello_message_flag=true,data_begain_offset>0
- // unit_test[197] get_ssl_session_id return 1 (no session id)
- // unit_test[197] test data:handle_client_connection return CLIENT_SEND
+ cout << "[207]------------------------------------------" << endl;
+ // unit_test[207] current_record_rest_sizeが0で,且つhello_message_flagがtrueで,且つdata_begain_offset>0で
+ // unit_test[207] 且つget_ssl_session_id()の戻り値が1の場合
+ // unit_test[207] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = true;
down_thread_data->data_buffer[53] = 0x00;
- down_thread_data->data_size = 86u;
+ down_thread_data->data_size = 76u;
down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_connection_check(boost::this_thread::get_id(),
sendbuffer, datalen);
BOOST_CHECK_EQUAL(status, CLIENT_SEND);
- BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 86u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 76u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[198] current_record_rest_size=0,hello_message_flag=false,data_begain_offset=0
- // unit_test[198] test data:handle_client_connection return CLIENT_SEND
+ cout << "[208]------------------------------------------" << endl;
+ // unit_test[208] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offsetが0の場合
+ // unit_test[208] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = false;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[198] current_record_rest_size=0,hello_message_flag=false,data_begain_offset>0
- // unit_test[198] test data:handle_client_connection return CLIENT_SEND
+ cout << "[209]------------------------------------------" << endl;
+ // unit_test[209] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offset>0の場合
+ // unit_test[209] 戻り値がCLIENT_SENDで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = false;
- down_thread_data->data_size = 86u;
+ down_thread_data->data_size = 76u;
down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_connection_check(boost::this_thread::get_id(),
sendbuffer, datalen);
BOOST_CHECK_EQUAL(status, CLIENT_SEND);
- BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 86u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 76u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
delete down_thread_data;
//handle_client_select
void handle_client_select_test(){
- // unit_test[200] test data:handle_client_select() return STOP
+ cout << "[210]------------------------------------------" << endl;
+ // unit_test[210] 戻り値がSTOPで設定する。
boost::asio::ip::udp::endpoint cl_endpoint;
boost::array<char,MAX_BUFFER_SIZE> sendbuffer;
size_t datalen;
session_thread_data_sslid* down_thread_data;
EVENT_TAG status;
- // unit_test[201] down_thread_id is not in the map
- // unit_test[201] test data:handle_client_send() return FINALIZE
+ cout << "[211]------------------------------------------" << endl;
+ // unit_test[211] 下りスレッドIDがmapに存在しない場合
+ // unit_test[211] 戻り値がFINALIZEで設定する。
this->session_thread_data_map.clear();
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(status, FINALIZE);
- // unit_test[202] data_size=0,end_flag=END_FLAG_ON,data_begain_offset=0
- // unit_test[202] test data:handle_client_send() return CLIENT_DISCONNECT
+ cout << "[212]------------------------------------------" << endl;
+ // unit_test[212] データサイズが0で,且つ終了フラグがONで,且つdata_begain_offsetが0の場合
+ // unit_test[212] 戻り値がCLIENT_DISCONNECTで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
down_thread_data->end_flag = END_FLAG_ON;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[202] data_size=0,end_flag=END_FLAG_ON,data_begain_offset>0
- // unit_test[202] test data:handle_client_send() return CLIENT_DISCONNECT
+ cout << "[213]------------------------------------------" << endl;
+ // unit_test[213] データサイズが0で,且つ終了フラグがONで,且つdata_begain_offset>0の場合
+ // unit_test[213] 戻り値がCLIENT_DISCONNECTで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
down_thread_data->end_flag = END_FLAG_ON;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[203] data_size=0,end_flag=END_FLAG_OFF,data_begain_offset = 0
- // unit_test[203] test data:handle_client_send() return REALSERVER_RECV
+ cout << "[214]------------------------------------------" << endl;
+ // unit_test[214] データサイズが0で,且つ終了フラグがOFFで,且つdata_begain_offset が 0の場合
+ // unit_test[214] 戻り値がREALSERVER_RECVで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
down_thread_data->end_flag = END_FLAG_OFF;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[203] data_size=0,end_flag=END_FLAG_OFF,data_begain_offset > 0
- // unit_test[203] test data:handle_client_send() return REALSERVER_RECV
+ cout << "[215]------------------------------------------" << endl;
+ // unit_test[215] データサイズが0で,且つ終了フラグがOFFで,且つdata_begain_offset > 0の場合
+ // unit_test[215] 戻り値がREALSERVER_RECVで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 0u;
down_thread_data->end_flag = END_FLAG_OFF;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[204] data_size>0,current_record_rest_size>0,data_begain_offset=0
- // unit_test[204] test data:handle_client_send() return CLIENT_CONNECTION_CHECK
+ cout << "[216]------------------------------------------" << endl;
+ // unit_test[216] データサイズ>0で,且つcurrent_record_rest_size>0で,且つdata_begain_offsetが0の場合
+ // unit_test[216] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 10u;
down_thread_data->current_record_rest_size = 8u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[204] data_size>0,current_record_rest_size>0,data_begain_offset=0,data_begain_offset>0
- // unit_test[204] test data:handle_client_send() return CLIENT_CONNECTION_CHECK
+ cout << "[217]------------------------------------------" << endl;
+ // unit_test[217] データサイズ>0で,且つcurrent_record_rest_size>0で,且つdata_begain_offsetが0で,且つdata_begain_offset>0の場合
+ // unit_test[217] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 10u;
down_thread_data->current_record_rest_size = 8u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[205] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return -1 (異常),data_begain_offset=0
- // unit_test[205] test data:end_flag == END_FLAG_ON,handle_client_send() return FINALIZE
+ cout << "[218]------------------------------------------" << endl;
+ // unit_test[218] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offsetが0の場合
+ // unit_test[218] 戻り値がFINALIZEで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 10u;
down_thread_data->current_record_rest_size = 0u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[205] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return -1 (異常),data_begain_offset>0
- // unit_test[205] test data:end_flag == END_FLAG_ON,handle_client_send() return FINALIZE
+ cout << "[219]------------------------------------------" << endl;
+ // unit_test[219] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offset>0の場合
+ // unit_test[219] 戻り値がFINALIZEで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 10u;
down_thread_data->current_record_rest_size = 0u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[206] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return 1 (送信不可),data_begain_offset=0
- // unit_test[206] end_flag=END_FLAG_ON
- // unit_test[206] test data:handle_client_send() return CLIENT_DISCONNECT
+ cout << "[220]------------------------------------------" << endl;
+ // unit_test[220] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offsetが0で
+ // unit_test[220] 且つ終了フラグがONの場合
+ // unit_test[220] 戻る値がCLIENT_DISCONNECTで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 3u;
down_thread_data->current_record_rest_size = 0u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[206] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return 1 (送信不可),data_begain_offset>0
- // unit_test[206] end_flag=END_FLAG_ON
- // unit_test[206] test data:handle_client_send() return CLIENT_DISCONNECT
+ cout << "[221]------------------------------------------" << endl;
+ // unit_test[221] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offset>0で
+ // unit_test[221] 且つ終了フラグがONの場合
+ // unit_test[221] 戻り値がCLIENT_DISCONNECTで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 3u;
down_thread_data->current_record_rest_size = 0u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[207] data_size>0,current_record_rest_size=0,check_ssl_record_sendable()return 1 (送信不可),data_begain_offset=0
- // unit_test[207] end_flag=END_FLAG_OFF
- // unit_test[207] test data:handle_client_send() return REALSERVER_RECV
+ cout << "[222]------------------------------------------" << endl;
+ // unit_test[222] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offsetが0で
+ // unit_test[222] 且つ終了フラグがOFFの場合
+ // unit_test[222] 戻り値がREALSERVER_RECVで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 3u;
down_thread_data->current_record_rest_size = 0u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[207] data_size>0,current_record_rest_size=0,check_ssl_record_sendable()return 1 (送信不可),data_begain_offset>0
- // unit_test[207] end_flag=END_FLAG_OFF
- // unit_test[207] test data:handle_client_send() return REALSERVER_RECV
+ cout << "[223]------------------------------------------" << endl;
+ // unit_test[223] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offset>0で
+ // unit_test[223] 且つ終了フラグがOFFの場合
+ // unit_test[223] 戻り値がREALSERVER_RECVで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 3u;
down_thread_data->current_record_rest_size = 0u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[208] data_size>=76,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset=0
- // unit_test[208] is hello message
- // unit_test[208] test data:current_record_rest_size == all_length,hello_message_flag == TRUE
- // unit_test[208] handle_client_send() return CLIENT_CONNECTION_CHECK
+ cout << "[224]------------------------------------------" << endl;
+ // unit_test[224] データサイズ>=76で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offsetが0の場合
+ // unit_test[224] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 76;
down_thread_data->current_record_rest_size = 0;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[208] data_size>=76,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset>0
- // unit_test[208] is hello message
- // unit_test[208] test data:current_record_rest_size == all_length,hello_message_flag == TRUE
- // unit_test[208] handle_client_send() return CLIENT_CONNECTION_CHECK
+ cout << "[225]------------------------------------------" << endl;
+ // unit_test[225] データサイズ>=76で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offset>0が0の場合
+ // unit_test[225] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 86;
down_thread_data->current_record_rest_size = 0;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[209] data_size>=6,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset=0
- // unit_test[209] is not hello message
- // unit_test[209] test data:current_record_rest_size == all_length,hello_message_flag == FALSE
- // unit_test[209] handle_client_send() return CLIENT_CONNECTION_CHECK
+ cout << "[226]------------------------------------------" << endl;
+ // unit_test[226] データサイズ>=6で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offsetが0の場合
+ // unit_test[226] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 10;
down_thread_data->current_record_rest_size = 0;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[209] data_size>=6,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset>0
- // unit_test[209] is not hello message
- // unit_test[209] test data:current_record_rest_size == all_length,hello_message_flag == FALSE
- // unit_test[209] handle_client_send() return CLIENT_CONNECTION_CHECK
+ cout << "[227]------------------------------------------" << endl;
+ // unit_test[227] データサイズ>=6で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offset>0の場合
+ // unit_test[227] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 10;
down_thread_data->current_record_rest_size = 0;
//handle_client_disconnect
void handle_client_disconnect_test(){
- //unit_test[210] handle_client_disconnect()メソッドのテスト,up and down threads,正常系で必ずFINALIZEを返す
+ cout << "[228]------------------------------------------" << endl;
+ //unit_test[228] handle_client_disconnect()メソッドのテスト,up and down threads,正常系で必ずFINALIZEを返す
boost::thread tdown_for_get_id(down_thread_func);
boost::thread_group threads;
threads.create_thread(bind(&protocol_module_sslid_test_class::handle_client_disconnect_test_thread_func,
tdown_for_get_id.get_id()));
threads.join_all();
- //unit_test[] one thread,return FINALIZE
+ cout << "[229]------------------------------------------" << endl;
+ //unit_test[229] one thread,return FINALIZE
BOOST_CHECK_EQUAL(this->handle_client_disconnect(boost::this_thread::get_id()),FINALIZE);
}
void handle_client_disconnect_test_thread_func(const boost::thread::id thread_id){
//handle_realserver_disconnect
void handle_realserver_disconnect_test(){
- //unit_test[211] 正常系で必ずSTOPを返す
+ cout << "[230]------------------------------------------" << endl;
+ //unit_test[230] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->handle_realserver_disconnect(boost::this_thread::get_id(),ep), STOP);
}
//handle_sorryserver_select
void handle_sorryserver_select_test(){
- //unit_test[212] 正常系で必ずSTOPを返す
+ cout << "[231]------------------------------------------" << endl;
+ //unit_test[231] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->handle_sorryserver_select(boost::this_thread::get_id(),ep), STOP);
}
//handle_sorryserver_connect
void handle_sorryserver_connect_test(){
- //unit_test[213] 正常系で必ずSTOPを返す
+ cout << "[232]------------------------------------------" << endl;
+ //unit_test[232] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
boost::array<char,MAX_BUFFER_SIZE> buffer;
size_t datalen;
//handle_sorryserver_connection_fail
void handle_sorryserver_connection_fail_test(){
- //unit_test[214] 正常系で必ずSTOPを返す
+ cout << "[233]------------------------------------------" << endl;
+ //unit_test[233] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->handle_sorryserver_connection_fail(boost::this_thread::get_id(),ep), STOP);
}
//handle_sorryserver_send
void handle_sorryserver_send_test(){
- //unit_test[215] 正常系で必ずSTOPを返す
+ cout << "[234]------------------------------------------" << endl;
+ //unit_test[234] 正常系で必ずSTOPを返す
BOOST_CHECK_EQUAL(this->handle_sorryserver_send(boost::this_thread::get_id()), STOP);
}
//handle_sorryserver_recv
void handle_sorryserver_recv_test(){
- //unit_test[216] 正常系で必ずSTOPを返す
+ cout << "[235]------------------------------------------" << endl;
+ //unit_test[235] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
boost::array<char,MAX_BUFFER_SIZE> buffer;
size_t datalen;
//handle_response_send_inform
void handle_response_send_inform_test(){
- //unit_test[217] 正常系で必ずSTOPを返す
+ cout << "[236]------------------------------------------" << endl;
+ //unit_test[236] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->handle_response_send_inform(boost::this_thread::get_id()), STOP);
}
//handle_sorry_enable
void handle_sorry_enable_test(){
- //unit_test[218] 全部の場合,遷移先ステータスを設定する,status = STOP
- //unit_test[218] test data:NULL
+ cout << "[237]------------------------------------------" << endl;
+ //unit_test[237] 全部の場合,遷移先ステータスを設定する,status = STOP
+ //unit_test[237] test data:NULL
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->handle_sorry_enable(boost::this_thread::get_id()), STOP);
}
//handle_sorry_disable
void handle_sorry_disable_test(){
- //unit_test[219] 正常系で必ずSTOPを返す
+ cout << "[238]------------------------------------------" << endl;
+ //unit_test[238] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->handle_sorry_disable(boost::this_thread::get_id()), STOP);
}
//handle_sorryserver_disconnect
void handle_sorryserver_disconnect_test(){
- //unit_test[220] 正常系で必ずSTOPを返す
+ cout << "[239]------------------------------------------" << endl;
+ //unit_test[239] 正常系で必ずSTOPを返す
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->handle_sorryserver_disconnect(boost::this_thread::get_id(),ep), STOP);
}
stb_putLogFatal, stb_putLogError, stb_putLogWarn, stb_putLogInfo,
stb_putLogDebug);
- //unit_test[] add the replication_data to replication_area
- //unit_test[] the replication_data is add
+ cout << "[240]------------------------------------------" << endl;
+ //unit_test[240] op_codeが「A」の場合、replication_dataをreplication_areaに追加する。
time_t last_time_A = time(0);
boost::asio::ip::tcp::endpoint real_ep_A;
struct sslid_replication_temp_data replication_temp_data_add;
{
std::cout<<"bad_cast:::"<<std::endl;
}
+ pstub->get_replication_area()=new sslid_replication_data;
pstub->register_replication_area_lock(replication_area_lock_stb);
pstub->register_replication_area_unlock(replication_area_unlock_stb);
pstub->get_temp_list().push_back(replication_temp_data_add);
- pstub->get_replication_area()[0].valid=0;
+ pstub->get_replication_area()->valid=0;
boost::thread test_thread1(boost::bind(&protocol_module_sslid_test_class::replication_interrupt,this));
sleep(5);
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].valid,1);
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].last_time,last_time_A);
- BOOST_CHECK_EQUAL(memcmp(pstub->get_replication_area()[0].session_id,"11111111111111111111111111111111",SSLID_LENGTH),0);
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].realserver_ip,real_ep_A.address().to_string().c_str());
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].realserver_port,real_ep_A.port());
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->valid,1);
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->last_time,last_time_A);
+ BOOST_CHECK_EQUAL(memcmp(pstub->get_replication_area()->session_id,"11111111111111111111111111111111",SSLID_LENGTH),0);
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->realserver_ip,real_ep_A.address().to_string().c_str());
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->realserver_port,real_ep_A.port());
test_thread1.interrupt();
- //unit_test[] update the replication_data in the replication_area
- //unit_test[] the replication_data is update
+ cout << "[241]------------------------------------------" << endl;
+ //unit_test[241] op_codeが「U」、validが1且つセッションIDが一致の場合、replication_area中の該当データを更新する。
time_t last_time_U = time(0);
boost::asio::ip::tcp::endpoint real_ep_U;
struct sslid_replication_temp_data replication_temp_data_update;
replication_temp_data_update.last_time=last_time_U;
replication_temp_data_update.realserver_addr=real_ep_U;
pstub->get_temp_list().push_back(replication_temp_data_update);
- pstub->get_replication_area()[0].valid=1;
- strcpy(pstub->get_replication_area()[0].session_id,"11111111111111111111111111111111");
+ pstub->get_replication_area()->valid=1;
+ strcpy(pstub->get_replication_area()->session_id,"11111111111111111111111111111111");
boost::thread test_thread2(boost::bind(&protocol_module_sslid_test_class::replication_interrupt,this));
sleep(5);
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].valid,1);
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].last_time,last_time_U);
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].realserver_ip,real_ep_U.address().to_string().c_str());
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].realserver_port,real_ep_U.port());
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->valid,1);
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->last_time,last_time_U);
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->realserver_ip,real_ep_U.address().to_string().c_str());
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->realserver_port,real_ep_U.port());
test_thread2.interrupt();
- //unit_test[] delete the replication_data in the replication_area
- //unit_test[] the replication_data is delete
+ cout << "[242]------------------------------------------" << endl;
+ //unit_test[242] op_codeが「D」、validが1且つセッションIDが存在する場合、replication_areaから該当データを削除する。
time_t last_time_D = time(0);
boost::asio::ip::tcp::endpoint real_ep_D;
struct sslid_replication_temp_data replication_temp_data_delete;
replication_temp_data_delete.last_time=last_time_D;
replication_temp_data_delete.realserver_addr=real_ep_D;
pstub->get_temp_list().push_back(replication_temp_data_delete);
- pstub->get_replication_area()[0].valid=1;
- strcpy(pstub->get_replication_area()[0].session_id,"11111111111111111111111111111111");
+ pstub->get_replication_area()->valid=1;
+ strcpy(pstub->get_replication_area()->session_id,"11111111111111111111111111111111");
boost::thread test_thread3(boost::bind(&protocol_module_sslid_test_class::replication_interrupt,this));
sleep(5);
- BOOST_CHECK_EQUAL(pstub->get_replication_area()[0].valid,0);
+ BOOST_CHECK_EQUAL(pstub->get_replication_area()->valid,0);
test_thread3.interrupt();
sleep(5);
delete this->replication_data_processor;
int mem_cmp_length;
char* mem_cmp_buffer;
- // unit_test[221] thread id is not in the map
- // unit_test[221] test data:put_data_to_sendbuffer() return -1
+ cout << "[243]------------------------------------------" << endl;
+ // unit_test[243] スレッドIDがmapに存在していない場合
+ // unit_test[243] 戻り値が -1で設定する。
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(), sendbuffer, datalen);
BOOST_CHECK_EQUAL(ret, -1);
- // unit_test[222] current_record_rest_size>data_size, data_size<送信バッファサイズ
- // unit_test[222] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[222] put_data_to_sendbuffer() return 0
+ cout << "[244]------------------------------------------" << endl;
+ // unit_test[244] current_record_rest_size>data_sizeで, 且つdata_size<送信バッファサイズの場合
+ // unit_test[244] 戻り値が0で設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = 20u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[223] current_record_rest_size>data_size, data_size=送信バッファサイズ
- // unit_test[223] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[223] put_data_to_sendbuffer() return 0
+ cout << "[245]------------------------------------------" << endl;
+ // unit_test[245] current_record_rest_size>data_sizeで, 且つdata_size=送信バッファサイズの場合
+ // unit_test[245] 戻り値が0で設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 1u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[234] current_record_rest_size=data_size, data_size<送信バッファサイズ
- // unit_test[234] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[234] put_data_to_sendbuffer() return 0
+ cout << "[246]------------------------------------------" << endl;
+ // unit_test[246] current_record_rest_sizeがdata_sizeで, 且つdata_size<送信バッファサイズの場合
+ // unit_test[246] 戻り値が0設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[235] current_record_rest_size=data_size, data_size=送信バッファサイズ
- // unit_test[235] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[235] put_data_to_sendbuffer() return 0
+ cout << "[247]------------------------------------------" << endl;
+ // unit_test[247] current_record_rest_sizeがdata_sizeで, 且つdata_sizeが送信バッファサイズの場合
+ // unit_test[247] 戻り値が0で設定する
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE);
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[236] current_record_rest_size>data_size,data_size>送信バッファサイズ
- // unit_test[236] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[236] put_data_to_sendbuffer() 0
+ cout << "[248]------------------------------------------" << endl;
+ // unit_test[248] current_record_rest_size>data_sizeで,且つdata_size>送信バッファサイズの場合
+ // unit_test[248] 戻り値が0で設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[237] current_record_rest_size=data_size,data_size>送信バッファサイズ
- // unit_test[237] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[237] put_data_to_sendbuffer() return 0
+ cout << "[249]------------------------------------------" << endl;
+ // unit_test[249] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
+ // unit_test[249] 戻り値が0で設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[238] current_record_rest_size<data_size, current_record_rest_size<送信バッファサイズ
- // unit_test[238] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[238] put_data_to_sendbuffer() return 0
+ cout << "[250]------------------------------------------" << endl;
+ // unit_test[250] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_size<送信バッファサイズの場合
+ // unit_test[250] 戻り値が0で設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = 10u;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[239] current_record_rest_size<data_size, current_record_rest_size=送信バッファサイズ
- // unit_test[239] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[239] put_data_to_sendbuffer() return 0
+ cout << "[251]------------------------------------------" << endl;
+ // unit_test[251] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
+ // unit_test[251] 戻り値が0で設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE);
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[240] current_record_rest_size<data_size,current_record_rest_size>送信バッファサイズ
- // unit_test[240] test data:data_begain_offset,current_record_rest_size,data_size,datalen
- // unit_test[240] put_data_to_sendbuffer() return 0
+ cout << "[252]------------------------------------------" << endl;
+ // unit_test[252] current_record_rest_size<data_sizeで,且つcurrent_record_rest_size>送信バッファサイズの場合
+ // unit_test[252] 戻り値が0で設定する。
datalen = 0;
up_thread_data = new session_thread_data_sslid;
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
//realserver_selected
void realserver_selected_test(){
- //unit_test[241] 正常系で必ずFALSEを返す
+ cout << "[253]------------------------------------------" << endl;
+ //unit_test[253] 正常系で必ずFALSEを返す
boost::asio::ip::tcp::endpoint ep;
BOOST_CHECK_EQUAL(this->realserver_selected(ep), false);
}
ts->add(BOOST_TEST_CASE( &realserver_selected_test ));
framework::master_test_suite().add(ts);
}
+
int ret = 0;
char *record_data;
- // unit_test[1] condition: recv_length = 0, record_data = NULL
- // unit_test[1] check: get_ssl_session_id() return -1 (error)
+ cout << "[1]------------------------------------------" << endl;
+ // unit_test[1] recv_length が 0で, 且つrecord_data が NULLの場合
+ // unit_test[1] 戻り値が-1(error)で設定する。
record_data = NULL;
ret = this->get_ssl_session_id(NULL, 0, session_id);
BOOST_CHECK_EQUAL(ret, -1);
- // unit_test[2] condition: recv_length = HELLO_MSG_HEADER_LENGTH, record_data != NULL, record_data has a session id
- // unit_test[2] check: get_ssl_session_id() return 0 (get a session id successed!)
+ cout << "[2]------------------------------------------" << endl;
+ // unit_test[2] recv_length が HELLO_MSG_HEADER_LENGTHで, 且つrecord_data != NULLの場合
+ // unit_test[2] 戻り値が0で設定する。
record_data = new char[HELLO_MSG_HEADER_LENGTH];
record_data[SESSION_ID_BEGAIN_OFFSET-1] = 0x20;
ret = this->get_ssl_session_id(record_data, HELLO_MSG_HEADER_LENGTH, session_id);
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[3] condition: recv_length = HELLO_MSG_HEADER_LENGTH, record_data != NULL, record_data has not a session id
- // unit_test[3] check: get_ssl_session_id() return 1 (get a session id failed!)
+ cout << "[3]------------------------------------------" << endl;
+ // unit_test[3] recv_length が HELLO_MSG_HEADER_LENGTHで, 且つrecord_data != NULLの場合
+ // unit_test[3] 戻り値が1で設定する。
record_data = new char[HELLO_MSG_HEADER_LENGTH];
record_data[SESSION_ID_BEGAIN_OFFSET-1] = 0x00;
ret = this->get_ssl_session_id(record_data, HELLO_MSG_HEADER_LENGTH, session_id);
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[4] condition: recv_length > HELLO_MSG_HEADER_LENGTH, record_data != NULL, record_data has a session id
- // unit_test[4] check: get_ssl_session_id() return 0 (get a session id successed!)
+ cout << "[4]------------------------------------------" << endl;
+ // unit_test[4] recv_length > HELLO_MSG_HEADER_LENGTHで, 且つrecord_data != NULLの場合
+ // unit_test[4] 戻り値が0で設定する。
record_data = new char[HELLO_MSG_HEADER_LENGTH+1];
record_data[SESSION_ID_BEGAIN_OFFSET-1] = 0x20;
ret = this->get_ssl_session_id(record_data, HELLO_MSG_HEADER_LENGTH+1, session_id);
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[5] condition: recv_length > HELLO_MSG_HEADER_LENGTH, record_data != NULL, record_data has not a session id
- // unit_test[5] check: get_ssl_session_id() return 1 (get a session id failed!)
+ cout << "[5]------------------------------------------" << endl;
+ // unit_test[5] recv_length > HELLO_MSG_HEADER_LENGTHで, 且つrecord_data != NULLの場合
+ // unit_test[5] 戻り値が1で設定する。
record_data = new char[HELLO_MSG_HEADER_LENGTH+1];
record_data[SESSION_ID_BEGAIN_OFFSET-1] = 0x00;
ret = this->get_ssl_session_id(record_data, HELLO_MSG_HEADER_LENGTH+1, session_id);
bool is_hello_message;
int ret;
- // unit_test[6] condition: recv_length = 0, record_data = NULL, is_message_from_client = false
- // unit_test[6] check: check_ssl_record_sendable() return -1 (error)
+ cout << "[6]------------------------------------------" << endl;
+ // unit_test[6] recv_length が 0で, 且つrecord_data が NULLで, 且つis_message_from_client が falseの場合
+ // unit_test[6] 戻り値が-1(error)で設定する。
recv_length = 0u;
record_data = NULL;
is_message_from_client = false;
record_data, recv_length, all_length, is_hello_message);
BOOST_CHECK_EQUAL(ret, -1);
- // unit_test[7] condition: 0 < recv_length < 6, record_data != NULL, is_message_from_client = false
- // unit_test[7] check: check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[7]------------------------------------------" << endl;
+ // unit_test[7] 0 < recv_length < 6で, 且つrecord_data != NULLで, 且つis_message_from_client が falseの場合
+ // unit_test[7] 戻り値が1(送信不可)で設定する。
recv_length = 5u;
record_data = new char[recv_length];
is_message_from_client = false;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[8] condition: recv_length < 6, record_data != NULL, is_message_from_client = true
- // unit_test[8] check: check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[8]------------------------------------------" << endl;
+ // unit_test[8] recv_length < 6で, 且つrecord_data != NULLで, 且つis_message_from_client が trueの場合
+ // unit_test[8] 戻り値が1(送信不可)で設定する。
recv_length = 5u;
record_data = new char[recv_length];
is_message_from_client = true;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[9] condition: recv_length = 6, record_data != NULL, is_message_from_client = true, record_data is not a ssl record
- // unit_test[9] check: check_ssl_record_sendable() return -1 (異常)
+ cout << "[9]------------------------------------------" << endl;
+ // unit_test[9] recv_length が 6で, 且つrecord_data != NULLで, 且つis_message_from_client が trueの場合
+ // unit_test[9] 戻り値が-1(異常)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x00;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[10] condition: recv_length = 6, record_data != NULL, is_message_from_client = false, record_data is not a ssl record
- // unit_test[10] check: check_ssl_record_sendable() return -1 (異常)
+ cout << "[10]------------------------------------------" << endl;
+ // unit_test[10] recv_length が 6で, 且つrecord_data != NULLで, 且つis_message_from_client が falseの場合
+ // unit_test[10] 戻り値が-1(異常)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x00;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[11] condition: recv_length = 6, is_message_from_client = true, record_data is a ssl record(minimal size), but is not a hello message.
- // unit_test[11] check: check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[11]------------------------------------------" << endl;
+ // unit_test[11] recv_length が 6で, 且つis_message_from_client が trueで, record_dataがsslレコード(最小サイズ)で、且つhello messageでない場合
+ // unit_test[11] 戻り値が0(送信可能)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[11] condition: recv_length = 6, is_message_from_client = true, record_data is a ssl record(minimal size), but is not a hello message.
- // unit_test[11] check: check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[12]------------------------------------------" << endl;
+ // unit_test[12] recv_length が 6で, 且つis_message_from_client が trueで, record_dataがsslレコード(最小サイズ)で、且つhello messageでない場合
+ // unit_test[12] 戻り値が0(送信可能)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x14;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[11] condition: recv_length = 6, is_message_from_client = true, record_data is a ssl record(minimal size), but is not a hello message.
- // unit_test[11] check: check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[13]------------------------------------------" << endl;
+ // unit_test[13] recv_length が 6で, 且つis_message_from_client が trueで, record_dataがsslレコード(最小サイズ)で、且つhello messageでない場合
+ // unit_test[13] 戻り値が0(送信可能)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x15;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[12] condition: recv_length = 6, is_message_from_client = false, record_data is a ssl record(minimal size), but is not a hello message.
- // unit_test[12] check: check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[14]------------------------------------------" << endl;
+ // unit_test[14] recv_length が 6で, 且つis_message_from_client が falseで, record_dataがsslレコード(最小サイズ)で、且つhello messageでない場合
+ // unit_test[14] 戻り値が0(送信可能)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[13] condition: recv_length = 6, is_message_from_client = true, record_data is a ssl record(minimal size), but is not a hello message.
- // unit_test[13] check: check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[15]------------------------------------------" << endl;
+ // unit_test[15] recv_length が 6で, 且つis_message_from_client が trueで, record_dataがsslレコード(最小サイズ)で、且つhello messageでない場合
+ // unit_test[15] 戻り値が0(送信可能)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[14] condition: recv_length = 6, is_message_from_client = false, record_data is a ssl record(minimal size), but is not a hello message.
- // unit_test[14] check: check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[16]------------------------------------------" << endl;
+ // unit_test[16] recv_length が 6で, 且つis_message_from_client が falseで, record_dataがsslレコード(最小サイズ)で、且つhello messageでない場合
+ // unit_test[16] 戻り値が0(送信可能)で設定する
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[15] condition: recv_length = 6, is_message_from_client = true ,record_data is a ssl record(minimal size), and is a hello message.
- // unit_test[15] check: check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[17]------------------------------------------" << endl;
+ // unit_test[17] recv_length が 6で, 且つis_message_from_client が trueで ,record_dataがsslレコード(最小サイズ)で、且つhello messageの場合
+ // unit_test[17] 戻り値が1(送信不可)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[16] condition: recv_length = 6, is_message_from_client = false ,record_data is a ssl record(minimal size), and is a hello message.
- // unit_test[16] check: check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[18]------------------------------------------" << endl;
+ // unit_test[18] recv_length が 6で, 且つis_message_from_client が falseで ,record_dataがsslレコード(最小サイズ)で、且つhello messageの場合
+ // unit_test[18] 戻り値が1(送信不可)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[17] condition:recv_length = 6, is_message_from_client = true ,record_data is a ssl record(minimal size), and is a hello message.
- // unit_test[17] check:check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[19]------------------------------------------" << endl;
+ // unit_test[19] recv_length が 6で, 且つis_message_from_client が trueで ,record_dataがsslレコード(最小サイズ)で、且つhello messageの場合
+ // unit_test[19] 戻り値が1(送信不可)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[18] condition:recv_length = 6, is_message_from_client = false ,record_data is a ssl record(minimal size), and is a hello message.
- // unit_test[18] check:check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[20]------------------------------------------" << endl;
+ // unit_test[20] recv_length が 6で, 且つis_message_from_client が falseで ,record_dataがsslレコード(最小サイズ)で、且つhello messageの場合
+ // unit_test[20] 戻り値が1(送信不可)で設定する。
recv_length = 6u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[19] condition:recv_length > 6, is_message_from_client = true ,record_data is not ssl record data
- // unit_test[19] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[21]------------------------------------------" << endl;
+ // unit_test[21] recv_length > 6で, 且つis_message_from_client が trueで,record_dataがsslレコードでない場合
+ // unit_test[21] 戻り値が-1(異常)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x00;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[20] condition:recv_length > 6, is_message_from_client = false ,record_data is not ssl record data
- // unit_test[20] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[22]------------------------------------------" << endl;
+ // unit_test[22] recv_length > 6で, 且つis_message_from_client が falseで,record_dataがsslレコードでない場合
+ // unit_test[22] 戻り値が-1(異常)で設定する
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x00;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[21] condition:recv_length > 6, is_message_from_client = true ,record_data is ssl record data, but is not a hello message
- // unit_test[21] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[23]------------------------------------------" << endl;
+ // unit_test[23] recv_length > 6で, 且つis_message_from_client が trueで ,record_dataがsslレコードで、且つhello messageでない場合
+ // unit_test[23] 戻り値が0(送信可能)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[22] condition:recv_length > 6, is_message_from_client = false ,record_data is ssl record data, but is not a hello message
- // unit_test[22] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[24]------------------------------------------" << endl;
+ // unit_test[24] recv_length > 6で, 且つis_message_from_client が falseで,record_dataがsslレコードで、且つhello messageでない場合
+ // unit_test[24] 戻り値が0(送信可能)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[23] condition:recv_length > 6, is_message_from_client = true, record_data is ssl record data, but is not a hello message
- // unit_test[23] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[25]------------------------------------------" << endl;
+ // unit_test[25] recv_length > 6で, 且つis_message_from_client が trueで, record_dataがsslレコードで、且つhello messageでない場合
+ // unit_test[25] 戻り値が0(送信可能)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[24] condition:recv_length > 6, is_message_from_client = false, record_data is ssl record data, but is not a hello message
- // unit_test[24] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[26]------------------------------------------" << endl;
+ // unit_test[26] recv_length > 6で, 且つis_message_from_client が falseで, record_dataがsslレコードで、且つhello messageでない場合
+ // unit_test[26] 戻り値が0(送信可能)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x17;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[25] condition:recv_length > 6, recv_length < HELLO_MSG_HEADER_LENGTH, is_message_from_client= true,record_data is ssl record data, is a hello message
- // unit_test[25] check:check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[27]------------------------------------------" << endl;
+ // unit_test[27] recv_length > 6で, 且つrecv_length < HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_clientが trueで,record_dataがsslレコードで、且つhello messageの場合
+ // unit_test[27] 戻り値が1(送信不可)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[26] condition:recv_length > 6, recv_length < HELLO_MSG_HEADER_LENGTH, is_message_from_client= false,record_data is ssl record data, is a hello message
- // unit_test[26] check:check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[28]------------------------------------------" << endl;
+ // unit_test[28] recv_length > 6で, 且つrecv_length < HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_clientが falseで,record_dataがsslレコードで、且つhello messageの場合
+ // unit_test[28] 戻り値が1(送信不可)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[27] condition:recv_length > 6, recv_length < HELLO_MSG_HEADER_LENGTH, is_message_from_client = false,record_data is ssl record data, is a hello message
- // unit_test[27] check:check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[29]------------------------------------------" << endl;
+ // unit_test[29] recv_length > 6で, 且つrecv_length < HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が falseで,record_dataがsslレコードで、且つhello messageの場合
+ // unit_test[29] 戻り値が1(送信不可)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
- // unit_test[28] condition:recv_length > 6, recv_length < HELLO_MSG_HEADER_LENGTH, is_message_from_client = true, record_data is ssl record data, is a hello message
- // unit_test[28] check:check_ssl_record_sendable() return 1 (送信不可)
+ cout << "[30]------------------------------------------" << endl;
+ // unit_test[30] recv_length > 6で, 且つrecv_length < HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が trueで, record_dataがsslレコードで、且つhello messageの場合
+ // unit_test[30] 戻り値が1(送信不可)で設定する。
recv_length = 10u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
-/*---------------------------------------------------------------------------------------*/
- // unit_test[29] condition:recv_length = HELLO_MSG_HEADER_LENGTH,is_message_from_client = true, record_data is ssl record data, but is a error hello message,
- // unit_test[29] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[31]------------------------------------------" << endl;
+ // unit_test[31] recv_length が HELLO_MSG_HEADER_LENGTHで,且つis_message_from_client が trueで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[31] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[30] condition:recv_length = HELLO_MSG_HEADER_LENGTH, is_message_from_client = false,record_data is ssl record data, but is a error hello message,
- // unit_test[30] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[32]------------------------------------------" << endl;
+ // unit_test[32] recv_length が HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が falseで,record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[32] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[31] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message,
- // unit_test[31] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[33]------------------------------------------" << endl;
+ // unit_test[33] recv_length が HELLO_MSG_HEADER_LENGTHで, 且つrecord_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[33] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[32] condition:recv_length = HELLO_MSG_HEADER_LENGTH, is_message_from_client = true,record_data is ssl record data, but is a error hello message,
- // unit_test[32] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[34]------------------------------------------" << endl;
+ // unit_test[34] recv_length が HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が trueで,record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[34] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[33] condition:recv_length = HELLO_MSG_HEADER_LENGTH, is_message_from_client = false,record_data is ssl record data, but is a error hello message,
- // unit_test[33] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[35]------------------------------------------" << endl;
+ // unit_test[35] recv_length が HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が falseで,record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[35] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[34] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[34] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[36]------------------------------------------" << endl;
+ // unit_test[36] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[36] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[35] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[35] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[37]------------------------------------------" << endl;
+ // unit_test[37] recv_length が HELLO_MSG_HEADER_LENGTHで, 且つrecord_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[37] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[36] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[36] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[38]------------------------------------------" << endl;
+ // unit_test[38] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[38] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[37] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[37] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[39]------------------------------------------" << endl;
+ // unit_test[39] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[39] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[38] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[38] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[40]------------------------------------------" << endl;
+ // unit_test[40] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[40] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[39] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[39] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[41]------------------------------------------" << endl;
+ // unit_test[41] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[41] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[40] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[40] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[42]------------------------------------------" << endl;
+ // unit_test[42] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[42] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[41] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[41] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[43]------------------------------------------" << endl;
+ // unit_test[43] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[43] 戻り値が-1(異常)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[42] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[42] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[44]------------------------------------------" << endl;
+ // unit_test[44] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[44] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[43] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[43] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[45]------------------------------------------" << endl;
+ // unit_test[45] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[45] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[44] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[44] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[46]------------------------------------------" << endl;
+ // unit_test[46] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[46] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[45] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[45] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[47]------------------------------------------" << endl;
+ // unit_test[47] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[47] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[46] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[46] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[48]------------------------------------------" << endl;
+ // unit_test[48] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[48] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[47] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[47] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[49]------------------------------------------" << endl;
+ // unit_test[49] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[49] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[48] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[48] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[50]------------------------------------------" << endl;
+ // unit_test[50] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[50] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[49] condition:recv_length = HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[49] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[51]------------------------------------------" << endl;
+ // unit_test[51] recv_length が HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[51] 戻り値が0(送信可能)で設定する。
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[50] condition:recv_length > HELLO_MSG_HEADER_LENGTH, is_message_from_client = true,record_data is ssl record data, but is a error hello message,
- // unit_test[50] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[52]------------------------------------------" << endl;
+ // unit_test[52] recv_length > HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が trueで,record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[52] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[51] condition:recv_length > HELLO_MSG_HEADER_LENGTH, is_message_from_client = false,record_data is ssl record data, but is a error hello message,
- // unit_test[51] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[53]------------------------------------------" << endl;
+ // unit_test[53] recv_length > HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が falseで,record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[53] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[52] condition:recv_length > HELLO_MSG_HEADER_LENGTH, is_message_from_client = true, record_data is ssl record data, but is a error hello message,
- // unit_test[52] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[54]------------------------------------------" << endl;
+ // unit_test[54] recv_length > HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が trueで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[54] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[53] condition:recv_length > HELLO_MSG_HEADER_LENGTH, is_message_from_client = false, record_data is ssl record data, but is a error hello message,
- // unit_test[53] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[55]------------------------------------------" << endl;
+ // unit_test[55] recv_length > HELLO_MSG_HEADER_LENGTHで, 且つis_message_from_client が falseで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[55] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[54] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[54] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[56]------------------------------------------" << endl;
+ // unit_test[56] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[56] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[55] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[55] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[57]------------------------------------------" << endl;
+ // unit_test[57] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[57] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[56] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[56] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[58]------------------------------------------" << endl;
+ // unit_test[58] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[58] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[57] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[57] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[59]------------------------------------------" << endl;
+ // unit_test[59] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[59] 戻る値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[58] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[58] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[60]------------------------------------------" << endl;
+ // unit_test[60] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[60] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[59] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[59] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[61]------------------------------------------" << endl;
+ // unit_test[61] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[61] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[60] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[60] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[62]------------------------------------------" << endl;
+ // unit_test[62] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[62] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[61] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, but is a error hello message
- // unit_test[61] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[63]------------------------------------------" << endl;
+ // unit_test[63] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,誤りのhello messageの場合
+ // unit_test[63] 戻り値が-1(異常)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[62] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[62] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[64]------------------------------------------" << endl;
+ // unit_test[64] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[64] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[63] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[63] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[65]------------------------------------------" << endl;
+ // unit_test[65] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[65] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[64] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[64] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[66]------------------------------------------" << endl;
+ // unit_test[66] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[66] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[65] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is client hello message
- // unit_test[65] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[67]------------------------------------------" << endl;
+ // unit_test[67] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つclient hello messageの場合
+ // unit_test[67] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[66] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[66] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[68]------------------------------------------" << endl;
+ // unit_test[68] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[68] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[67] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[67] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[69]------------------------------------------" << endl;
+ // unit_test[69] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[69] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[68] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[68] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[70]------------------------------------------" << endl;
+ // unit_test[70] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[70] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[69] condition:recv_length > HELLO_MSG_HEADER_LENGTH, record_data is ssl record data, and is server hello message
- // unit_test[69] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[71]------------------------------------------" << endl;
+ // unit_test[71] recv_length > HELLO_MSG_HEADER_LENGTHで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[71] 戻り値が0(送信可能)で設定する。
recv_length = 100u;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[70] condition:recv_length = MAX_SSLID_BUFFER_SIZE, record_data is ssl record data, and is server hello message
- // unit_test[70] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[72]------------------------------------------" << endl;
+ // unit_test[72] recv_length が MAX_SSLID_BUFFER_SIZEで, record_dataがsslレコードで,且つserver hello messageの場合
+ // unit_test[72] 戻り値が0(送信可能)で設定する。
recv_length = MAX_SSLID_BUFFER_SIZE;
record_data = new char[recv_length];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
- // unit_test[71] condition:record_data = NULL
- // unit_test[71] check:check_ssl_record_sendable() return -1 (異常)
+ cout << "[73]------------------------------------------" << endl;
+ // unit_test[73] record_data が NULLの場合
+ // unit_test[73] 戻り値が-1(異常)で設定する。
record_data = NULL;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data, 0u, all_length, is_hello_message);
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
- // unit_test[72] condition:recv_length=SESSION_ID_BEGAIN_OFFSET, record_data is ssl record data, but no session id
- // uint_test[72] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[74]------------------------------------------" << endl;
+ // unit_test[74] recv_lengthがSESSION_ID_BEGAIN_OFFSETで, record_dataがsslレコードで,セッションIDがない場合
+ // uint_test[74] 戻り値が0(送信可能)で設定する。
recv_length = SESSION_ID_BEGAIN_OFFSET;
record_data = new char[SESSION_ID_BEGAIN_OFFSET];
record_data[0] = 0x16;
BOOST_CHECK_EQUAL(all_length, 44u);
delete[] record_data;
- // unit_test[73] condition:recv_length>SESSION_ID_BEGAIN_OFFSET, record_data is ssl record data, but no session id
- // uint_test[73] check:check_ssl_record_sendable() return 0 (送信可能)
+ cout << "[75]------------------------------------------" << endl;
+ // unit_test[75] recv_length>SESSION_ID_BEGAIN_OFFSETで, record_dataがsslレコードで,セッションIDがない場合
+ // uint_test[75] 戻り値が0(送信可能)で設定する。
recv_length = SESSION_ID_BEGAIN_OFFSET+1;
record_data = new char[SESSION_ID_BEGAIN_OFFSET];
record_data[0] = 0x16;
test_data1.session_id = "test_id123456789abcdefghijklmnop";
test_data1.op_code = 'A';
test_data1.realserver_addr = endpoint;
- test_data1.last_time = time(0);
+ test_data1.last_time = 1000;
this->temp_list.push_back(test_data1);
this->temp_list.push_back(test_data1);
this->temp_list.push_back(test_data1);
// get_from_temp_list test thread
void get_from_temp_list_thread2() {
+ boost::asio::ip::tcp::endpoint endpoint;
l7vs::sslid_replication_temp_data get_data;
this->get_from_temp_list(get_data);
+ BOOST_CHECK_EQUAL(get_data.session_id, "test_id123456789abcdefghijklmnop");
+ BOOST_CHECK_EQUAL(get_data.op_code, 'A');
+ BOOST_CHECK_EQUAL(get_data.realserver_addr, endpoint);
+ BOOST_CHECK_EQUAL(get_data.last_time, 1000);
}
// sslid_replication_data_processor
void sslid_replication_data_processor_test(int expecting_maxlist,
l7vs::sslid_replication_data* expecting_replication_area,
- boost::asio::ip::tcp::endpoint expecting_virtual_service_endpoint) {
+ boost::asio::ip::tcp::endpoint expecting_virtual_service_endpoint,
+ char* replication_data_area, int data_area_size, char* header_start_address,
+ char* real_data_start_address) {
+
+ int maxlist_test = 5;
+ boost::asio::ip::tcp::endpoint test_virtual_service_endpoint;
+ test_virtual_service_endpoint.port(999);
+ l7vs::sslid_replication_data_header* first_header = reinterpret_cast<sslid_replication_data_header*>(header_start_address);
- // unit_test[1] member variable initialization test
+ cout << "[1]------------------------------------------" << endl;
+ // unit_test[1] メンバー変数が初期化されるチェックする。
BOOST_CHECK_EQUAL(this->maxlist, expecting_maxlist);
BOOST_CHECK_EQUAL(this->max_temp_list, expecting_maxlist * 2);
BOOST_CHECK_EQUAL(this->temp_list.size(), 0u);
BOOST_CHECK_EQUAL(this->replication_area, expecting_replication_area);
+ BOOST_CHECK_EQUAL(this->virtual_service_endpoint, expecting_virtual_service_endpoint);
BOOST_CHECK_EQUAL(this->getloglevel, replication_getloglevel);
BOOST_CHECK_EQUAL(this->putLogFatal, replication_putLogFatal);
BOOST_CHECK_EQUAL(this->putLogError, replication_putLogError);
BOOST_CHECK_EQUAL(this->putLogWarn, replication_putLogWarn);
BOOST_CHECK_EQUAL(this->putLogInfo, replication_putLogInfo);
BOOST_CHECK_EQUAL(this->putLogDebug, replication_putLogDebug);
+
+
+ cout << "[2]------------------------------------------" << endl;
+ // unit_test[2] replication_data_area が NULLの場合, 例外が発生しない。
+ try {
+ sslid_replication_data_processor test_object1(maxlist_test,
+ NULL, SECTION_NUMBER, test_virtual_service_endpoint, replication_ingetloglevel,
+ replication_inputLogFatal, replication_inputLogError,
+ replication_inputLogWarn, replication_inputLogInfo,
+ replication_inputLogDebug);
+ } catch (...) {
+ BOOST_ERROR("exception: sslid_replication_data_processor");
+ }
+
+ cout << "[3]------------------------------------------" << endl;
+ // unit_test[3] maxlist < 0の場合, 例外が発生する。
+ bool exception_occured = false;
+ try {
+ sslid_replication_data_processor test_object(-1,
+ replication_data_area, SECTION_NUMBER, test_virtual_service_endpoint, replication_ingetloglevel,
+ replication_inputLogFatal, replication_inputLogError,
+ replication_inputLogWarn, replication_inputLogInfo,
+ replication_inputLogDebug);
+ } catch (...) {
+ exception_occured = true;
+ }
+ BOOST_CHECK(exception_occured);
+
+ cout << "[4]------------------------------------------" << endl;
+ // unit_test[4] maxlist = 0の場合, 例外が発生しない。
+ try {
+ sslid_replication_data_processor test_object(0,
+ replication_data_area, SECTION_NUMBER, test_virtual_service_endpoint, replication_ingetloglevel,
+ replication_inputLogFatal, replication_inputLogError,
+ replication_inputLogWarn, replication_inputLogInfo,
+ replication_inputLogDebug);
+ } catch (...) {
+ BOOST_ERROR("exception: sslid_replication_data_processor");
+ }
+
+ cout << "[5]------------------------------------------" << endl;
+ // unit_test[5] maxlist が 1 の場合, 例外が発生しない。
+ try {
+ sslid_replication_data_processor test_object(1,
+ replication_data_area, SECTION_NUMBER, test_virtual_service_endpoint, replication_ingetloglevel,
+ replication_inputLogFatal, replication_inputLogError,
+ replication_inputLogWarn, replication_inputLogInfo,
+ replication_inputLogDebug);
+ } catch (...) {
+ BOOST_ERROR("exception: sslid_replication_data_processor");
+ }
+
+ cout << "[6]------------------------------------------" << endl;
+ // unit_test[6] sslid_replication_area_size < 0, 例外が発生する。
+ exception_occured = false;
+ try {
+ memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
+ for(int i = 0; i < 128; i++){
+ l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
+ temp->size = static_cast<size_t>(2 * sizeof(l7vs::sslid_replication_data));
+ }
+ l7vs::sslid_replication_data_processor test_object2(2,
+ replication_data_area, -1, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ } catch (...) {
+ exception_occured = true;
+ }
+ BOOST_CHECK(exception_occured);
+
+ cout << "[7]------------------------------------------" << endl;
+ // unit_test[7] sslid_replication_area_sizeが0の場合, 例外が発生しない。
+ try {
+ memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
+ for(int i = 0; i < 128; i++){
+ l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
+ temp->size = static_cast<size_t>(2 * sizeof(l7vs::sslid_replication_data));
+ }
+ l7vs::sslid_replication_data_processor test_object2(2,
+ replication_data_area, 0, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ } catch (...) {
+ BOOST_ERROR("exception: sslid_replication_data_processor");
+ }
+
+ cout << "[8]------------------------------------------" << endl;
+ // unit_test[8] virtual service が存在して、且つvirtual serviceのデータエリアが実際サイズより小さい場合、
+ // unit_test[8] virtual service対応のreplicationデータヘッダーの情報を再設定する。
+ int max_list_size = 3;
+ std::string virtual_service_ip = "192.168.120.102";
+ memset(replication_data_area, 0, data_area_size);
+ test_virtual_service_endpoint.address(boost::asio::ip::address::from_string(virtual_service_ip));
+ test_virtual_service_endpoint.port(80);
+ memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
+ first_header->virtualserver_port = 80;
+ first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
+ first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
+ l7vs::sslid_replication_data_processor test_object3(
+ max_list_size, replication_data_area,
+ SECTION_NUMBER, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ // the virtual service's size is resetted, check it
+ size_t expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
+ BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size);
+
+ cout << "[9]------------------------------------------" << endl;
+ // unit_test[9] virtual service対応のreplicationデータヘッダーの情報を再設定して、ヘッダーエリアがfullの場合,処理を行わない。
+ try {
+ memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
+ for(int i = 0; i < 128; i++){
+ l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
+ temp->size = sizeof(l7vs::sslid_replication_data);
+ }
+ memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
+ first_header->virtualserver_port = 80;
+ first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
+ first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
+ l7vs::sslid_replication_data_processor test_object4(
+ max_list_size, replication_data_area,
+ SECTION_NUMBER, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ } catch (...) {
+ BOOST_ERROR("exception: sslid_replication_data_processor");
+ }
+
+ cout << "[10]------------------------------------------" << endl;
+ // unit_test[10] virtual service対応のreplicationデータヘッダーの情報を再設定する時, ヘッダーエリアがfullでない場合
+ // unit_test[10] replicationデータヘッダーの情報を変更する。
+ memset(replication_data_area, 0, data_area_size);
+ memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
+ first_header->virtualserver_port = 80;
+ first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
+ first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
+ l7vs::sslid_replication_data_processor test_object5(
+ max_list_size, replication_data_area,
+ SECTION_NUMBER, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ // the virtual service information's size is resized, get it
+ expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
+ // the virtual service information's offset is resized, get it
+ size_t expecting_offset = static_cast<size_t>(real_data_start_address - header_start_address + first_header->size);
+ // size check
+ BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size);
+ // offset check
+ BOOST_CHECK_EQUAL((first_header+1)->offset, expecting_offset);
+
+ cout << "[11]------------------------------------------" << endl;
+ // unit_test[11] virtual service対応のreplicationデータヘッダーが存在しなくて、且つヘッダーエリアがfullでなく、且つ
+ // unit_test[11] replicationデータエリアの領域が足りない場合、処理を行わない。
+ try {
+ memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
+ std::string temp_virtual_service_ip = "255.255.255.255";
+ for(int i = 0; i < 128; i++){
+ l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
+ temp->size = static_cast<size_t>((max_list_size + 1) * sizeof(l7vs::sslid_replication_data));
+ memcpy(temp->virtualserver_ip, temp_virtual_service_ip.c_str(), temp_virtual_service_ip.length());
+ if(i == 127) {
+ temp->size = 0;
+ }
+ }
+ l7vs::sslid_replication_data_processor test_object6(
+ max_list_size, replication_data_area,
+ SECTION_NUMBER, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ } catch (...) {
+ BOOST_ERROR("exception: sslid_replication_data_processor");
+ }
+
+ cout << "[12]------------------------------------------" << endl;
+ // unit_test[12] virtual service対応のreplicationデータヘッダーが存在しなくて、且つreplicationデータエリアの領域が足りる場合、
+ // unit_test[12] ヘッダーエリアに、virtual serviceを追加する。
+ memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
+ l7vs::sslid_replication_data_processor test_object7(
+ max_list_size, replication_data_area,
+ SECTION_NUMBER, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
+ expecting_offset = static_cast<size_t>(real_data_start_address - header_start_address);
+ // session information's size check
+ BOOST_CHECK_EQUAL(first_header->size, expecting_size);
+ // session information's offset check
+ BOOST_CHECK_EQUAL(first_header->offset, expecting_offset);
+
+ cout << "[13]------------------------------------------" << endl;
+ // unit_test[13] virtual serviceが存在しなくて、且つヘッダーエリアがfullの場合,処理を行わない。
+ try {
+ memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
+ std::string temp_virtual_service_ip = "255.255.255.255";
+ for(int i = 0; i < 128; i++){
+ l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
+ temp->size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
+ memcpy(temp->virtualserver_ip, temp_virtual_service_ip.c_str(), temp_virtual_service_ip.length());
+ }
+ l7vs::sslid_replication_data_processor test_object8(
+ max_list_size, replication_data_area,
+ SECTION_NUMBER, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ } catch (...) {
+ BOOST_ERROR("exception: sslid_replication_data_processor");
+ }
+
+ cout << "[14]------------------------------------------" << endl;
+ // unit_test[14] virtual serviceのipがipv6で、virtual serviceが存在して、且つ
+ // unit_test[14] virtual service対応のデータ領域が足りない場合、virtual service対応のreplicationデータヘッダーの情報を再設定する。
+ virtual_service_ip = "abcd:21d0:8936:4866:eefe:567d:3a4b:1230";
+ memset(replication_data_area, 0, data_area_size);
+ test_virtual_service_endpoint.address(boost::asio::ip::address::from_string(virtual_service_ip));
+ test_virtual_service_endpoint.port(80);
+ memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
+ first_header->virtualserver_port = 80;
+ first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
+ first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
+ l7vs::sslid_replication_data_processor test_object9(
+ max_list_size, replication_data_area,
+ SECTION_NUMBER, test_virtual_service_endpoint,
+ replication_ingetloglevel, replication_inputLogFatal,
+ replication_inputLogError, replication_inputLogWarn,
+ replication_inputLogInfo, replication_inputLogDebug);
+ // the virtual service's size is resetted, check it
+ expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
+ BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size);
}
// put_into_temp_list_test
l7vs::sslid_replication_temp_data test_data2;
l7vs::sslid_replication_temp_data test_data3;
- // unit_test[2] put into temp_list test(put into 1 item)
+ cout << "[15]------------------------------------------" << endl;
+ // unit_test[15] 1つのアイテムの場合、temp_listにデータを追加する。
test_data1.session_id = session_id1;
test_data1.last_time = last_time;
test_data1.op_code = 'A';
// realserver_addr check
BOOST_CHECK_EQUAL(put_into_data.realserver_addr, test_data1.realserver_addr);
- // unit_test[3] put into temp_list test(put into 2 items)
+ cout << "[16]------------------------------------------" << endl;
+ // unit_test[16] 2つのアイテムの場合、temp_listにデータを追加する。
test_data1.session_id = session_id1;
test_data1.last_time = last_time;
test_data1.op_code = 'U';
BOOST_CHECK_EQUAL(first_put_into_data.realserver_addr, test_data1.realserver_addr);
BOOST_CHECK_EQUAL(second_put_into_data.realserver_addr, test_data2.realserver_addr);
- // unit_test[4] put into temp_list test(put into 3 items)
+ cout << "[17]------------------------------------------" << endl;
+ // unit_test[17] 3つのアイテムの場合、temp_listにデータを追加する。
test_data1.session_id = session_id1;
test_data1.last_time = last_time;
test_data1.op_code = 'U';
BOOST_CHECK_EQUAL(second_put_into_data.realserver_addr, test_data2.realserver_addr);
BOOST_CHECK_EQUAL(third_put_into_data.realserver_addr, test_data3.realserver_addr);
- // unit_test[5] multi-threads test
+ cout << "[18]------------------------------------------" << endl;
+ // unit_test[18] マルチスレッドの場合、temp_listにデータを正常追加する。
try{
boost::thread_group thread_group;
this->temp_list.clear();
}
}
- // unit_test[6] while temp_list size = max_temp_list, test it
+ cout << "[19]------------------------------------------" << endl;
+ // unit_test[19] マルチスレッド がつ temp_listのサイズが max_temp_listの場合、temp_listにデータを正常追加する。
try{
boost::thread_group thread_group;
this->temp_list.clear();
BOOST_CHECK_EQUAL(temp.op_code, 'A');
}
- // unit_test[7] while temp_list size > max_temp_list, test it
+ cout << "[20]------------------------------------------" << endl;
+ // unit_test[20] ルチスレッド がつ temp_list size > max_temp_listの場合、temp_listにデータを正常追加する。
try{
boost::thread_group thread_group;
this->temp_list.clear();
BOOST_CHECK_EQUAL(temp.op_code, 'A');
}
- // unit_test[8] while temp_list is full and one thread is waiting, test
+ cout << "[21]------------------------------------------" << endl;
+ // unit_test[21] temp_listがfullで、且1つのスレッドが待ち状態の場合、waitingフラグを待ちに設定する。
try{
boost::thread_group thread_group;
BOOST_ERROR("exception: put_into_temp_list");
}
- // unit_test[9] while temp_list is full and two threads are waiting, test
+ cout << "[22]------------------------------------------" << endl;
+ // unit_test[22] temp_listがfullで、且2つのスレッドが待ち状態の場合、waitingフラグを待ちに設定する。
try{
boost::thread_group thread_group;
BOOST_ERROR("exception: put_into_temp_list");
}
- // unit_test[10] while temp_list is full and 3 threads are waiting, test
+ cout << "[23]------------------------------------------" << endl;
+ // unit_test[23] temp_listがfullで、且3つのスレッドが待ち状態の場合、waitingフラグを待ちに設定する。
try{
boost::thread_group thread_group;
this->replication_area_lock = lock_function;
this->replication_area_unlock = unlock_function;
- // unit_test[11] when temp_list is empty, test it
+ cout << "[24]------------------------------------------" << endl;
+ // unit_test[24] temp_listが空の場合、例外が発生しない。
try {
this->temp_list.clear();
boost::thread test_thread1(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[12] data add test(when data area has one sslip_replication_data)
+ cout << "[25]------------------------------------------" << endl;
+ // unit_test[25] op_codeが「A」で、且つreplication_areaに1つのデータが存在する場合、新データを追加する。
temp_session_id = "temp_id1rtrrrrtttttteeeeeeemmmmp";
memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
temp_data.last_time = time(0);
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[13] data add test(when data area has two sslip_replication_data,and the first sslip_replication_data's valid flag is unused)
+ cout << "[26]------------------------------------------" << endl;
+ // unit_test[26] op_codeが「A」で、且つreplication_areaに2つのデータが存在して、且つ1つ目データのvalidフラグが0の場合、新のデータを追加する。
memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
temp_session_id = "temp_id2eeeeeetttteeeeeeemmmmuui";
temp_data.last_time = time(0);
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[14] data add test(when data area has no sslip_replication_data)
+ cout << "[27]------------------------------------------" << endl;
+ // unit_test[27] op_codeが「A」で、且つreplication_areaにデータが存在しない場合、新のデータを追加する。
memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
realserver_addr.address(boost::asio::ip::address::from_string("192.168.120.102"));
realserver_addr.port(80);
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[15] data update test
- // update the added data
+ cout << "[28]------------------------------------------" << endl;
+ // unit_test[28] op_codeが「U」で、且つセッションIDが存在している場合、該当データを更新する。
realserver_addr.address(boost::asio::ip::address::from_string("255.255.255.255"));
realserver_addr.port(port);
test_data1.op_code = 'U';
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[16] data delete test
+ cout << "[29]------------------------------------------" << endl;
+ // unit_test[29] op_codeが「D」で、且つセッションIDが存在している場合、該当データを削除する。
realserver_addr.address(boost::asio::ip::address::from_string("192.168.120.102"));
realserver_addr.port(80);
test_data1.op_code = 'D';
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[17] when op_code is out of 'A','U','D', old data is not changed test
+ cout << "[30]------------------------------------------" << endl;
+ // unit_test[30] op_codeが「A」,「U」,「D」以外の場合、データを変更しない。
memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
realserver_addr.address(boost::asio::ip::address::from_string("192.168.120.102"));
realserver_addr.port(port);
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[18] replication_area_lock function is called test
+ cout << "[31]------------------------------------------" << endl;
+ // unit_test[31] データを追加するの場合、replication_area_lock関数を呼び出す。
memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
test_data1.op_code = 'A';
this->temp_list.clear();
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[19] replication_area_unlock function is called test
+ cout << "[32]------------------------------------------" << endl;
+ // unit_test[32] データを追加するの場合、replication_area_unlock関数を呼び出す。
memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
test_data1.op_code = 'A';
this->temp_list.clear();
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[20] ipv6 test(condition: while data area has no sslip_replication_data and one data will add to to the data area)
+ cout << "[33]------------------------------------------" << endl;
+ // unit_test[33] endpointがipv6で、replicationエリアにデータがなくて、該当ipv6のendpointを追加する。
memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
realserver_addr.address(boost::asio::ip::address::from_string("abcd:21d0:8936:4866:eefe:567d:3a4b:1230"));
realserver_addr.port(80);
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[21] ipv6 test(condition: while update data)
+ cout << "[34]------------------------------------------" << endl;
+ // unit_test[34] op_codeが「U」で、endpointがipv6で、replicationエリアにデータがある場合、該当ipv6のendpointを更新する。
realserver_addr.address(boost::asio::ip::address::from_string("1:21d0:1:4866:1:1:3a4b:1230"));
realserver_addr.port(port);
test_data1.op_code = 'U';
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[22] ipv6 test(condition: while delete data)
+ cout << "[35]------------------------------------------" << endl;
+ // unit_test[35] op_codeが「D」で、endpointがipv6で、replicationエリアにデータがある場合、該当ipv6のendpointを変更しない、validに0を設定する。
realserver_addr.address(boost::asio::ip::address::from_string("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"));
test_data1.op_code = 'D';
test_data1.last_time = delete_time;
boost::function<void(void)> register_function = &lock_function;
- // unit_test[23] registered function is NULL test
+ cout << "[36]------------------------------------------" << endl;
+ // unit_test[36] register_replication_area_lock()関数のパラメータがNULLの場合、replication_area_lockがNULLある。
this->register_replication_area_lock(NULL);
BOOST_CHECK_EQUAL(this->replication_area_lock.empty(), true);
- // unit_test[24] while registered replication_area_lock function is not NULL test
+ cout << "[37]------------------------------------------" << endl;
+ // unit_test[37] register_replication_area_lock()関数のパラメータがNULLでない場合、replication_area_lockがパラメータと一致する。
this->register_replication_area_lock(register_function);
// function registered correctly check;
BOOST_CHECK_EQUAL(this->replication_area_lock, lock_function);
boost::function<void(void)> register_function = &unlock_function;
- // unit_test[25] registered function is NULL test
+ cout << "[38]------------------------------------------" << endl;
+ // unit_test[38] register_replication_area_unlock()関数のパラメータがNULLの場合、replication_area_unlockがNULLある。
this->register_replication_area_unlock(NULL);
// function registered correctly check;
BOOST_CHECK_EQUAL(this->replication_area_unlock.empty(), true);
- // unit_test[26] while registered replication_area_unlock function is not NULL, test
+ cout << "[39]------------------------------------------" << endl;
+ // unit_test[39] register_replication_area_unlock()関数のパラメータがNULLでない場合、replication_area_unlockがパラメータと一致する。
this->register_replication_area_unlock(register_function);
// function registered correctly check;
BOOST_CHECK_EQUAL(this->replication_area_unlock, unlock_function);
l7vs::sslid_replication_temp_data get_data;
boost::asio::ip::tcp::endpoint endpoint;
- // unit_test[27] when temp_list is empty, test
+ cout << "[40]------------------------------------------" << endl;
+ // unit_test[40] temp_listが空の場合、例外が発生しない。
try{
this->temp_list.clear();
boost::thread test_thread(boost::bind(&sslid_replication_data_processor_test_class::get_from_temp_list, this, get_data));
this->put_into_temp_list(test_data1);
sleep(1);
- // unit_test[28] muliti-threads test
+ cout << "[41]------------------------------------------" << endl;
+ // unit_test[41] マルチスレッドの場合、temp_listにデータを正常取得する。
try {
this->temp_list.clear();
boost::thread_group thread_group1;
BOOST_ERROR("exception: get_from_temp_list");
}
- // unit_test[29] first element of temp_list is removed test
+ cout << "[42]------------------------------------------" << endl;
+ // unit_test[42] temp_listにデータがある場合、1つ目のデータを削除する。
test_data1.session_id = "test_id123456789abcdefghijklmnop";
test_data1.op_code = 'T';
test_data1.realserver_addr = endpoint;
// last_time check
BOOST_CHECK_EQUAL(leave_data.last_time, test_data2.last_time);
- // unit_test[30] get data test(list has one item)
+ cout << "[43]------------------------------------------" << endl;
+ // unit_test[43] temp_listに1つデータがある場合、get_from_temp_list()で取得したデータがtemp_listの内容と一致する。
test_data1.op_code = 'A';
this->temp_list.clear();
this->temp_list.push_back(test_data1);
// last_time check
BOOST_CHECK_EQUAL(get_data.last_time, test_data1.last_time);
- // unit_test[31] get data test(list has two items, get the item which first put into)
+ cout << "[44]------------------------------------------" << endl;
+ // unit_test[44] temp_listに2つデータがある場合、get_from_temp_list()で取得したデータがtemp_listの1つ目の内容と一致する。
test_data1.op_code = 'U';
test_data2.op_code = 'D';
this->temp_list.clear();
// get_replication_area_test
void get_replication_area_test(sslid_replication_data* expecting_sslid_replication_data) {
- // unit_test[32] get_replication_area function test
+ cout << "[45]------------------------------------------" << endl;
+ // unit_test[45] get_replication_area()関数の戻り値はコンストラクタが正常に生成する値と一致する。
sslid_replication_data* get_data = this->get_replication_area();
BOOST_CHECK_EQUAL(get_data, expecting_sslid_replication_data);
}
char *header_start_address = replication_data_area;
char *real_data_start_address = header_start_address + 128*sizeof(struct l7vs::sslid_replication_data_header);
boost::asio::ip::tcp::endpoint virtual_service_endpoint;
- l7vs::sslid_replication_data_header* first_header = (sslid_replication_data_header*)header_start_address;
memset(replication_data_area, 0, data_area_size);
replication_inputLogError, replication_inputLogWarn,
replication_inputLogInfo, replication_inputLogDebug);
test_object.sslid_replication_data_processor_test(maxlist_test,
- (l7vs::sslid_replication_data*) real_data_start_address,
- virtual_service_endpoint);
-
- // unit_test[33] while replication_data_area is NULL, exception not occur, test it
- try {
- sslid_replication_data_processor test_object1(maxlist_test,
- NULL, SECTION_NUMBER, virtual_service_endpoint, replication_ingetloglevel,
- replication_inputLogFatal, replication_inputLogError,
- replication_inputLogWarn, replication_inputLogInfo,
- replication_inputLogDebug);
- } catch (...) {
- BOOST_ERROR("exception: sslid_replication_data_processor");
- }
-
- // unit_test[34] while maxlist < 0, exception occur, test it
- bool exception_occured = false;
- try {
- sslid_replication_data_processor test_object(-1,
- replication_data_area, SECTION_NUMBER, virtual_service_endpoint, replication_ingetloglevel,
- replication_inputLogFatal, replication_inputLogError,
- replication_inputLogWarn, replication_inputLogInfo,
- replication_inputLogDebug);
- } catch (...) {
- exception_occured = true;
- }
- BOOST_CHECK(exception_occured);
-
- // unit_test[35] while maxlist = 0, exception not occur, test it
- try {
- sslid_replication_data_processor test_object(0,
- replication_data_area, SECTION_NUMBER, virtual_service_endpoint, replication_ingetloglevel,
- replication_inputLogFatal, replication_inputLogError,
- replication_inputLogWarn, replication_inputLogInfo,
- replication_inputLogDebug);
- } catch (...) {
- BOOST_ERROR("exception: sslid_replication_data_processor");
- }
-
- // unit_test[36] while maxlist = 1, exception not occur, test it
- try {
- sslid_replication_data_processor test_object(1,
- replication_data_area, SECTION_NUMBER, virtual_service_endpoint, replication_ingetloglevel,
- replication_inputLogFatal, replication_inputLogError,
- replication_inputLogWarn, replication_inputLogInfo,
- replication_inputLogDebug);
- } catch (...) {
- BOOST_ERROR("exception: sslid_replication_data_processor");
- }
-
- // unit_test[37] while sslid_replication_area_size < 0, exception occur, test it
- exception_occured = false;
- try {
- memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
- for(int i = 0; i < 128; i++){
- l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
- temp->size = static_cast<size_t>(2 * sizeof(l7vs::sslid_replication_data));
- }
- l7vs::sslid_replication_data_processor test_object2(2,
- replication_data_area, -1, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- } catch (...) {
- exception_occured = true;
- }
- BOOST_CHECK(exception_occured);
-
- // unit_test[38] while sslid_replication_area_size = 0, exception not occur, test it
- try {
- memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
- for(int i = 0; i < 128; i++){
- l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
- temp->size = static_cast<size_t>(2 * sizeof(l7vs::sslid_replication_data));
- }
- l7vs::sslid_replication_data_processor test_object2(2,
- replication_data_area, 0, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- } catch (...) {
- BOOST_ERROR("exception: sslid_replication_data_processor");
- }
-
- // unit_test[39] when virtual service data has exist and the virtual service's data area is samller than needed,
- // unit_test[39] need to reset the virtual service session information, test
- int max_list_size = 3;
- std::string virtual_service_ip = "192.168.120.102";
- memset(replication_data_area, 0, data_area_size);
- virtual_service_endpoint.address(boost::asio::ip::address::from_string(virtual_service_ip));
- virtual_service_endpoint.port(80);
- memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
- first_header->virtualserver_port = 80;
- first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
- first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
- l7vs::sslid_replication_data_processor test_object3(
- max_list_size, replication_data_area,
- SECTION_NUMBER, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- // the virtual service's size is resetted, check it
- size_t expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
- BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size);
-
- // unit_test[40] when resize the virtual service session information, if header area is full, nothing to do, test it
- try {
- memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
- for(int i = 0; i < 128; i++){
- l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
- temp->size = sizeof(l7vs::sslid_replication_data);
- }
- memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
- first_header->virtualserver_port = 80;
- first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
- first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
- l7vs::sslid_replication_data_processor test_object4(
- max_list_size, replication_data_area,
- SECTION_NUMBER, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- } catch (...) {
- BOOST_ERROR("exception: sslid_replication_data_processor");
- }
-
- // unit_test[41] when resize the virtual service session information, if header area is not full,
- // unit_test[41] virtual service session information is changed, test it
- memset(replication_data_area, 0, data_area_size);
- memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
- first_header->virtualserver_port = 80;
- first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
- first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
- l7vs::sslid_replication_data_processor test_object5(
- max_list_size, replication_data_area,
- SECTION_NUMBER, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- // the virtual service information's size is resized, get it
- expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
- // the virtual service information's offset is resized, get it
- size_t expecting_offset = static_cast<size_t>(real_data_start_address - header_start_address + first_header->size);
- // size check
- BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size);
- // offset check
- BOOST_CHECK_EQUAL((first_header+1)->offset, expecting_offset);
-
- // unit_test[42] when virtual service data is not exist and header area is not full and the
- // unit_test[42] sslip replication data area there is no enough sapce to add data, nothing to do, test it
- try {
- memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
- std::string temp_virtual_service_ip = "255.255.255.255";
- for(int i = 0; i < 128; i++){
- l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
- temp->size = static_cast<size_t>((max_list_size + 1) * sizeof(l7vs::sslid_replication_data));
- memcpy(temp->virtualserver_ip, temp_virtual_service_ip.c_str(), temp_virtual_service_ip.length());
- if(i == 127) {
- temp->size = 0;
- }
- }
- l7vs::sslid_replication_data_processor test_object6(
- max_list_size, replication_data_area,
- SECTION_NUMBER, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- } catch (...) {
- BOOST_ERROR("exception: sslid_replication_data_processor");
- }
-
- // unit_test[43] when virtual service data is not exist and the sslip replication area there is
- // unit_test[43] enough sapce to add data, add the data to the replication area, test it
- memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
- l7vs::sslid_replication_data_processor test_object7(
- max_list_size, replication_data_area,
- SECTION_NUMBER, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
- expecting_offset = static_cast<size_t>(real_data_start_address - header_start_address);
- // session information's size check
- BOOST_CHECK_EQUAL(first_header->size, expecting_size);
- // session information's offset check
- BOOST_CHECK_EQUAL(first_header->offset, expecting_offset);
-
- // unit_test[44] when virtual service data is not exist and the sslip replication header area
- // unit_test[44] is full, nothing to do, test it
- try {
- memset(replication_data_area, 0, 128*sizeof(struct l7vs::sslid_replication_data_header));
- std::string temp_virtual_service_ip = "255.255.255.255";
- for(int i = 0; i < 128; i++){
- l7vs::sslid_replication_data_header* temp= ((l7vs::sslid_replication_data_header*)replication_data_area) + i;
- temp->size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
- memcpy(temp->virtualserver_ip, temp_virtual_service_ip.c_str(), temp_virtual_service_ip.length());
- }
- l7vs::sslid_replication_data_processor test_object8(
- max_list_size, replication_data_area,
- SECTION_NUMBER, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- } catch (...) {
- BOOST_ERROR("exception: sslid_replication_data_processor");
- }
-
- // unit_test[45] while virtual service ip is ipv6, test(condition: virtual service data has exist and
- // unit_test[45] the virtual service's data area is samller than needed, need to reset the virtual service session information)
- virtual_service_ip = "abcd:21d0:8936:4866:eefe:567d:3a4b:1230";
- memset(replication_data_area, 0, data_area_size);
- virtual_service_endpoint.address(boost::asio::ip::address::from_string(virtual_service_ip));
- virtual_service_endpoint.port(80);
- memcpy(first_header->virtualserver_ip, virtual_service_ip.c_str(), virtual_service_ip.length());
- first_header->virtualserver_port = 80;
- first_header->size = static_cast<size_t>((max_list_size - 1) * sizeof(l7vs::sslid_replication_data));
- first_header->offset = static_cast<size_t>(real_data_start_address - header_start_address);
- l7vs::sslid_replication_data_processor test_object9(
- max_list_size, replication_data_area,
- SECTION_NUMBER, virtual_service_endpoint,
- replication_ingetloglevel, replication_inputLogFatal,
- replication_inputLogError, replication_inputLogWarn,
- replication_inputLogInfo, replication_inputLogDebug);
- // the virtual service's size is resetted, check it
- expecting_size = static_cast<size_t>(max_list_size * sizeof(l7vs::sslid_replication_data));
- BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size);
+ reinterpret_cast<l7vs::sslid_replication_data*>(real_data_start_address),
+ virtual_service_endpoint, replication_data_area, data_area_size,
+ header_start_address, real_data_start_address);
delete []replication_data_area;
}
#define SECTION_NUMBER 200
#define STRUCT_NUMBER 256
+bool clear_function_return_fail = false;
+
LOG_LEVEL_TAG getloglevel_test(){
return LOG_LV_NONE;
}
+ // clear_expired_session_data
+ int clear_expired_session_data(){
+ if(clear_function_return_fail){
+ return 1;
+ } else {
+ return sslid_session_data_processor::clear_expired_session_data();
+ }
+ }
+
// write_session_data_test thread
void write_session_data_test_thread(
const std::string& session_id,
int expecting_timeout,
sslid_replication_data_processor* expecting_replication_data_processor) {
- // unit_test[1] member variable initialization test
+ cout << "[1]------------------------------------------" << endl;
+ // unit_test[1] メンバー変数が初期化されるチェックする。
// maxlist check
BOOST_CHECK_EQUAL(this->maxlist, expecting_maxlist);
// timeout check
BOOST_CHECK_EQUAL(this->session_lasttime_map.size(), 0u);
// lasttime_session_map
BOOST_CHECK_EQUAL(this->lasttime_session_map.size(), 0u);
+
+ cout << "[2]------------------------------------------" << endl;
+ // unit_test[2] maxlist < 0の場合, 例外が発生する。
+ bool exception_occur = false;
+ try{
+ l7vs::sslid_session_data_processor(-1, 1, expecting_replication_data_processor,
+ ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
+ inputLogInfo2, inputLogDebug2);
+ } catch(...) {
+ exception_occur = true;
+ }
+ BOOST_CHECK(exception_occur);
+
+ cout << "[3]------------------------------------------" << endl;
+ // unit_test[3] maxlist が0の場合, 例外が発生しない。
+ try{
+ l7vs::sslid_session_data_processor(0, 1, expecting_replication_data_processor,
+ ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
+ inputLogInfo2, inputLogDebug2);
+ } catch(...) {
+ BOOST_ERROR("exception: sslid_session_data_processor");
+ }
+
+ cout << "[4]------------------------------------------" << endl;
+ // unit_test[4] timeout < 0の場合, 例外が発生する。
+ exception_occur = false;
+ try{
+ l7vs::sslid_session_data_processor(2, -2, expecting_replication_data_processor,
+ ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
+ inputLogInfo2, inputLogDebug2);
+ } catch(...) {
+ exception_occur = true;
+ }
+ BOOST_CHECK(exception_occur);
+
+ cout << "[5]------------------------------------------" << endl;
+ // unit_test[5] timeout が0の場合, 例外が発生しない。
+ try{
+ l7vs::sslid_session_data_processor(2, 0, expecting_replication_data_processor,
+ ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
+ inputLogInfo2, inputLogDebug2);
+ } catch(...) {
+ BOOST_ERROR("exception: sslid_session_data_processor");
+ }
+
+ cout << "[6]------------------------------------------" << endl;
+ // unit_test[6] replication_data_processorがNULLの場合, 例外が発生する。
+ exception_occur = false;
+ try{
+ l7vs::sslid_session_data_processor(2, 2, NULL,
+ ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
+ inputLogInfo2, inputLogDebug2);
+ } catch(...) {
+ exception_occur = true;
+ }
+ BOOST_CHECK(exception_occur);
}
// get_endpoint_from_session_data_test
sslid_replication_data_processor_replacement *this_replication_data_processor =
dynamic_cast<sslid_replication_data_processor_replacement *>(this->replication_data_processor);
- // unit_test[2] session_endpoint_map and session_lasttime_map are all empty test
- // unit_test[2] return value: 1
+ cout << "[7]------------------------------------------" << endl;
+ // unit_test[7] session_endpoint_map と session_lasttime_mapが空の場合、戻り値が失敗(1)で設定する。
session_id = "test_id123456789abcdefghijklmnop";
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
// function result check
BOOST_CHECK_EQUAL(result, 1);
- // unit_test[3] when session_endpoint_map is empty, but session_lasttime_map is not empty test
- // unit_test[3] return value: 1
+ cout << "[8]------------------------------------------" << endl;
+ // unit_test[8] session_endpoint_mapが空で,session_lasttime_mapが空でない場合、戻り値が失敗(1)で設定する。
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
this->lasttime_session_map.clear();
// function result check
BOOST_CHECK_EQUAL(result, 1);
- // unit_test[4] when session_endpoint_map is not empty, but session_lasttime_map is empty test
- // unit_test[4] return value: 1
+ cout << "[9]------------------------------------------" << endl;
+ // unit_test[9] session_lasttime_mapが空で,session_endpoint_mapが空でない場合、戻り値が失敗(1)で設定する。
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
this->lasttime_session_map.clear();
// function result check
BOOST_CHECK_EQUAL(result, 1);
- // unit_test[5] while exist one data and does not time out, test
- // unit_test[5] return value: 0
+ cout << "[10]------------------------------------------" << endl;
+ // unit_test[10] 1つのデータがmapに存在して、タイムアウトしない場合、戻り値が正常(0)で設定する。
result = 10;
session_id = "test_id123456789abcdefghijklmnop";
saved_endpoint.address(boost::asio::ip::address::from_string("192.168.120.102"));
// function result check
BOOST_CHECK_EQUAL(result, 0);
- // unit_test[6] while exist one data and time out test
- // unit_test[6] return value: 0
+ cout << "[11]------------------------------------------" << endl;
+ // unit_test[11] 1つのデータがmapに存在して、タイムアウトの場合、戻り値が正常(0)で設定する。
result = 10;
this->timeout = 0;
this->session_endpoint_map.clear();
BOOST_CHECK_EQUAL(temp_list_data.op_code, 'D');
BOOST_CHECK_EQUAL(temp_list_data.session_id, session_id);
- // unit_test[7] while map has 3 data and all data does not time out, test
- // unit_test[7] return value: 0
+ cout << "[12]------------------------------------------" << endl;
+ // unit_test[12] mapに3つデータがあり、且つ3つデータが全部タイムアウトしない場合、戻り値が正常(0)で設定する。
result = 10;
std::string temp_session_id1 = "temp_session_idyyyyyuuuu33456780";
std::string temp_session_id2 = "temp_session_id456789012rtyuerxy";
// got endpoint check
BOOST_CHECK_EQUAL(get_endpoint, saved_endpoint);
- // unit_test[8] while map has 3 data, two data does not time out, but the other time out
+ cout << "[13]------------------------------------------" << endl;
+ // unit_test[13] mapに3つデータがあり、且つ2つデータがタイムアウトしなくて,1つのデータだけタイムアウトの場合、戻り値が正常(0)で設定する。
time_t temp_last_time = time(0) - 10;
time_t out_time = time(0) - 5000;
result = 10;
// got endpoint check
BOOST_CHECK_EQUAL(get_endpoint, saved_endpoint);
- // unit_test[9] while map has 3 data and all data time out, test
- // unit_test[9] return value: 0
+ cout << "[14]------------------------------------------" << endl;
+ // unit_test[14] mapに3つデータがあり、且つ3つデータが全部タイムアウトの場合、戻り値が正常(0)で設定する。
temp_last_time = last_time - 10;
this->timeout = 0;
this->session_endpoint_map.clear();
BOOST_CHECK_EQUAL(temp_list_data.op_code, 'D');
BOOST_CHECK_EQUAL(temp_list_data.session_id, session_id);
- // unit_test[10] while vaule of timeout is not 0 and the searching data time out, test
- // unit_test[10] return value: 0
+ cout << "[15]------------------------------------------" << endl;
+ // unit_test[15] メンバー関数timeoutが0でなくて、且つ検索対象データがタイムアウトの場合、戻り値が正常(0)で設定する。
temp_last_time = time(0) - 20;
this->timeout = 10;
this->session_endpoint_map.clear();
BOOST_CHECK_EQUAL(temp_list_data.op_code, 'D');
BOOST_CHECK_EQUAL(temp_list_data.session_id, session_id);
- // unit_test[11] ipv6 test(exist one data and does not time out)
+ cout << "[16]------------------------------------------" << endl;
+ // unit_test[16] endpointがipv6で、1つのデータが存在して、且つタイムアウトしない場合、戻り値が正常(0)で設定する。
saved_endpoint.address(boost::asio::ip::address::from_string("abcd:21d0:8936:4866:eefe:567d:3a4b:1230"));
result = 10;
this->timeout = 10000;
sslid_replication_data_processor_replacement *this_replication_data_processor =
dynamic_cast<sslid_replication_data_processor_replacement *> (this->replication_data_processor);
- // unit_test[12] while map is empty, test
+ cout << "[17]------------------------------------------" << endl;
+ // unit_test[17] maxlistが0の場合、戻り値が正常(0)で設定する。
+ this->session_endpoint_map.clear();
+ this->session_lasttime_map.clear();
+ this->lasttime_session_map.clear();
+ this->maxlist = 0;
+ result = this->write_session_data(session_id, new_saved_endpoint, write_time);
+ BOOST_CHECK_EQUAL(result, 0);
+
+ cout << "[18]------------------------------------------" << endl;
+ // unit_test[18] mapが空の場合、例外が発生しない。
try{
+ this->maxlist = 3;
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
this->lasttime_session_map.clear();
BOOST_ERROR("exception: write_session_data");
}
- // unit_test[13] session_id exist test
+ cout << "[19]------------------------------------------" << endl;
+ // unit_test[19] mapにセッションIDが存在している場合、戻り値が正常(0)で設定する。
old_saved_endpoint.address(boost::asio::ip::address::from_string("0.0.0.0"));
new_saved_endpoint.address(boost::asio::ip::address::from_string("192.168.120.102"));
session_id = "test_id123456789abcdefghijklmnop";
BOOST_CHECK_EQUAL(temp_list_data.realserver_addr, new_saved_endpoint);
BOOST_CHECK_EQUAL(temp_list_data.last_time, write_time);
- // unit_test[14] while session_id exists, test(session_endpoint_map size = maxlist - 1)
+ cout << "[20]------------------------------------------" << endl;
+ // unit_test[20] mapにセッションIDが存在して、session_endpoint_mapのサイズがmaxlist - 1の場合、戻り値が正常(0)で設定する。
std::string temp_session_id = "test_id2abcdefghijklmnop23456789";
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
BOOST_CHECK_EQUAL(temp_list_data.realserver_addr, new_saved_endpoint);
BOOST_CHECK_EQUAL(temp_list_data.last_time, write_time);
- // unit_test[15] while session_id exists, test(session_endpoint_map size = maxlist)
+ cout << "[21]------------------------------------------" << endl;
+ // unit_test[21] mapにセッションIDが存在して、session_endpoint_mapのサイズがmaxlistの場合、戻り値が正常(0)で設定する。
std::string temp_session_id1 = "test_idthhhffffeeeeddddffffeeeed";
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
BOOST_CHECK_EQUAL(temp_list_data.realserver_addr, new_saved_endpoint);
BOOST_CHECK_EQUAL(temp_list_data.last_time, write_time);
- // unit_test[16] session_id not exist test(session_endpoint_map size = maxlist - 1)
+ cout << "[22]------------------------------------------" << endl;
+ // unit_test[22] mapにセッションIDが存在しない、session_endpoint_mapのサイズがmaxlist - 1の場合、戻り値が正常(0)で設定する。
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
this->lasttime_session_map.clear();
BOOST_CHECK_EQUAL(temp_list_data.realserver_addr, new_saved_endpoint);
BOOST_CHECK_EQUAL(temp_list_data.last_time, write_time);
- // unit_test[17] session_id not exist test(session_endpoint_map size = maxlist)
+ cout << "[23]------------------------------------------" << endl;
+ // unit_test[23] mapにセッションIDが存在しない、session_endpoint_mapのサイズがmaxlistの場合、戻り値が正常(0)で設定する。
std::string temp_session_id2 = "33rty567234ertgh6890sdfghbnmeeed";
time_t earlier_time = last_time - 10;
this->timeout = 10000;
BOOST_CHECK_EQUAL(last_temp_list_data.realserver_addr, new_saved_endpoint);
BOOST_CHECK_EQUAL(last_temp_list_data.last_time, write_time);
- // unit_test[18] while session_id not exist and session_endpoint_map size = maxlist and one data is time out, test
+ cout << "[24]------------------------------------------" << endl;
+ // unit_test[24] mapにセッションIDが存在しない、がつ session_endpoint_mapのサイズがmaxlist、がつ clear_expired_session_data()の戻る値が1場合、
+ // unit_test[24] 戻り値が正常(0)で設定する。
+ clear_function_return_fail = true;
+ this->session_endpoint_map.clear();
+ this->session_lasttime_map.clear();
+ this->lasttime_session_map.clear();
+ this_replication_data_processor->get_temp_list().clear();
+ this->session_endpoint_map.insert(std::make_pair(temp_session_id, new_saved_endpoint));
+ this->session_endpoint_map.insert(std::make_pair(temp_session_id1, new_saved_endpoint));
+ this->session_endpoint_map.insert(std::make_pair(temp_session_id2, new_saved_endpoint));
+ this->session_lasttime_map.insert(std::make_pair(temp_session_id, earlier_time));
+ this->session_lasttime_map.insert(std::make_pair(temp_session_id1, last_time));
+ this->session_lasttime_map.insert(std::make_pair(temp_session_id2, last_time));
+ this->lasttime_session_map.insert(std::make_pair(earlier_time, temp_session_id));
+ this->lasttime_session_map.insert(std::make_pair(last_time, temp_session_id1));
+ this->lasttime_session_map.insert(std::make_pair(last_time, temp_session_id2));
+ result = this->write_session_data(session_id, new_saved_endpoint, write_time);
+ clear_function_return_fail = false;
+ BOOST_CHECK_EQUAL(result, 0);
+
+ cout << "[25]------------------------------------------" << endl;
+ // unit_test[25] mapにセッションIDが存在しなくて、且つsession_endpoint_mapのサイズが maxlistで1つのデータがタイムアウトの場合
+ // unit_test[25] 戻り値が正常(0)で設定する。
time_t out_of_time = time(0) - 2000;
this->timeout = 1000;
this->session_endpoint_map.clear();
BOOST_CHECK_EQUAL(last_temp_list_data.realserver_addr, new_saved_endpoint);
BOOST_CHECK_EQUAL(last_temp_list_data.last_time, write_time);
- // unit_test[19] while session_id not exist and session_endpoint_map size = maxlist and two data is time out, test
+ cout << "[26]------------------------------------------" << endl;
+ // unit_test[26] mapにセッションIDが存在しなくて、且つsession_endpoint_mapのサイズが maxlistで1つのデータがタイムアウトの場合
+ // unit_test[26] 戻り値が正常(0)で設定する。
out_of_time = time(0) - 2000;
this->timeout = 1000;
this->session_endpoint_map.clear();
}
}
- // unit_test[20] multi-threads test
+ cout << "[27]------------------------------------------" << endl;
+ // unit_test[27] マルチスレッドの場合、mapにデータを正常追加する
try{
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
write_time));
thread_group.join_all();
+ std::map<std::string, boost::asio::ip::tcp::endpoint>::iterator it1 = this->session_endpoint_map.begin();
+ std::map<std::string, time_t>::iterator it2 = this->session_lasttime_map.begin();
+ std::multimap<time_t, std::string>::iterator it3 = this->lasttime_session_map.begin();
BOOST_CHECK_EQUAL(this->session_endpoint_map.size(), 3u);
BOOST_CHECK_EQUAL(this->session_lasttime_map.size(), 3u);
BOOST_CHECK_EQUAL(this->lasttime_session_map.size(), 3u);
+ for(; it1 != this->session_endpoint_map.end(); it1++){
+ BOOST_CHECK_EQUAL(it1->second, new_saved_endpoint);
+ }
+ for(; it2 != this->session_lasttime_map.end(); it2++){
+ BOOST_CHECK_EQUAL(it2->second, write_time);
+ }
+ for(; it3 != this->lasttime_session_map.end(); it3++){
+ BOOST_CHECK_EQUAL(it3->first, write_time);
+ }
} catch(...){
BOOST_ERROR("exception: write_session_data");
}
- // unit_test[21] ipv6 test(session_id exist)
+ cout << "[28]------------------------------------------" << endl;
+ // unit_test[28] endpointがipv6で、mapにセッションIDが存在する場合、戻り値が正常(0)で設定する。
old_saved_endpoint.address(boost::asio::ip::address::from_string("0:0:0:0:0:0:0:0"));
new_saved_endpoint.address(boost::asio::ip::address::from_string("abcd:21d0:8936:4866:eefe:567d:3a4b:1230"));
session_id = "test_id123456789abcdefghijklmnop";
sslid_replication_data_processor_replacement *this_replication_data_processor =
dynamic_cast<sslid_replication_data_processor_replacement *> (this->replication_data_processor);
- // unit_test[22] map empty test
+ cout << "[29]------------------------------------------" << endl;
+ // unit_test[29] mapが空の場合、戻り値が失敗(1)で設定する。
this->timeout = 0;
this->session_endpoint_map.clear();
this->session_lasttime_map.clear();
BOOST_ERROR("exception: clear_expired_session_data");
}
// function result check
- BOOST_CHECK_EQUAL(result, 0);
+ BOOST_CHECK_EQUAL(result, 1);
- // unit_test[23] when time out items exist(all items is time out), items remove test
+ cout << "[30]------------------------------------------" << endl;
+ // unit_test[30] mapに全てのアイテムがタイムアウトの場合、全てのアイテムを削除する。
test_time = time(0) - 5;
this->timeout = 0;
this->session_endpoint_map.clear();
BOOST_CHECK_EQUAL(last_temp_list_data.op_code, 'D');
BOOST_CHECK_EQUAL(last_temp_list_data.session_id, session_id2);
- // unit_test[24] when time out item exists(one item is time out, but another item is not), item remove test
+ cout << "[31]------------------------------------------" << endl;
+ // unit_test[31] mapに1つのアイテムがタイムアウトで、もう1つのアイテムがタイムアウトしない場合、タイムアウトのアイテムだけ削除する。
saved_endpoint2.port(88);
this->timeout = 100;
test_time = time(0);
BOOST_CHECK_EQUAL(first_temp_list_data.op_code, 'D');
BOOST_CHECK_EQUAL(first_temp_list_data.session_id, session_id1);
- // unit_test[25] when all items are not time out, item remove test
+ cout << "[32]------------------------------------------" << endl;
+ // unit_test[32] mapに全てのアイテムがタイムアウトしない場合、一番古いアイテムを削除する。
this->timeout = 10000;
time_t earlier_time = test_time -5;
time_t earliest_time = test_time -10;
BOOST_CHECK_EQUAL(first_temp_list_data.op_code, 'D');
BOOST_CHECK_EQUAL(first_temp_list_data.session_id, session_id2);
- // unit_test[26] while all items are not time out and all item's lasttime is equal, first item remove test
+ cout << "[33]------------------------------------------" << endl;
+ // unit_test[33] mapに全てのアイテムがタイムアウトしない場合、lasttimeが全て同じの場合、1つ目のアイテムを削除する。
std::string session_id3 = "test_id3wasfgasdasdwasdrggrtrrrr";
this->timeout = 10000;
this->session_endpoint_map.clear();
int result = 10;
unsigned short port1 = 888;
- unsigned short port2 = 999;
+ unsigned short port2 = -999;
unsigned short port3 = 333;
unsigned short port4 = 444;
unsigned short port5 = 555;
(first_real_data + 4)->realserver_port = port5;
(first_real_data + 4)->last_time = last_time5;
- // unit_test[27] NULL pointer test
+ cout << "[34]------------------------------------------" << endl;
+ // unit_test[34] パラメータがNULLの場合、戻り値が異常(-1)で設定する。
result = 10;
try {
result = this->read_session_data_from_replication_area(NULL);
// function result check
BOOST_CHECK_EQUAL(result, -1);
- // unit_test[28] read data test(read the first data)
+ cout << "[35]------------------------------------------" << endl;
+ // unit_test[35] maxlistが1で、5つデータが存在して、パラメータがfirst_real_data の場合、replicationエリアから1つ目のデータを取得する。
result = 10;
this->maxlist = 1;
this->session_endpoint_map.clear();
// lasttime_session_map's session_id check
BOOST_CHECK_EQUAL(it3->second, session_id1);
- // unit_test[29] read data test(read the second data)
+ cout << "[36]------------------------------------------" << endl;
+ // unit_test[36] maxlistが1で、5つデータが存在して、パラメータがfirst_real_data + 1の場合、replicationエリアから2つ目のデータを取得する。
result = 10;
this->maxlist = 1;
this->session_endpoint_map.clear();
// lasttime_session_map's session_id check
BOOST_CHECK_EQUAL(it3->second, session_id2);
- // unit_test[30] read data test(read the thrid data, because the valid is 0, so nothing can be read)
+ cout << "[37]------------------------------------------" << endl;
+ // unit_test[37] maxlistが1で、5つデータが存在して、パラメータがfirst_real_data + 2で 、対応するvalidが0の場合, mapのサイズが0である。
result = 10;
this->maxlist = 1;
this->session_endpoint_map.clear();
// lasttime_session_map check(nothing to read)
BOOST_CHECK_EQUAL(this->lasttime_session_map.size(), 0u);
- // unit_test[31] while maxlist is 2, once can read two data, test
+ cout << "[38]------------------------------------------" << endl;
+ // unit_test[38] maxlistが2の場合、mapに2件のデータ読み込む。
result = 10;
this->maxlist = 2;
this->session_endpoint_map.clear();
it3++;
}
- // unit_test[32] while maxlist is 2 and the second to read data's valid is 0, test
+ cout << "[39]------------------------------------------" << endl;
+ // unit_test[39] maxlistが2で、2つ目データのvalidが0の場合、1件目のみ読み込む。
result = 10;
this->maxlist = 2;
this->session_endpoint_map.clear();
it3++;
}
- // unit_test[33] while maxlist is 2 and the first to read data's valid is 0, test
+ cout << "[40]------------------------------------------" << endl;
+ // unit_test[40] maxlistが2で、1つ目データのvalidが0の場合、2件目のみ読み込む。
result = 10;
this->maxlist = 2;
this->session_endpoint_map.clear();
it3++;
}
- // unit_test[34] when the realserver_ip is ipv6, test
- // set the real data area(ipv6)
+ cout << "[41]------------------------------------------" << endl;
+ // unit_test[41] realserverがipv6の場合、取得のipが正しいです。
std::string realserver_ipv6_ip1 = "abcd:21d0:8936:4866:eefe:567d:3a4b:1230";
memcpy(first_real_data->realserver_ip, realserver_ipv6_ip1.c_str(), realserver_ipv6_ip1.length());
result = 10;
test_object.sslid_session_data_processor_test(3, 5, &replication_data_processor);
- // unit_test[35] while maxlist < 0, exception occur, test
- bool exception_occur = false;
- try{
- l7vs::sslid_session_data_processor(-1, 1, &replication_data_processor,
- ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
- inputLogInfo2, inputLogDebug2);
- } catch(...) {
- exception_occur = true;
- }
- BOOST_CHECK(exception_occur);
-
- // unit_test[36] while maxlist = 0, exception not occur, test
- try{
- l7vs::sslid_session_data_processor(0, 1, &replication_data_processor,
- ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
- inputLogInfo2, inputLogDebug2);
- } catch(...) {
- BOOST_ERROR("exception: sslid_session_data_processor");
- }
-
- // unit_test[37] while timeout < 0, exception occur, test
- exception_occur = false;
- try{
- l7vs::sslid_session_data_processor(2, -2, &replication_data_processor,
- ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
- inputLogInfo2, inputLogDebug2);
- } catch(...) {
- exception_occur = true;
- }
- BOOST_CHECK(exception_occur);
-
- // unit_test[38] while timeout = 0, exception not occur, test
- try{
- l7vs::sslid_session_data_processor(2, 0, &replication_data_processor,
- ingetloglevel2, inputLogFatal2, inputLogError2, inputLogWarn2,
- inputLogInfo2, inputLogDebug2);
- } catch(...) {
- BOOST_ERROR("exception: sslid_session_data_processor");
- }
-
delete []replication_data_area;
}