From 32b65b1dacd335af4052aee0ac989ed1dc7a0774 Mon Sep 17 00:00:00 2001 From: okada Date: Fri, 13 Feb 2009 08:44:40 +0000 Subject: [PATCH] =?utf8?q?JHC=E3=82=BD=E3=83=BC=E3=82=B9=E3=83=9E=E3=83=BC?= =?utf8?q?=E3=82=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-shamshel@6848 1ed66053-1c2d-0410-8867-f7571e6e31d3 --- include/protocol_module_base.h | 27 +- module/protocol/Makefile.in | 10 +- module/protocol/protocol_module_sessionless.cpp | 1883 ++++++++++---------- module/protocol/protocol_module_sessionless.h | 3 +- module/protocol/protocol_module_sslid.cpp | 54 +- .../protocol/sslid_replication_data_processor.cpp | 4 +- module/protocol/sslid_session_data_processor.cpp | 31 +- module/schedule/Makefile.in | 11 +- unit_tests/sessionless/sessionless_ut.cpp | 713 +++----- unit_tests/sslid/protocol_module_sslid_test.cpp | 1008 ++++++----- unit_tests/sslid/ssl_protocol_module_base_test.cpp | 376 ++-- .../sslid_replication_data_processor_test.cpp | 579 +++--- .../sslid/sslid_session_data_processor_test.cpp | 267 ++- 13 files changed, 2653 insertions(+), 2313 deletions(-) diff --git a/include/protocol_module_base.h b/include/protocol_module_base.h index 6c8274a6..e35a69cf 100644 --- a/include/protocol_module_base.h +++ b/include/protocol_module_base.h @@ -199,7 +199,7 @@ public: const boost::array& 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. @@ -349,7 +349,7 @@ public: 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; @@ -369,7 +369,7 @@ public: //! 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; @@ -391,6 +391,27 @@ public: 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(static_cast(data[i])); + data_dump += formatter.str(); + } + data_dump += "\n"; } }; diff --git a/module/protocol/Makefile.in b/module/protocol/Makefile.in index 3c51e396..38595c35 100644 --- a/module/protocol/Makefile.in +++ b/module/protocol/Makefile.in @@ -199,7 +199,7 @@ snmpagent_libs = @snmpagent_libs@ 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 \ @@ -511,8 +511,14 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES 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: diff --git a/module/protocol/protocol_module_sessionless.cpp b/module/protocol/protocol_module_sessionless.cpp index 887606c0..17adaff4 100644 --- a/module/protocol/protocol_module_sessionless.cpp +++ b/module/protocol/protocol_module_sessionless.cpp @@ -1,7 +1,7 @@ #include #include -#include #include +#include #include #include #include @@ -71,7 +71,7 @@ bool protocol_module_sessionless::is_tcp() /*-------- 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------*/ @@ -86,7 +86,7 @@ bool protocol_module_sessionless::is_udp() /*-------- 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------*/ @@ -120,7 +120,7 @@ void protocol_module_sessionless::initialize(rs_list_itr_func_type inlist_begin, /*-------- 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__ ); @@ -141,7 +141,7 @@ void protocol_module_sessionless::initialize(rs_list_itr_func_type inlist_begin, /*-------- 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__ ); @@ -155,7 +155,7 @@ void protocol_module_sessionless::finalize() /*-------- 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------*/ @@ -175,7 +175,7 @@ void protocol_module_sessionless::finalize() /*-------- 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__ ); } @@ -205,7 +205,7 @@ void protocol_module_sessionless::finalize() /*-------- 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__ ); } @@ -219,8 +219,8 @@ void protocol_module_sessionless::finalize() /*-------- 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------*/ @@ -248,7 +248,7 @@ bool protocol_module_sessionless::is_use_sorry() /*-------- 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------*/ @@ -261,7 +261,7 @@ void protocol_module_sessionless::handle_rslist_update() /*-------- 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------*/ @@ -286,7 +286,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa argsdump += *it; } formatter % argsdump; - putLogDebug(10010, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10012, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -295,7 +295,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa 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::const_iterator vec_str_it; try @@ -341,7 +341,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa //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; } @@ -368,7 +368,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa 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; } @@ -381,7 +381,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa 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; @@ -394,7 +394,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa 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; @@ -407,7 +407,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa 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; } @@ -416,18 +416,18 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa 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__ ); } @@ -440,7 +440,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa "const std::vector& 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; @@ -465,7 +465,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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 @@ -473,7 +473,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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::const_iterator vec_str_it; @@ -507,7 +507,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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; @@ -522,7 +522,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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; @@ -549,7 +549,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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; @@ -563,7 +563,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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; @@ -576,7 +576,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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; @@ -590,7 +590,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para //set check result message check_result.message = "Option error."; - putLogError(17000, check_result.message, __FILE__, + putLogError(17013, check_result.message, __FILE__, __LINE__ ); break; @@ -612,16 +612,16 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para 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__ ); } @@ -634,7 +634,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para "const std::vector& 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--------*/ @@ -660,7 +660,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::add_para argsdump += *it; } formatter % argsdump; - putLogDebug(10010, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10016, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ check_message_result check_result; @@ -674,7 +674,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::add_para 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 --------*/ @@ -685,7 +685,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::add_para "const std::vector& 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 --------*/ @@ -701,7 +701,7 @@ void protocol_module_sessionless::register_schedule(tcp_schedule_func_type insch /*-------- 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------*/ @@ -709,7 +709,7 @@ void protocol_module_sessionless::register_schedule(tcp_schedule_func_type insch /*-------- 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------*/ @@ -722,7 +722,7 @@ void protocol_module_sessionless::register_schedule(udp_schedule_func_type insch /*-------- 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__ ); } @@ -747,7 +747,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init "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; @@ -763,7 +763,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init { boost::format formatter("new : address = &(%d), size = %lu."); formatter % static_cast(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; @@ -799,7 +799,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init 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------*/ @@ -809,7 +809,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init { boost::format formatter("new : address = &(%d), size = %lu."); formatter % static_cast(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; @@ -829,12 +829,12 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init 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------*/ @@ -848,7 +848,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init 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) @@ -857,13 +857,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init 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__ ); @@ -878,7 +878,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init "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------*/ @@ -900,7 +900,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina "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; @@ -929,7 +929,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer2); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10028, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -941,7 +941,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer1); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10029, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -955,7 +955,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(p_up); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10030, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ delete p_up; @@ -978,7 +978,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer2); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10031, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -991,7 +991,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer2); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10032, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -1003,7 +1003,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(p_down); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10033, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -1020,13 +1020,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina 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; @@ -1039,7 +1039,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina "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; @@ -1057,7 +1057,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const 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------*/ @@ -1072,7 +1072,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const 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; } @@ -1083,7 +1083,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const /*-------- 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------*/ @@ -1109,7 +1109,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const 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------*/ @@ -1120,14 +1120,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const 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; @@ -1139,7 +1139,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const 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; @@ -1156,12 +1156,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( /*-------- 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& 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------*/ @@ -1175,6 +1176,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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 = ""; @@ -1191,7 +1193,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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()) @@ -1201,7 +1203,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "const boost::array& 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; @@ -1215,7 +1217,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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; } @@ -1233,7 +1235,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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; } @@ -1246,7 +1248,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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; } @@ -1255,15 +1257,33 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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------*/ @@ -1299,16 +1319,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( /*-------- 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------*/ @@ -1320,156 +1350,123 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( //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(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(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(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(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(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(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(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(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(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(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 @@ -1478,7 +1475,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( //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 @@ -1496,7 +1493,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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 @@ -1508,10 +1505,23 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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); @@ -1525,7 +1535,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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 @@ -1543,10 +1553,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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 @@ -1558,10 +1568,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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 --------*/ @@ -1571,10 +1581,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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); @@ -1585,10 +1595,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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 @@ -1608,7 +1618,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( //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 @@ -1617,7 +1627,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( //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 --------*/ @@ -1629,7 +1639,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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 @@ -1646,7 +1656,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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 @@ -1654,26 +1664,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( //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) { @@ -1721,7 +1718,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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 @@ -1736,7 +1733,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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------*/ } @@ -1752,8 +1749,8 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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(bret);; - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + formatter % static_cast(bret); + putLogDebug(10063, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch http header result is OK @@ -1768,8 +1765,8 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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(bret);; - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + formatter % static_cast(bret); + putLogDebug(10064, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch Content_Length result is OK @@ -1821,13 +1818,6 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( } //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 @@ -1887,15 +1877,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( /*-------- 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 @@ -1930,7 +1931,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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 @@ -1946,7 +1947,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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------*/ } @@ -1963,7 +1964,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "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 @@ -1979,7 +1980,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "handle_client_recv() : call find_http_header : " "return_value = %d."); formatter % static_cast(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10069, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -2032,13 +2033,6 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( } //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 @@ -2086,8 +2080,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( /*-------- 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 @@ -2122,7 +2134,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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; @@ -2130,29 +2142,29 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( 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; @@ -2166,7 +2178,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv( "const boost::array& 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------*/ @@ -2188,7 +2200,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s "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; @@ -2200,7 +2212,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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()) { @@ -2209,7 +2221,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s "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; @@ -2223,7 +2235,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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; } @@ -2239,7 +2251,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s "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------*/ @@ -2265,7 +2277,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s { boost::format formatter("new : address = &(%d), size = %lu."); formatter % static_cast(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; @@ -2292,7 +2304,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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------*/ } @@ -2322,7 +2334,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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------*/ @@ -2336,7 +2348,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer1); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10079, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -2346,7 +2358,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer2); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10080, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -2375,7 +2387,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s /*-------- 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------*/ @@ -2391,7 +2403,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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------*/ @@ -2402,13 +2414,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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; @@ -2422,7 +2434,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s "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------*/ @@ -2448,7 +2460,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s "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; @@ -2467,9 +2479,9 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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& 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------*/ @@ -2495,7 +2507,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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; } @@ -2506,7 +2518,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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; } @@ -2514,7 +2526,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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; } @@ -2524,7 +2536,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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; } @@ -2552,7 +2564,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "handle_realserver_connect() : call find_http_header : " "return_value = %d."); formatter % static_cast(ret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10086, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch http header result is OK @@ -2582,12 +2594,12 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "handle_realserver_connect() : call find_http_header : " "return_value = %d."); formatter % static_cast(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()) { @@ -2596,7 +2608,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "const boost::array& 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; @@ -2621,7 +2633,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c /*-------- 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------*/ @@ -2651,7 +2663,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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 @@ -2671,7 +2683,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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------*/ @@ -2696,7 +2708,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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 @@ -2715,7 +2727,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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; @@ -2749,7 +2761,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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, @@ -2766,7 +2778,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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; @@ -2788,7 +2800,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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 @@ -2797,17 +2809,16 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c /*-------- 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; @@ -2838,7 +2849,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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 @@ -2857,7 +2868,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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------*/ @@ -2871,7 +2882,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c /*-------- 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------*/ @@ -2896,7 +2907,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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 @@ -2911,7 +2922,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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; @@ -2933,7 +2944,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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 @@ -2948,7 +2959,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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; @@ -2969,7 +2980,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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------*/ @@ -2980,13 +2991,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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; } @@ -2999,7 +3010,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "const boost::array& 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------*/ @@ -3021,7 +3032,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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------*/ @@ -3036,7 +3047,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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; } @@ -3047,7 +3058,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c /*-------- 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------*/ @@ -3062,7 +3073,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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------*/ @@ -3073,13 +3084,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c 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; } @@ -3091,7 +3102,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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; @@ -3109,7 +3120,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s "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; @@ -3126,7 +3137,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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; } @@ -3137,7 +3148,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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; } @@ -3150,7 +3161,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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; } @@ -3159,7 +3170,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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; } @@ -3220,7 +3231,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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------*/ @@ -3231,14 +3242,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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; } @@ -3249,7 +3260,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s 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------*/ @@ -3271,7 +3282,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3289,7 +3300,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -3315,7 +3326,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ { boost::format formatter("new : address = &(%d), size = %lu."); formatter % static_cast(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; @@ -3344,7 +3355,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ % 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------*/ @@ -3377,7 +3388,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -3392,7 +3403,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer1); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10118, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -3402,7 +3413,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ { boost::format formatter("delete : address = &(%d)."); formatter % static_cast(recv_data.recive_buffer2); - putLogDebug(10005, formatter.str(), __FILE__, + putLogDebug(10119, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -3431,7 +3442,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -3439,7 +3450,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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) @@ -3448,13 +3459,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -3467,7 +3478,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3487,9 +3498,9 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::" "handle_sorryserver_connect(const boost::thread::id thread_id, " "boost::array& 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; @@ -3516,7 +3527,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -3528,7 +3539,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ if (recive_data_it == session_data->recive_data_map.end()) { - putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ ); + putLogError(17061, "Invalid endpoint.", __FILE__, __LINE__ ); throw -1; } @@ -3536,7 +3547,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -3547,7 +3558,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -3575,7 +3586,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "handle_sorryserver_connect() : call find_uri : " "return_value = %d."); formatter % static_cast(ret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10123, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch http header result is OK @@ -3609,7 +3620,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "handle_sorryserver_connect() : call find_http_header : " "return_value = %d."); formatter % static_cast(ret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10124, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -3640,12 +3651,12 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "handle_sorryserver_connect() : call find_http_header : " "return_value = %d."); formatter % static_cast(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()) { @@ -3654,7 +3665,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "const boost::array& 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; @@ -3680,7 +3691,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ /*-------- 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------*/ @@ -3711,7 +3722,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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, @@ -3728,7 +3739,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3751,7 +3762,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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 @@ -3770,7 +3781,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3805,7 +3816,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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, @@ -3822,7 +3833,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3843,7 +3854,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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 @@ -3862,7 +3873,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3893,7 +3904,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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 @@ -3912,7 +3923,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3925,7 +3936,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ /*-------- 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------*/ @@ -3950,7 +3961,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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 @@ -3967,7 +3978,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -3989,7 +4000,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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 @@ -4006,7 +4017,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -4029,7 +4040,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -4040,13 +4051,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -4059,7 +4070,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "const boost::array& 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------*/ @@ -4081,7 +4092,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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------*/ @@ -4097,14 +4108,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -4117,15 +4128,15 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ { 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; } @@ -4138,7 +4149,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -4157,7 +4168,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -4174,7 +4185,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -4186,7 +4197,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ if (recive_data_it == session_data->recive_data_map.end()) { - putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ ); + putLogError(17072, "Invalid endpoint.", __FILE__, __LINE__ ); throw -1; } @@ -4198,7 +4209,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -4207,7 +4218,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -4268,7 +4279,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -4279,14 +4290,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -4297,7 +4308,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -4324,7 +4335,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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; @@ -4350,7 +4361,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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------*/ @@ -4364,6 +4375,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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; @@ -4380,7 +4392,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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()) @@ -4391,7 +4403,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "const boost::array& 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; @@ -4406,7 +4418,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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; } @@ -4416,7 +4428,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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; } @@ -4429,7 +4441,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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; } @@ -4438,15 +4450,33 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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(); @@ -4480,11 +4510,28 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r /*-------- 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) @@ -4493,158 +4540,125 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r //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(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(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(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(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(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(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(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(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(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(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 @@ -4653,7 +4667,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r //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 @@ -4671,7 +4685,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 @@ -4686,7 +4700,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 --------*/ @@ -4699,7 +4713,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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); @@ -4714,7 +4728,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 @@ -4736,7 +4750,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 @@ -4752,7 +4766,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 --------*/ @@ -4766,7 +4780,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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); @@ -4781,7 +4795,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 @@ -4800,7 +4814,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r //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 @@ -4810,7 +4824,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r //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 --------*/ @@ -4822,7 +4836,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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------*/ @@ -4840,7 +4854,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 @@ -4848,21 +4862,6 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r //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(); @@ -4898,8 +4897,6 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r //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; } @@ -4915,7 +4912,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 @@ -4930,7 +4927,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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------*/ } @@ -4947,7 +4944,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "handle_realserver_recv() : call find_http_header : " "return_value = %d."); formatter % static_cast(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10177, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch http header result is OK @@ -4962,8 +4959,8 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + formatter % static_cast(bret); + putLogDebug(10178, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch Content_Length result is OK @@ -5063,18 +5060,30 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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 @@ -5108,7 +5117,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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 @@ -5124,7 +5133,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "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------*/ } @@ -5141,7 +5150,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "handle_realserver_recv() : call find_http_header : " "return_value = %d."); formatter % static_cast(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10182, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //searched whole http header @@ -5157,7 +5166,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "handle_realserver_recv() : call find_http_header : " "return_value = %d."); formatter % static_cast(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10183, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -5253,8 +5262,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r /*-------- 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------*/ @@ -5280,7 +5307,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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; @@ -5288,13 +5315,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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) @@ -5303,14 +5330,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r 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; @@ -5325,7 +5352,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r "const boost::array& 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------*/ @@ -5354,7 +5381,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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------*/ @@ -5368,6 +5395,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 = ""; @@ -5384,7 +5412,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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()) @@ -5395,7 +5423,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "const boost::array& 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; @@ -5409,7 +5437,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -5419,7 +5447,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -5431,7 +5459,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -5440,15 +5468,33 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -5483,16 +5529,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ /*-------- 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 @@ -5503,156 +5559,123 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ //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(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(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(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(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(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(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(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(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(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(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 @@ -5661,7 +5684,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ //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 @@ -5676,10 +5699,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 @@ -5691,10 +5714,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 --------*/ @@ -5704,10 +5727,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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); @@ -5718,10 +5741,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 @@ -5739,10 +5762,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 @@ -5754,10 +5777,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -5768,10 +5791,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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); @@ -5782,10 +5805,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 @@ -5804,7 +5827,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ //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 @@ -5814,7 +5837,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ //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 --------*/ @@ -5824,10 +5847,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ @@ -5841,10 +5864,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 @@ -5852,20 +5875,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ //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 @@ -5904,10 +5914,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 @@ -5919,10 +5929,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ } @@ -5936,10 +5946,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10213, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch http header result is OK @@ -5952,10 +5962,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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(bret);; - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + formatter % static_cast(bret); + putLogDebug(10214, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //serch Content_Length result is OK @@ -6057,15 +6067,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ /*-------- 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------*/ @@ -6097,10 +6118,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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 @@ -6113,10 +6134,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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------*/ } @@ -6130,10 +6151,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10218, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ //searched whole http header @@ -6146,10 +6167,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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(bret); - putLogDebug(10005, formatter.str(), __FILE__, __LINE__ ); + putLogDebug(10219, formatter.str(), __FILE__, __LINE__ ); } /*------DEBUG LOG END------*/ @@ -6242,8 +6263,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ /*-------- 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------*/ @@ -6267,9 +6306,9 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; @@ -6277,30 +6316,30 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -6314,7 +6353,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "const boost::array& 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------*/ @@ -6334,7 +6373,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_response_sen "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; @@ -6355,9 +6394,9 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne 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& 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------*/ @@ -6375,7 +6414,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne 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; } @@ -6385,7 +6424,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne 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; } @@ -6396,7 +6435,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne 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; } @@ -6414,7 +6453,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne "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 @@ -6430,7 +6469,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne "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 @@ -6454,7 +6493,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne "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 @@ -6470,7 +6509,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne "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 @@ -6491,7 +6530,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne 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; @@ -6502,13 +6541,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne 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; } @@ -6521,7 +6560,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne "boost::array& 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; @@ -6547,7 +6586,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_selec "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; @@ -6566,7 +6605,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( "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; @@ -6582,7 +6621,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( 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; @@ -6591,7 +6630,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( 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; } @@ -6604,7 +6643,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( 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 @@ -6612,7 +6651,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( 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; } @@ -6682,7 +6721,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( 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; @@ -6693,13 +6732,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( 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; } @@ -6710,7 +6749,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_send( 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------*/ @@ -6729,7 +6768,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_disco 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; @@ -6748,7 +6787,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable "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------*/ @@ -6769,7 +6808,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable 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; } @@ -6781,7 +6820,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable 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; } @@ -6818,7 +6857,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable /*-------- 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------*/ @@ -6852,7 +6891,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable /*-------- 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------*/ @@ -6866,7 +6905,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable /*-------- 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------*/ @@ -6875,7 +6914,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable /*-------- 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------*/ @@ -6912,7 +6951,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable /*-------- 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------*/ @@ -6926,7 +6965,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable /*-------- 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------*/ @@ -6952,7 +6991,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable 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; @@ -6963,13 +7002,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable 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; } @@ -6980,7 +7019,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable 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------*/ @@ -7000,7 +7039,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl "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; @@ -7018,7 +7057,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl 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 @@ -7030,7 +7069,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl 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; } @@ -7069,7 +7108,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl /*-------- 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------*/ @@ -7090,7 +7129,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl /*-------- 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------*/ @@ -7104,7 +7143,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl /*-------- 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------*/ @@ -7113,7 +7152,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl /*-------- 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------*/ @@ -7150,7 +7189,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl /*-------- 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------*/ @@ -7164,7 +7203,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl /*-------- 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------*/ @@ -7204,7 +7243,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl 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; @@ -7215,13 +7254,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl 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; } @@ -7232,7 +7271,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl 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------*/ @@ -7253,7 +7292,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d "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; @@ -7269,7 +7308,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d 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; } @@ -7279,7 +7318,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d 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; } @@ -7326,7 +7365,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d /*-------- 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------*/ @@ -7342,7 +7381,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d /*-------- 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------*/ @@ -7366,7 +7405,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d 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; @@ -7377,13 +7416,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d 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; } @@ -7395,7 +7434,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d "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------*/ @@ -7420,7 +7459,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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; @@ -7435,7 +7474,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -7445,7 +7484,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -7492,7 +7531,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ /*-------- 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------*/ @@ -7508,7 +7547,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ /*-------- 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------*/ @@ -7532,7 +7571,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; @@ -7543,13 +7582,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ 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; } @@ -7563,7 +7602,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_ "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------*/ @@ -7585,7 +7624,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c "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; diff --git a/module/protocol/protocol_module_sessionless.h b/module/protocol/protocol_module_sessionless.h index 6f22a296..a9e93a8a 100644 --- a/module/protocol/protocol_module_sessionless.h +++ b/module/protocol/protocol_module_sessionless.h @@ -218,7 +218,8 @@ public: { 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); } }; diff --git a/module/protocol/protocol_module_sslid.cpp b/module/protocol/protocol_module_sslid.cpp index 4ee0f4f9..d92f4a21 100644 --- a/module/protocol/protocol_module_sslid.cpp +++ b/module/protocol/protocol_module_sslid.cpp @@ -117,7 +117,7 @@ void protocol_module_sslid::finalize() 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------*/ @@ -131,7 +131,7 @@ void protocol_module_sslid::finalize() 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------*/ @@ -718,7 +718,6 @@ protocol_module_sslid::check_message_result protocol_module_sslid::set_parameter if (data_addr == NULL || data_size <= 0) { - // waiting for jp response???????????????????? // replication area is null putLogError(37020, "Replication area is null.", __FILE__, __LINE__); @@ -1344,7 +1343,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv( // 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; @@ -1355,7 +1353,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv( 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; @@ -1377,7 +1374,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv( // 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; @@ -1588,7 +1584,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select( 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()) @@ -1600,8 +1595,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select( 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; } @@ -1669,8 +1663,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select( } /*------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; @@ -1856,8 +1849,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select( 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; } @@ -1867,8 +1859,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select( 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; } @@ -1931,8 +1922,8 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sslid::" "handle_realserver_connect(const boost::thread::id thread_id, " "boost::array& 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------*/ @@ -1953,7 +1944,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect 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; } @@ -2028,7 +2018,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect 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()) @@ -2081,7 +2070,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect 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__); @@ -2130,7 +2119,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_send( 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()) @@ -2359,7 +2347,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv( // 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 --------*/ @@ -2389,7 +2376,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv( 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()) @@ -2417,7 +2403,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv( // 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__); @@ -2688,8 +2673,8 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_connection_ 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& 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------*/ @@ -2705,7 +2690,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_connection_ 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 --------*/ @@ -2816,7 +2800,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_connection_ } 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__); @@ -2827,7 +2811,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_connection_ 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& sendbuffer, size_t& datalen) : " "return_value = %d."); formatter % status; @@ -2894,7 +2878,6 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send( 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()) @@ -3209,10 +3192,10 @@ int protocol_module_sslid::put_data_to_sendbuffer( 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& 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------*/ @@ -3226,14 +3209,13 @@ int protocol_module_sslid::put_data_to_sendbuffer( 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& sendbuffer, " "size_t& datalen) : return_value = -1.", __FILE__, __LINE__); } @@ -3481,7 +3463,7 @@ int protocol_module_sslid::put_data_to_sendbuffer( 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& sendbuffer, " "size_t& datalen) : return_value = 0.", __FILE__, __LINE__); } diff --git a/module/protocol/sslid_replication_data_processor.cpp b/module/protocol/sslid_replication_data_processor.cpp index c0f2896f..93d7847a 100644 --- a/module/protocol/sslid_replication_data_processor.cpp +++ b/module/protocol/sslid_replication_data_processor.cpp @@ -62,13 +62,11 @@ sslid_replication_data_processor::sslid_replication_data_processor( } /*------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 --------*/ diff --git a/module/protocol/sslid_session_data_processor.cpp b/module/protocol/sslid_session_data_processor.cpp index 58ec1cf8..bb343536 100644 --- a/module/protocol/sslid_session_data_processor.cpp +++ b/module/protocol/sslid_session_data_processor.cpp @@ -36,14 +36,19 @@ sslid_session_data_processor::sslid_session_data_processor( // 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."); } @@ -282,7 +287,7 @@ int sslid_session_data_processor::write_session_data( if (session_endpoint_map.size() >= static_cast(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()) @@ -290,11 +295,11 @@ int sslid_session_data_processor::write_session_data( 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 --------*/ @@ -457,7 +462,7 @@ int sslid_session_data_processor::read_session_data_from_replication_area( } //! 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 --------*/ @@ -479,11 +484,11 @@ int sslid_session_data_processor::clear_expired_session_data() 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 diff --git a/module/schedule/Makefile.in b/module/schedule/Makefile.in index 5776097c..c7045908 100644 --- a/module/schedule/Makefile.in +++ b/module/schedule/Makefile.in @@ -193,7 +193,7 @@ snmpagent_libs = @snmpagent_libs@ 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 \ @@ -500,8 +500,15 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES 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: diff --git a/unit_tests/sessionless/sessionless_ut.cpp b/unit_tests/sessionless/sessionless_ut.cpp index f3065bab..f426e2a1 100644 --- a/unit_tests/sessionless/sessionless_ut.cpp +++ b/unit_tests/sessionless/sessionless_ut.cpp @@ -2,9 +2,6 @@ #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 @@ -19,9 +16,13 @@ using namespace l7vs; 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" @@ -106,10 +107,17 @@ protocol_module_sessionless::realserverlist_type::iterator rslist_next( //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, @@ -160,20 +168,6 @@ void schedule_tcp_nodeterminate(//endpoint = 未決定 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(){ @@ -235,20 +229,6 @@ void init_edit_data(edit_data& data) } 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(); } @@ -256,8 +236,15 @@ protocol_module_sessionless_test_class() //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 馮家純 @@ -281,7 +268,7 @@ void is_udp_test(){ //get_name 馮家純 void get_name_test(){ cout << "[4]------------------------------------------" << endl; - //unit_test[4] モジュール名("sessionless")を返却する + //unit_test[4] モジュール名に("sessionless")を返却する BOOST_CHECK_EQUAL(this->get_name(), "sessionless"); } @@ -324,6 +311,22 @@ void initialize_test() { 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); @@ -363,70 +366,70 @@ void check_parameter_test() { vector 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"); @@ -435,8 +438,8 @@ void check_parameter_test() { 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); @@ -444,20 +447,20 @@ void check_parameter_test() { 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); @@ -465,25 +468,25 @@ void check_parameter_test() { 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"); @@ -491,8 +494,8 @@ void check_parameter_test() { 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"); @@ -501,8 +504,8 @@ void check_parameter_test() { 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"); @@ -511,8 +514,8 @@ void check_parameter_test() { 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"); @@ -521,8 +524,8 @@ void check_parameter_test() { 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"); @@ -537,19 +540,19 @@ void set_parameter_test() { vector 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); @@ -557,30 +560,30 @@ void set_parameter_test() { 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/"); @@ -589,19 +592,19 @@ void set_parameter_test() { 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"); @@ -611,8 +614,8 @@ void set_parameter_test() { 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); @@ -620,20 +623,20 @@ void set_parameter_test() { 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); @@ -642,38 +645,38 @@ void set_parameter_test() { cout << "[38]------------------------------------------" << endl; // unit_test[38] 送信元設定指示に0を設定する - // unit_test[38] test data:チェック結果フラグ = TRUEの場合、送信元設定指示設定フラグ = OFF + // unit_test[38] test data:チェック結果フラグ = TRUE、送信元設定指示設定フラグ = OFFの場合 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"); @@ -682,8 +685,8 @@ void set_parameter_test() { 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"); @@ -692,8 +695,8 @@ void set_parameter_test() { 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"); @@ -702,8 +705,8 @@ void set_parameter_test() { 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"); @@ -712,8 +715,8 @@ void set_parameter_test() { 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"); @@ -750,6 +753,7 @@ void register_schedule_tcp_test() { // 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振り分け処理関数空のテスト @@ -796,7 +800,7 @@ void handle_session_initialize_test() { 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); @@ -891,7 +895,7 @@ void handle_accept_test() { //handle_client_recv 郎希倹 void handle_client_recv_test(){ - size_t request_len; + size_t request_len = USE_BUFFER_SIZE; EVENT_TAG ret; boost::array request; send_status send_status_temp; @@ -933,20 +937,10 @@ void handle_client_recv_test(){ this->session_thread_data_map.clear(); this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data; - std::map::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; @@ -957,8 +951,9 @@ void handle_client_recv_test(){ 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::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 @@ -1016,9 +1011,11 @@ void handle_client_recv_test(){ 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; @@ -1557,24 +1554,25 @@ void handle_client_recv_test(){ 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); @@ -1602,20 +1600,21 @@ void handle_client_recv_test(){ 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); @@ -1624,7 +1623,7 @@ void handle_client_recv_test(){ 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] データバッファ残サイズ < リクエストデータサイズ @@ -2930,7 +2929,7 @@ void handle_realserver_select_tcp_test(){ 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; @@ -2945,7 +2944,7 @@ void handle_realserver_select_tcp_test(){ //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); @@ -3013,7 +3012,7 @@ void handle_realserver_select_tcp_test(){ 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 sbf; std::size_t d; @@ -3025,7 +3024,7 @@ void handle_realserver_select_udp_test(){ //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 send_buffer; send_status send_status_temp; @@ -3066,29 +3065,20 @@ void handle_realserver_connect_test(){ this->session_thread_data_map.clear(); this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data; - std::map::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::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 @@ -4095,7 +4085,7 @@ void handle_realserver_connection_fail_test(){ //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); @@ -4103,7 +4093,7 @@ void handle_realserver_connection_fail_test(){ 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); @@ -4168,7 +4158,7 @@ void handle_realserver_send_test(){ 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 @@ -4196,14 +4186,9 @@ void handle_realserver_send_test(){ 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(); @@ -4213,30 +4198,13 @@ void handle_realserver_send_test(){ this->session_thread_data_map.clear(); this->session_thread_data_map.insert(std::pair(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); @@ -4247,18 +4215,8 @@ void handle_realserver_send_test(){ this->session_thread_data_map.clear(); this->session_thread_data_map.insert(std::pair(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/送信可能データなし @@ -4533,15 +4491,15 @@ void handle_sorryserver_select_test(){ BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT); cout << "[203]------------------------------------------" << endl; - //unit_test[203] session_thread_data_map中に上りスレッド中にThreadID対応のデータがありません - this->session_thread_data_map[boost::this_thread::get_id()] = 0; + //unit_test[203] session_thread_data_map中に上りスレッド中にThreadID対応のデータがない + 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); @@ -4549,7 +4507,7 @@ void handle_sorryserver_select_test(){ 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); @@ -4557,7 +4515,7 @@ void handle_sorryserver_select_test(){ 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); @@ -4571,7 +4529,7 @@ void handle_sorryserver_select_test(){ //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 send_buffer; send_status send_status_temp; @@ -4613,29 +4571,20 @@ void handle_sorryserver_connect_test(){ this->session_thread_data_map.clear(); this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data; - std::map::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::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 @@ -4684,15 +4633,15 @@ void handle_sorryserver_connect_test(){ 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, @@ -4701,19 +4650,19 @@ void handle_sorryserver_connect_test(){ 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:送信不可の場合 @@ -4926,10 +4875,10 @@ void handle_sorryserver_connect_test(){ 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); @@ -4940,9 +4889,9 @@ void handle_sorryserver_connect_test(){ //送信バッファの内容をチェックする。 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); @@ -4980,10 +4929,10 @@ void handle_sorryserver_connect_test(){ 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); @@ -4994,9 +4943,9 @@ void handle_sorryserver_connect_test(){ //送信バッファの内容をチェックする。 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); @@ -5044,9 +4993,9 @@ void handle_sorryserver_connect_test(){ 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); @@ -5324,11 +5273,11 @@ void handle_sorryserver_connect_test(){ 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] 編集データリストが空でない場合 @@ -5376,11 +5325,11 @@ void handle_sorryserver_connect_test(){ 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] 編集データリストが空でない場合 @@ -5426,11 +5375,11 @@ void handle_sorryserver_connect_test(){ 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] 編集区分 = 編集なし @@ -5625,7 +5574,7 @@ void handle_sorryserver_connect_test(){ 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; @@ -5705,10 +5654,9 @@ void handle_sorryserver_send_test() { 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 @@ -5731,16 +5679,9 @@ void handle_sorryserver_send_test() { 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); @@ -5751,31 +5692,13 @@ void handle_sorryserver_send_test() { this->session_thread_data_map.clear(); this->session_thread_data_map.insert(std::pair(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); @@ -5786,18 +5709,8 @@ void handle_sorryserver_send_test() { this->session_thread_data_map.clear(); this->session_thread_data_map.insert(std::pair(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/送信可能データなし @@ -5821,13 +5734,14 @@ void handle_sorryserver_send_test() { 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(); @@ -5836,10 +5750,8 @@ void handle_sorryserver_send_test() { this->session_thread_data_map.clear(); this->session_thread_data_map.insert(std::pair(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/送信可能データなし @@ -5863,7 +5775,7 @@ void handle_sorryserver_send_test() { 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; @@ -5884,7 +5796,7 @@ void handle_sorryserver_send_test() { 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; @@ -5907,7 +5819,7 @@ void handle_sorryserver_send_test() { 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; @@ -5929,7 +5841,7 @@ void handle_sorryserver_send_test() { 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; @@ -5952,7 +5864,7 @@ void handle_sorryserver_send_test() { 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 @@ -5976,7 +5888,7 @@ void handle_sorryserver_send_test() { //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); @@ -6056,7 +5968,7 @@ void handle_sorryserver_send_test() { //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 response; send_status send_status_temp; @@ -6098,20 +6010,10 @@ void handle_realserver_recv_tcp_test() { this->session_thread_data_map.clear(); this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data; - std::map::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; @@ -6121,9 +6023,11 @@ void handle_realserver_recv_tcp_test() { 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::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 @@ -6181,9 +6085,11 @@ void handle_realserver_recv_tcp_test() { 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; @@ -6348,7 +6254,7 @@ void handle_realserver_recv_tcp_test() { } 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); } @@ -6698,8 +6604,8 @@ void handle_realserver_recv_tcp_test() { 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); //メモリの内容をチェックする @@ -6735,20 +6641,21 @@ void handle_realserver_recv_tcp_test() { 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); @@ -6756,7 +6663,7 @@ void handle_realserver_recv_tcp_test() { 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] データバッファ残サイズ < レスポンスデータサイズ @@ -7586,16 +7493,16 @@ void handle_realserver_recv_tcp_test() { 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 @@ -7894,7 +7801,7 @@ void handle_realserver_recv_udp_test() { //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 response; send_status send_status_temp; @@ -7936,20 +7843,10 @@ void handle_sorryserver_recv_test() { this->session_thread_data_map.clear(); this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data; - std::map::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; @@ -7960,8 +7857,9 @@ void handle_sorryserver_recv_test() { 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::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 @@ -8019,9 +7917,11 @@ void handle_sorryserver_recv_test() { 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; @@ -8186,7 +8086,7 @@ void handle_sorryserver_recv_test() { } 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); } @@ -8536,8 +8436,8 @@ void handle_sorryserver_recv_test() { 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); //メモリの内容をチェックする @@ -8573,20 +8473,21 @@ void handle_sorryserver_recv_test() { 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); @@ -8594,7 +8495,7 @@ void handle_sorryserver_recv_test() { 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] データバッファ残サイズ < レスポンスデータサイズ @@ -9424,16 +9325,16 @@ void handle_sorryserver_recv_test() { 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 @@ -9722,7 +9623,7 @@ void handle_sorryserver_recv_test() { 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); } @@ -9733,7 +9634,7 @@ void handle_client_connection_check_test(){ 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 sbf_err1; std::size_t d_err1; ret = this->handle_client_connection_check(boost::this_thread::get_id(), sbf_err1, d_err1); @@ -9867,7 +9768,7 @@ void handle_client_connection_check_test(){ 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 sbf; std::size_t d; @@ -9914,7 +9815,7 @@ void handle_client_send_test(){ 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 @@ -9940,15 +9841,9 @@ void handle_client_send_test(){ 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); @@ -9959,31 +9854,13 @@ void handle_client_send_test(){ this->session_thread_data_map.clear(); this->session_thread_data_map.insert(std::pair(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); @@ -9994,18 +9871,8 @@ void handle_client_send_test(){ this->session_thread_data_map.clear(); this->session_thread_data_map.insert(std::pair(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の場合 @@ -10144,7 +10011,7 @@ void handle_client_send_test(){ 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 @@ -10165,7 +10032,7 @@ void handle_client_send_test(){ 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 @@ -10188,7 +10055,7 @@ void handle_client_send_test(){ 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 @@ -10211,7 +10078,7 @@ void handle_client_send_test(){ 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 @@ -10235,7 +10102,7 @@ void handle_client_send_test(){ 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; @@ -10258,7 +10125,7 @@ void handle_client_send_test(){ 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 @@ -10633,7 +10500,7 @@ void handle_sorry_enable_test() { 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); @@ -10699,7 +10566,8 @@ void handle_sorry_enable_test() { 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; @@ -11072,7 +10940,8 @@ void handle_sorry_disable_test(){ 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; @@ -11119,7 +10988,7 @@ void handle_realserver_disconnect_tcp_test(){ 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 @@ -11347,7 +11216,7 @@ void handle_sorryserver_disconnect_test(){ 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 @@ -11363,7 +11232,7 @@ void handle_sorryserver_disconnect_test(){ 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); @@ -11455,7 +11324,7 @@ void handle_sorryserver_disconnect_test(){ 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->切替中でない @@ -11573,7 +11442,7 @@ void handle_sorryserver_disconnect_test_thread_func(const boost::thread::id thre //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); diff --git a/unit_tests/sslid/protocol_module_sslid_test.cpp b/unit_tests/sslid/protocol_module_sslid_test.cpp index 74e469f9..97b7782d 100644 --- a/unit_tests/sslid/protocol_module_sslid_test.cpp +++ b/unit_tests/sslid/protocol_module_sslid_test.cpp @@ -244,7 +244,7 @@ class sslid_replication_data_processor_stub : public sslid_replication_data_proc ~sslid_replication_data_processor_stub(){} - sslid_replication_data* get_replication_area() + sslid_replication_data*& get_replication_area() { return replication_area; } @@ -290,11 +290,13 @@ protocol_module_sslid_test_class() { //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; @@ -304,18 +306,21 @@ void protocol_module_sslid_test() { //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"); } @@ -332,7 +337,8 @@ void initialize_test() { boost::function inlist_lock = rslist_lock; boost::function 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); @@ -356,7 +362,8 @@ void initialize_test() { 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); @@ -386,7 +393,8 @@ void finalize_test() { 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(); @@ -412,7 +420,8 @@ void finalize_test() { 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; @@ -469,6 +478,7 @@ void finalize_test() { //is_use_sorry void is_use_sorry_test(){ + cout << "[10]------------------------------------------" << endl; //unit_test[10] is_use_sorry()メソッドのテスト,正常系で必ずFALSEを返す BOOST_CHECK(!this->is_use_sorry()); } @@ -477,22 +487,27 @@ void is_use_sorry_test(){ void check_parameter_test(){ std::vector 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"); @@ -500,6 +515,7 @@ void check_parameter_test(){ 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(); @@ -509,6 +525,7 @@ void check_parameter_test(){ 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(); @@ -518,6 +535,7 @@ void check_parameter_test(){ 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(); @@ -527,6 +545,7 @@ void check_parameter_test(){ 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(); @@ -535,6 +554,7 @@ void check_parameter_test(){ 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(); @@ -543,6 +563,7 @@ void check_parameter_test(){ 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(); @@ -553,6 +574,7 @@ void check_parameter_test(){ 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(); @@ -564,6 +586,7 @@ void check_parameter_test(){ 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(); @@ -575,12 +598,14 @@ void check_parameter_test(){ 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"); @@ -588,6 +613,7 @@ void check_parameter_test(){ 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(); @@ -597,6 +623,7 @@ void check_parameter_test(){ 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(); @@ -606,6 +633,7 @@ void check_parameter_test(){ 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(); @@ -614,6 +642,7 @@ void check_parameter_test(){ 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(); @@ -622,6 +651,7 @@ void check_parameter_test(){ 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(); @@ -632,6 +662,7 @@ void check_parameter_test(){ 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(); @@ -643,6 +674,7 @@ void check_parameter_test(){ 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(); @@ -654,12 +686,14 @@ void check_parameter_test(){ 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"); @@ -667,6 +701,7 @@ void check_parameter_test(){ 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(); @@ -676,6 +711,7 @@ void check_parameter_test(){ 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(); @@ -685,6 +721,7 @@ void check_parameter_test(){ 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(); @@ -693,6 +730,7 @@ void check_parameter_test(){ 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(); @@ -701,6 +739,7 @@ void check_parameter_test(){ 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(); @@ -711,6 +750,7 @@ void check_parameter_test(){ 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(); @@ -722,6 +762,7 @@ void check_parameter_test(){ 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(); @@ -733,6 +774,7 @@ void check_parameter_test(){ 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(); @@ -740,7 +782,8 @@ void check_parameter_test(){ 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"); @@ -749,7 +792,8 @@ void check_parameter_test(){ 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"); @@ -758,6 +802,7 @@ void check_parameter_test(){ 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(); @@ -766,6 +811,7 @@ void check_parameter_test(){ 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(); @@ -775,6 +821,7 @@ void check_parameter_test(){ 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(); @@ -785,6 +832,7 @@ void check_parameter_test(){ 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(); @@ -796,6 +844,7 @@ void check_parameter_test(){ 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(); @@ -807,6 +856,7 @@ void check_parameter_test(){ 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(); @@ -816,6 +866,7 @@ void check_parameter_test(){ 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(); @@ -825,7 +876,8 @@ void check_parameter_test(){ 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"); @@ -833,8 +885,10 @@ void check_parameter_test(){ 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"); @@ -842,7 +896,9 @@ void check_parameter_test(){ 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"); @@ -853,6 +909,7 @@ void check_parameter_test(){ 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"); @@ -863,6 +920,7 @@ void check_parameter_test(){ 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"); @@ -873,6 +931,7 @@ void check_parameter_test(){ 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"); @@ -883,6 +942,7 @@ void check_parameter_test(){ 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(); @@ -896,6 +956,7 @@ void check_parameter_test(){ 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"); @@ -906,6 +967,7 @@ void check_parameter_test(){ //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; @@ -922,6 +984,7 @@ void set_parameter_test(){ 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(); @@ -937,18 +1000,21 @@ void set_parameter_test(){ 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(); @@ -965,6 +1031,7 @@ void set_parameter_test(){ 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(); @@ -979,6 +1046,7 @@ void set_parameter_test(){ 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(); @@ -993,6 +1061,7 @@ void set_parameter_test(){ 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(); @@ -1005,6 +1074,7 @@ void set_parameter_test(){ 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(); @@ -1021,6 +1091,7 @@ void set_parameter_test(){ 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(); @@ -1037,6 +1108,7 @@ void set_parameter_test(){ 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(); @@ -1054,6 +1126,7 @@ void set_parameter_test(){ 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(); @@ -1070,6 +1143,7 @@ void set_parameter_test(){ 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(); @@ -1085,6 +1159,7 @@ void set_parameter_test(){ 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(); @@ -1102,6 +1177,7 @@ void set_parameter_test(){ 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(); @@ -1115,6 +1191,7 @@ void set_parameter_test(){ 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(); @@ -1131,6 +1208,7 @@ void set_parameter_test(){ 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(); @@ -1145,6 +1223,7 @@ void set_parameter_test(){ 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(); @@ -1159,6 +1238,7 @@ void set_parameter_test(){ 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(); @@ -1175,6 +1255,7 @@ void set_parameter_test(){ 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(); @@ -1191,6 +1272,7 @@ void set_parameter_test(){ 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(); @@ -1208,6 +1290,7 @@ void set_parameter_test(){ 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(); @@ -1224,6 +1307,7 @@ void set_parameter_test(){ 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(); @@ -1241,6 +1325,7 @@ void set_parameter_test(){ 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(); @@ -1257,6 +1342,7 @@ void set_parameter_test(){ 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(); @@ -1272,6 +1358,7 @@ void set_parameter_test(){ 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(); @@ -1288,6 +1375,7 @@ void set_parameter_test(){ 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(); @@ -1302,6 +1390,7 @@ void set_parameter_test(){ 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(); @@ -1316,6 +1405,7 @@ void set_parameter_test(){ 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(); @@ -1332,6 +1422,7 @@ void set_parameter_test(){ 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(); @@ -1349,6 +1440,7 @@ void set_parameter_test(){ 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(); @@ -1365,6 +1457,7 @@ void set_parameter_test(){ 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(); @@ -1381,6 +1474,7 @@ void set_parameter_test(){ 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(); @@ -1398,6 +1492,7 @@ void set_parameter_test(){ 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(); @@ -1415,6 +1510,7 @@ void set_parameter_test(){ 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(); @@ -1430,6 +1526,7 @@ void set_parameter_test(){ 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(); @@ -1446,6 +1543,7 @@ void set_parameter_test(){ 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(); @@ -1460,6 +1558,7 @@ void set_parameter_test(){ 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(); @@ -1474,6 +1573,7 @@ void set_parameter_test(){ 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(); @@ -1490,6 +1590,7 @@ void set_parameter_test(){ 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(); @@ -1507,6 +1608,7 @@ void set_parameter_test(){ 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(); @@ -1523,6 +1625,7 @@ void set_parameter_test(){ 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(); @@ -1538,6 +1641,7 @@ void set_parameter_test(){ 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(); @@ -1554,6 +1658,7 @@ void set_parameter_test(){ 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(); @@ -1570,6 +1675,7 @@ void set_parameter_test(){ 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(); @@ -1585,6 +1691,7 @@ void set_parameter_test(){ 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(); @@ -1600,6 +1707,7 @@ void set_parameter_test(){ 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(); @@ -1615,6 +1723,7 @@ void set_parameter_test(){ 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(); @@ -1630,7 +1739,8 @@ void set_parameter_test(){ 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"); @@ -1639,13 +1749,15 @@ void set_parameter_test(){ 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"); @@ -1654,12 +1766,14 @@ void set_parameter_test(){ 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(); @@ -1679,6 +1793,7 @@ void set_parameter_test(){ 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(); @@ -1698,6 +1813,7 @@ void set_parameter_test(){ 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(); @@ -1717,6 +1833,7 @@ void set_parameter_test(){ 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(); @@ -1736,7 +1853,8 @@ void set_parameter_test(){ 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"); @@ -1747,6 +1865,7 @@ void set_parameter_test(){ 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); @@ -1755,6 +1874,7 @@ void set_parameter_test(){ 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(); @@ -1767,39 +1887,19 @@ void set_parameter_test(){ 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 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"); @@ -1819,13 +1919,13 @@ void register_schedule_tcp_test(){ 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); @@ -1842,7 +1942,8 @@ void handle_session_initialize_test() { 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, @@ -1881,7 +1982,8 @@ void handle_session_finalize_test() { 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(), @@ -1894,7 +1996,8 @@ void handle_session_finalize_test() { 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(), @@ -1906,9 +2009,9 @@ void handle_session_finalize_test() { 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; @@ -1935,8 +2038,8 @@ void handle_client_recv_test() { 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()] @@ -1947,9 +2050,9 @@ void handle_client_recv_test() { 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; @@ -1972,9 +2075,9 @@ void handle_client_recv_test() { 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; @@ -1997,9 +2100,9 @@ void handle_client_recv_test() { 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; @@ -2023,9 +2126,9 @@ void handle_client_recv_test() { 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; @@ -2049,9 +2152,9 @@ void handle_client_recv_test() { 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; @@ -2071,9 +2174,9 @@ void handle_client_recv_test() { 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; @@ -2093,10 +2196,9 @@ void handle_client_recv_test() { 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; @@ -2132,10 +2234,9 @@ void handle_client_recv_test() { 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; @@ -2171,10 +2272,9 @@ void handle_client_recv_test() { 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; @@ -2201,10 +2301,9 @@ void handle_client_recv_test() { 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; @@ -2231,9 +2330,9 @@ void handle_client_recv_test() { 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; @@ -2261,8 +2360,9 @@ void handle_client_recv_test() { 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; @@ -2290,9 +2390,10 @@ void handle_client_recv_test() { 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; @@ -2321,9 +2422,10 @@ void handle_client_recv_test() { 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; @@ -2352,9 +2454,10 @@ void handle_client_recv_test() { 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; @@ -2382,9 +2485,10 @@ void handle_client_recv_test() { 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; @@ -2412,10 +2516,10 @@ void handle_client_recv_test() { 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; @@ -2456,10 +2560,10 @@ void handle_client_recv_test() { 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; @@ -2500,10 +2604,10 @@ void handle_client_recv_test() { 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; @@ -2538,18 +2642,18 @@ void handle_client_recv_test() { 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; @@ -2576,21 +2680,24 @@ void handle_client_recv_test() { 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(MAX_BUFFER_SIZE) + 76u; @@ -2634,8 +2741,8 @@ void handle_realserver_select_tcp_test() { boost::function 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; @@ -2648,8 +2755,8 @@ void handle_realserver_select_tcp_test() { 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; @@ -2662,9 +2769,9 @@ void handle_realserver_select_tcp_test() { 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 @@ -2679,9 +2786,9 @@ void handle_realserver_select_tcp_test() { 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 @@ -2696,8 +2803,9 @@ void handle_realserver_select_tcp_test() { 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; @@ -2711,8 +2819,9 @@ void handle_realserver_select_tcp_test() { 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; @@ -2724,8 +2833,9 @@ void handle_realserver_select_tcp_test() { 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; @@ -2740,15 +2850,17 @@ void handle_realserver_select_tcp_test() { 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; @@ -2759,9 +2871,10 @@ void handle_realserver_select_tcp_test() { 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; @@ -2769,6 +2882,7 @@ void handle_realserver_select_tcp_test() { 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; @@ -2779,15 +2893,17 @@ void handle_realserver_select_tcp_test() { 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; } @@ -2814,15 +2930,17 @@ void handle_realserver_select_tcp_test() { 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; } @@ -2840,15 +2958,17 @@ void handle_realserver_select_tcp_test() { 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; } @@ -2866,14 +2986,16 @@ void handle_realserver_select_tcp_test() { 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; } @@ -2890,8 +3012,9 @@ void handle_realserver_select_tcp_test() { 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; @@ -2903,8 +3026,9 @@ void handle_realserver_select_tcp_test() { 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; @@ -2919,15 +3043,17 @@ void handle_realserver_select_tcp_test() { 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; @@ -2938,15 +3064,17 @@ void handle_realserver_select_tcp_test() { 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; @@ -2958,15 +3086,17 @@ void handle_realserver_select_tcp_test() { 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; } @@ -2990,15 +3120,17 @@ void handle_realserver_select_tcp_test() { 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; } @@ -3016,15 +3148,17 @@ void handle_realserver_select_tcp_test() { 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; } @@ -3042,14 +3176,16 @@ void handle_realserver_select_tcp_test() { 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; } @@ -3069,8 +3205,8 @@ void handle_realserver_select_tcp_test() { //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 sendbuffer; size_t datalen; @@ -3091,9 +3227,9 @@ void handle_realserver_connect_test() { 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; @@ -3122,9 +3258,9 @@ void handle_realserver_connect_test() { 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(MAX_BUFFER_SIZE) + 1u; @@ -3153,9 +3289,9 @@ void handle_realserver_connect_test() { 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; @@ -3184,9 +3320,9 @@ void handle_realserver_connect_test() { 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(MAX_BUFFER_SIZE); @@ -3215,9 +3351,9 @@ void handle_realserver_connect_test() { 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(MAX_BUFFER_SIZE) + 10u; @@ -3246,9 +3382,9 @@ void handle_realserver_connect_test() { 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(MAX_BUFFER_SIZE) + 10u; @@ -3277,9 +3413,9 @@ void handle_realserver_connect_test() { 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; @@ -3308,9 +3444,9 @@ void handle_realserver_connect_test() { delete[] mem_cmp_buffer; this->session_thread_data_map.clear(); - // unit_test[174] current_record_rest_sizecurrent_record_rest_size = static_cast(MAX_BUFFER_SIZE); @@ -3339,9 +3475,9 @@ void handle_realserver_connect_test() { 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(MAX_BUFFER_SIZE) + 10u; @@ -3388,30 +3524,34 @@ void handle_realserver_connection_fail_test(){ 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); @@ -3425,8 +3565,9 @@ void handle_realserver_send_test() { 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; @@ -3437,8 +3578,9 @@ void handle_realserver_send_test() { 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; @@ -3449,8 +3591,9 @@ void handle_realserver_send_test() { 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; @@ -3462,8 +3605,9 @@ void handle_realserver_send_test() { 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; @@ -3475,8 +3619,9 @@ void handle_realserver_send_test() { 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; @@ -3491,8 +3636,9 @@ void handle_realserver_send_test() { 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; @@ -3507,8 +3653,9 @@ void handle_realserver_send_test() { 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; @@ -3520,8 +3667,9 @@ void handle_realserver_send_test() { 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; @@ -3533,10 +3681,9 @@ void handle_realserver_send_test() { 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; @@ -3559,10 +3706,9 @@ void handle_realserver_send_test() { 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; @@ -3585,10 +3731,9 @@ void handle_realserver_send_test() { 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; @@ -3608,10 +3753,9 @@ void handle_realserver_send_test() { 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; @@ -3645,8 +3789,9 @@ void handle_realserver_recv_tcp_test() { 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; @@ -3658,12 +3803,13 @@ void handle_realserver_recv_tcp_test() { 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; @@ -3685,11 +3831,12 @@ void handle_realserver_recv_tcp_test() { 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; @@ -3710,12 +3857,12 @@ void handle_realserver_recv_tcp_test() { 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; @@ -3749,12 +3896,12 @@ void handle_realserver_recv_tcp_test() { 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; @@ -3782,11 +3929,12 @@ void handle_realserver_recv_tcp_test() { 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; @@ -3809,8 +3957,9 @@ void handle_realserver_recv_tcp_test() { 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; @@ -3827,8 +3976,8 @@ void handle_realserver_recv_tcp_test() { //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 recvbuffer; size_t recvlen; boost::asio::ip::udp::endpoint rs_endpoint_udp; @@ -3859,14 +4008,16 @@ void handle_client_connection_check_test() { 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; @@ -3881,8 +4032,9 @@ void handle_client_connection_check_test() { 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; @@ -3898,9 +4050,10 @@ void handle_client_connection_check_test() { 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; @@ -3933,16 +4086,17 @@ void handle_client_connection_check_test() { 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; idata_size; i++) + for(size_t i=54; idata_size; i++) { down_thread_data->data_buffer[i] = 0x01; } @@ -3961,7 +4115,7 @@ void handle_client_connection_check_test() { sendbuffer, datalen); BOOST_CHECK_EQUAL((dynamic_cast(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; @@ -3969,9 +4123,10 @@ void handle_client_connection_check_test() { 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; @@ -3988,27 +4143,29 @@ void handle_client_connection_check_test() { 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; @@ -4024,18 +4181,19 @@ void handle_client_connection_check_test() { 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; @@ -4044,7 +4202,8 @@ void handle_client_connection_check_test() { //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 sendbuffer; size_t datalen; @@ -4059,14 +4218,16 @@ void handle_client_send_test() { 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; @@ -4077,8 +4238,9 @@ void handle_client_send_test() { 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; @@ -4089,8 +4251,9 @@ void handle_client_send_test() { 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; @@ -4101,8 +4264,9 @@ void handle_client_send_test() { 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; @@ -4113,8 +4277,9 @@ void handle_client_send_test() { 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; @@ -4125,8 +4290,9 @@ void handle_client_send_test() { 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; @@ -4137,8 +4303,9 @@ void handle_client_send_test() { 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; @@ -4151,8 +4318,9 @@ void handle_client_send_test() { 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; @@ -4165,9 +4333,10 @@ void handle_client_send_test() { 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; @@ -4179,9 +4348,10 @@ void handle_client_send_test() { 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; @@ -4193,9 +4363,10 @@ void handle_client_send_test() { 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; @@ -4207,9 +4378,10 @@ void handle_client_send_test() { 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; @@ -4221,10 +4393,9 @@ void handle_client_send_test() { 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; @@ -4245,10 +4416,9 @@ void handle_client_send_test() { 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; @@ -4269,10 +4439,9 @@ void handle_client_send_test() { 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; @@ -4290,10 +4459,9 @@ void handle_client_send_test() { 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; @@ -4314,7 +4482,8 @@ void handle_client_send_test() { //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, @@ -4325,7 +4494,8 @@ void handle_client_disconnect_test(){ 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){ @@ -4335,21 +4505,24 @@ 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 buffer; size_t datalen; @@ -4358,20 +4531,23 @@ void handle_sorryserver_connect_test(){ //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 buffer; size_t datalen; @@ -4380,29 +4556,33 @@ void handle_sorryserver_recv_test(){ //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); } @@ -4419,8 +4599,8 @@ void replication_interrupt_test(){ 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; @@ -4437,22 +4617,23 @@ void replication_interrupt_test(){ { std::cout<<"bad_cast:::"<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; @@ -4461,18 +4642,18 @@ void replication_interrupt_test(){ 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; @@ -4481,11 +4662,11 @@ void replication_interrupt_test(){ 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; @@ -4501,14 +4682,15 @@ void put_data_to_sendbuffer_test(){ 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; @@ -4536,9 +4718,9 @@ void put_data_to_sendbuffer_test(){ 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(MAX_BUFFER_SIZE) + 1u; @@ -4566,9 +4748,9 @@ void put_data_to_sendbuffer_test(){ 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; @@ -4596,9 +4778,9 @@ void put_data_to_sendbuffer_test(){ 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(MAX_BUFFER_SIZE); @@ -4626,9 +4808,9 @@ void put_data_to_sendbuffer_test(){ 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(MAX_BUFFER_SIZE) + 10u; @@ -4656,9 +4838,9 @@ void put_data_to_sendbuffer_test(){ 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(MAX_BUFFER_SIZE) + 10u; @@ -4686,9 +4868,9 @@ void put_data_to_sendbuffer_test(){ 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; @@ -4716,9 +4898,9 @@ void put_data_to_sendbuffer_test(){ delete[] mem_cmp_buffer; this->session_thread_data_map.clear(); - // unit_test[239] current_record_rest_sizecurrent_record_rest_size = static_cast(MAX_BUFFER_SIZE); @@ -4746,9 +4928,9 @@ void put_data_to_sendbuffer_test(){ 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(MAX_BUFFER_SIZE) + 10u; @@ -4779,7 +4961,8 @@ void put_data_to_sendbuffer_test(){ //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); } @@ -5000,3 +5183,4 @@ void protocol_module_sslid_test_main() { ts->add(BOOST_TEST_CASE( &realserver_selected_test )); framework::master_test_suite().add(ts); } + diff --git a/unit_tests/sslid/ssl_protocol_module_base_test.cpp b/unit_tests/sslid/ssl_protocol_module_base_test.cpp index 9985a4ef..4b6a6192 100644 --- a/unit_tests/sslid/ssl_protocol_module_base_test.cpp +++ b/unit_tests/sslid/ssl_protocol_module_base_test.cpp @@ -207,38 +207,43 @@ public: 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); @@ -256,8 +261,9 @@ public: 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; @@ -265,8 +271,9 @@ public: 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; @@ -277,8 +284,9 @@ public: 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; @@ -289,8 +297,9 @@ public: 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; @@ -302,8 +311,9 @@ public: 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; @@ -315,8 +325,9 @@ public: 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; @@ -335,8 +346,9 @@ public: 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; @@ -355,8 +367,9 @@ public: 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; @@ -375,8 +388,9 @@ public: 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; @@ -395,8 +409,9 @@ public: 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; @@ -415,8 +430,9 @@ public: 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; @@ -435,8 +451,9 @@ public: 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; @@ -453,8 +470,9 @@ public: 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; @@ -471,8 +489,9 @@ public: 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; @@ -489,8 +508,9 @@ public: 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; @@ -507,8 +527,9 @@ public: 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; @@ -520,8 +541,9 @@ public: 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; @@ -533,8 +555,9 @@ public: 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; @@ -552,8 +575,9 @@ public: 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; @@ -571,8 +595,9 @@ public: 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; @@ -590,8 +615,9 @@ public: 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; @@ -609,8 +635,9 @@ public: 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; @@ -627,8 +654,9 @@ public: 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; @@ -645,8 +673,9 @@ public: 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; @@ -663,8 +692,9 @@ public: 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; @@ -681,9 +711,9 @@ public: 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; @@ -703,8 +733,9 @@ public: 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; @@ -724,8 +755,9 @@ public: 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; @@ -744,8 +776,9 @@ public: 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; @@ -765,8 +798,9 @@ public: 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; @@ -786,8 +820,9 @@ public: 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; @@ -807,8 +842,9 @@ public: 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; @@ -828,8 +864,9 @@ public: 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; @@ -849,8 +886,9 @@ public: 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; @@ -870,8 +908,9 @@ public: 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; @@ -891,8 +930,9 @@ public: 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; @@ -912,8 +952,9 @@ public: 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; @@ -933,8 +974,9 @@ public: 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; @@ -954,8 +996,9 @@ public: 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; @@ -977,8 +1020,9 @@ public: 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; @@ -999,8 +1043,9 @@ public: 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; @@ -1021,8 +1066,9 @@ public: 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; @@ -1043,8 +1089,9 @@ public: 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; @@ -1065,8 +1112,9 @@ public: 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; @@ -1087,8 +1135,9 @@ public: 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; @@ -1109,8 +1158,9 @@ public: 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; @@ -1131,8 +1181,9 @@ public: 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; @@ -1152,8 +1203,9 @@ public: 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; @@ -1173,8 +1225,9 @@ public: 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; @@ -1194,8 +1247,9 @@ public: 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; @@ -1215,8 +1269,9 @@ public: 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; @@ -1236,8 +1291,9 @@ public: 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; @@ -1257,8 +1313,9 @@ public: 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; @@ -1278,8 +1335,9 @@ public: 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; @@ -1299,8 +1357,9 @@ public: 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; @@ -1320,8 +1379,9 @@ public: 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; @@ -1341,8 +1401,9 @@ public: 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; @@ -1362,8 +1423,9 @@ public: 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; @@ -1383,8 +1445,9 @@ public: 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; @@ -1406,8 +1469,9 @@ public: 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; @@ -1429,8 +1493,9 @@ public: 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; @@ -1452,8 +1517,9 @@ public: 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; @@ -1475,8 +1541,9 @@ public: 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; @@ -1498,8 +1565,9 @@ public: 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; @@ -1521,8 +1589,9 @@ public: 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; @@ -1544,8 +1613,9 @@ public: 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; @@ -1567,8 +1637,9 @@ public: 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; @@ -1590,16 +1661,18 @@ public: 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; @@ -1618,8 +1691,9 @@ public: 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; diff --git a/unit_tests/sslid/sslid_replication_data_processor_test.cpp b/unit_tests/sslid/sslid_replication_data_processor_test.cpp index 7d35f97d..23e98ea8 100644 --- a/unit_tests/sslid/sslid_replication_data_processor_test.cpp +++ b/unit_tests/sslid/sslid_replication_data_processor_test.cpp @@ -233,7 +233,7 @@ public: 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); @@ -243,26 +243,276 @@ public: // 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(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(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(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); + first_header->offset = static_cast(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(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); + first_header->offset = static_cast(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); + first_header->offset = static_cast(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(max_list_size * sizeof(l7vs::sslid_replication_data)); + // the virtual service information's offset is resized, get it + size_t expecting_offset = static_cast(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((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(max_list_size * sizeof(l7vs::sslid_replication_data)); + expecting_offset = static_cast(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(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); + first_header->offset = static_cast(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(max_list_size * sizeof(l7vs::sslid_replication_data)); + BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size); } // put_into_temp_list_test @@ -277,7 +527,8 @@ public: 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'; @@ -295,7 +546,8 @@ public: // 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'; @@ -323,7 +575,8 @@ public: 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'; @@ -361,7 +614,8 @@ public: 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(); @@ -400,7 +654,8 @@ public: } } - // 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(); @@ -424,7 +679,8 @@ public: 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(); @@ -448,7 +704,8 @@ public: 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; @@ -469,7 +726,8 @@ public: 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; @@ -500,7 +758,8 @@ public: 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; @@ -551,7 +810,8 @@ public: 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)); @@ -564,7 +824,8 @@ public: 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); @@ -612,7 +873,8 @@ public: 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); @@ -663,7 +925,8 @@ public: 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); @@ -696,8 +959,8 @@ public: 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'; @@ -728,7 +991,8 @@ public: 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'; @@ -757,7 +1021,8 @@ public: 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); @@ -781,7 +1046,8 @@ public: 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(); @@ -804,7 +1070,8 @@ public: 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(); @@ -827,7 +1094,8 @@ public: 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); @@ -859,7 +1127,8 @@ public: 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'; @@ -881,7 +1150,8 @@ public: 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; @@ -912,11 +1182,13 @@ public: boost::function 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); @@ -927,12 +1199,14 @@ public: boost::function 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); @@ -946,7 +1220,8 @@ public: 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)); @@ -957,7 +1232,8 @@ public: 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; @@ -969,7 +1245,8 @@ public: 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; @@ -994,7 +1271,8 @@ public: // 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); @@ -1009,7 +1287,8 @@ public: // 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(); @@ -1030,7 +1309,8 @@ public: // 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); } @@ -1045,7 +1325,6 @@ void sslid_replication_data_processor_test(){ 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); @@ -1056,231 +1335,9 @@ void sslid_replication_data_processor_test(){ 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(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(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); - first_header->offset = static_cast(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(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); - first_header->offset = static_cast(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); - first_header->offset = static_cast(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(max_list_size * sizeof(l7vs::sslid_replication_data)); - // the virtual service information's offset is resized, get it - size_t expecting_offset = static_cast(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((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(max_list_size * sizeof(l7vs::sslid_replication_data)); - expecting_offset = static_cast(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(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((max_list_size - 1) * sizeof(l7vs::sslid_replication_data)); - first_header->offset = static_cast(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(max_list_size * sizeof(l7vs::sslid_replication_data)); - BOOST_CHECK_EQUAL((first_header+1)->size, expecting_size); + reinterpret_cast(real_data_start_address), + virtual_service_endpoint, replication_data_area, data_area_size, + header_start_address, real_data_start_address); delete []replication_data_area; } diff --git a/unit_tests/sslid/sslid_session_data_processor_test.cpp b/unit_tests/sslid/sslid_session_data_processor_test.cpp index c4e9756e..f10f5a27 100644 --- a/unit_tests/sslid/sslid_session_data_processor_test.cpp +++ b/unit_tests/sslid/sslid_session_data_processor_test.cpp @@ -6,6 +6,8 @@ using namespace l7vs; #define SECTION_NUMBER 200 #define STRUCT_NUMBER 256 +bool clear_function_return_fail = false; + LOG_LEVEL_TAG getloglevel_test(){ return LOG_LV_NONE; @@ -89,6 +91,15 @@ public: } + // 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, @@ -103,7 +114,8 @@ public: 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 @@ -128,6 +140,62 @@ public: 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 @@ -142,8 +210,8 @@ public: sslid_replication_data_processor_replacement *this_replication_data_processor = dynamic_cast(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(); @@ -152,8 +220,8 @@ public: // 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(); @@ -162,8 +230,8 @@ public: // 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(); @@ -172,8 +240,8 @@ public: // 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")); @@ -191,8 +259,8 @@ public: // 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(); @@ -217,8 +285,8 @@ public: 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"; @@ -243,7 +311,8 @@ public: // 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; @@ -266,8 +335,8 @@ public: // 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(); @@ -298,8 +367,8 @@ public: 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(); @@ -324,7 +393,8 @@ public: 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; @@ -355,8 +425,19 @@ public: sslid_replication_data_processor_replacement *this_replication_data_processor = dynamic_cast (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(); @@ -382,7 +463,8 @@ public: 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"; @@ -411,7 +493,8 @@ public: 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(); @@ -441,7 +524,8 @@ public: 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(); @@ -474,7 +558,8 @@ public: 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(); @@ -503,7 +588,8 @@ public: 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; @@ -541,7 +627,30 @@ public: 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(); @@ -578,7 +687,9 @@ public: 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(); @@ -620,7 +731,8 @@ public: } } - // unit_test[20] multi-threads test + cout << "[27]------------------------------------------" << endl; + // unit_test[27] マルチスレッドの場合、mapにデータを正常追加する try{ this->session_endpoint_map.clear(); this->session_lasttime_map.clear(); @@ -641,14 +753,27 @@ public: write_time)); thread_group.join_all(); + std::map::iterator it1 = this->session_endpoint_map.begin(); + std::map::iterator it2 = this->session_lasttime_map.begin(); + std::multimap::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"; @@ -686,7 +811,8 @@ public: sslid_replication_data_processor_replacement *this_replication_data_processor = dynamic_cast (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(); @@ -697,9 +823,10 @@ public: 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(); @@ -731,7 +858,8 @@ public: 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); @@ -772,7 +900,8 @@ public: 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; @@ -811,7 +940,8 @@ public: 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(); @@ -850,7 +980,7 @@ public: 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; @@ -912,7 +1042,8 @@ public: (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); @@ -922,7 +1053,8 @@ public: // 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(); @@ -954,7 +1086,8 @@ public: // 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(); @@ -986,7 +1119,8 @@ public: // 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(); @@ -1002,7 +1136,8 @@ public: // 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(); @@ -1059,7 +1194,8 @@ public: 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(); @@ -1109,7 +1245,8 @@ public: 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(); @@ -1159,8 +1296,8 @@ public: 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; @@ -1195,46 +1332,6 @@ void sslid_session_data_processor_test(){ 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; } -- 2.11.0