OSDN Git Service

20090214 JHC source merge
authortakamaru <takamaru@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 16 Feb 2009 01:40:44 +0000 (01:40 +0000)
committertakamaru <takamaru@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 16 Feb 2009 01:40:44 +0000 (01:40 +0000)
git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-shamshel@6906 1ed66053-1c2d-0410-8867-f7571e6e31d3

module/protocol/protocol_module_sessionless.cpp
module/protocol/protocol_module_sslid.cpp
module/protocol/sslid_replication_data_processor.cpp
module/protocol/sslid_session_data_processor.cpp
unit_tests/sessionless/sessionless_ut.cpp
unit_tests/sslid/protocol_module_sslid_test.cpp
unit_tests/sslid/sslid_replication_data_processor_test.cpp
unit_tests/sslid/sslid_session_data_processor_test.cpp
unit_tests/sslid/sslid_ut.cpp [new file with mode: 0755]

index d6a4048..2afea8c 100644 (file)
@@ -38,30 +38,11 @@ const int protocol_module_sessionless::FORWARDED_FOR_ON = 1;
 protocol_module_sessionless::protocol_module_sessionless() :
         http_protocol_module_base(MODULE_NAME), forwarded_for(FORWARDED_FOR_OFF)
 {
-    // /*-------- DEBUG LOG --------*/
-    // if (LOG_LV_DEBUG == getloglevel())
-    // {
-    //         putLogDebug(010000, "in/out_function: protocol_module_sessionless::"
-    //                 "protocol_module_sessionless()", __FILE__, __LINE__ );
-    //
-    //         boost::format formatter("out_function: protocol_module_sessionless::protocol_module_sessionless(): "
-    //                 "modename=%s");
-    //         formatter % MODULE_NAME;
-    //         putLogDebug(010001, formatter.str(), __FILE__, __LINE__ );
-    // }
-    // /*------DEBUG LOG END------*/
     sorry_uri.assign('\0');
 }
 //! destractor
 protocol_module_sessionless::~protocol_module_sessionless()
 {
-//     /*-------- DEBUG LOG --------*/
-//     if (LOG_LV_DEBUG == getloglevel())
-//     {
-//             putLogDebug(010002, "in/out_function: protocol_module_sessionless::"
-//                     "~protocol_module_sessionless()", __FILE__, __LINE__ );
-//     }
-//     /*------DEBUG LOG END------*/
 }
 //! tcp protocol support check
 //! @return tcp support is true
@@ -100,7 +81,7 @@ void protocol_module_sessionless::replication_interrupt()
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        putLogDebug(10002, "in/out_function : protocol_module_sessionless::"
+        putLogDebug(10002, "in/out_function : void protocol_module_sessionless::"
                     "replication_interrupt().", __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
@@ -223,19 +204,27 @@ void protocol_module_sessionless::finalize()
                     __LINE__ );
     }
     /*------DEBUG LOG END------*/
+    /*-------- DEBUG LOG --------*/
+    if (LOG_LV_DEBUG == getloglevel())
+    {
+        putLogDebug(10010, "out_function : void protocol_module_sessionless::finalize().", __FILE__,
+                    __LINE__ );
+    }
+    /*------DEBUG LOG END------*/
+
 
     //logger functions initializtion
     //log level getting function
     getloglevel.clear();
-    //logger(Fatal)
+    //logger(Fatal)
     putLogFatal.clear();
-    //logger(Error)
+    //logger(Error)
     putLogError.clear();
-    //logger(Warn)
+    //logger(Warn)
     putLogWarn.clear();
-    //logger(Info)
+    //logger(Info)
     putLogInfo.clear();
-    //logger(Debug)
+    //logger(Debug)
     putLogDebug.clear();
 }
 
@@ -247,7 +236,7 @@ bool protocol_module_sessionless::is_use_sorry()
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        putLogDebug(10010, "in/out_function : bool protocol_module_sessionless::is_use_sorry() : "
+        putLogDebug(10011, "in/out_function : bool protocol_module_sessionless::is_use_sorry() : "
                     "return_value = true.", __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
@@ -260,7 +249,7 @@ void protocol_module_sessionless::handle_rslist_update()
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        putLogDebug(10011, "in/out_function : void protocol_module_sessionless::handle_rslist_update().", __FILE__,
+        putLogDebug(10012, "in/out_function : void protocol_module_sessionless::handle_rslist_update().", __FILE__,
                     __LINE__ );
     }
     /*------DEBUG LOG END------*/
@@ -285,11 +274,11 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
             argsdump += *it;
         }
         formatter % argsdump;
-        putLogDebug(10012, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10013, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
-    //set check result to ture
+    //set check result true
     check_message_result check_result;
     check_result.flag = true;
     bool forward_checked = false;
@@ -307,7 +296,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
             //option string = "-F"
             if (*it == "-F" || *it == "--forwarded-for")
             {
-                //set forward flag to ON
+                //set forward flag  ON
                 forward_checked = true;
             }
             //option string = "-S"
@@ -321,7 +310,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
                     {
                         if (!it->empty() && (it->substr(0, 1) == "-" || it->substr(0, 2) == "--"))
                         {
-                            //set check flag to FALSE
+                            //set check result flag false
                             check_result.flag = false;
                             //set check result message
                             check_result.message = "You have to set option value '-S/--sorry-uri'.";
@@ -335,7 +324,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
                             std::ostringstream ostr;
                             ostr << "'-S/--sorry-uri' option value '" << *it << "' is too long.";
 
-                            //set check flag to FALSE
+                            //set check result flag false
                             check_result.flag = false;
                             //set check result message
                             check_result.message = ostr.str();
@@ -362,7 +351,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
                                 std::ostringstream ostr;
                                 ostr << "'-S/--sorry-uri' option value '" << *it << "' is not a valid URI.";
 
-                                //set check flag to FALSE
+                                //set check result flag false
                                 check_result.flag = false;
                                 //set check result message
                                 check_result.message = ostr.str();
@@ -375,7 +364,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
                     //next item is not exist
                     else
                     {
-                        //set check flag to FALSE
+                        //set check flag false
                         check_result.flag = false;
                         //set check result message
                         check_result.message = "You have to set option value '-S/--sorry-uri'.";
@@ -388,7 +377,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
                 //sorryURI flag = ON
                 else
                 {
-                    //set check flag to FALSE
+                    //set check result flag false
                     check_result.flag = false;
                     //set check result message
                     check_result.message = "Cannot set multiple option '-S/--sorry-uri'.";
@@ -401,7 +390,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
             //other option string
             else
             {
-                //set check flag to FALSE
+                //set check result flag false
                 check_result.flag = false;
                 //set check result message
                 check_result.message = "Option error.";
@@ -414,7 +403,7 @@ 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 << "protocol_module_sessionless::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.");
@@ -438,7 +427,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa
                                 "const std::vector<std::string>& args) : return_value = ("
                                 "check_message_result.flag = %d, check_message_result.message = %s).");
         formatter % check_result.flag % check_result.message;
-        putLogDebug(10013, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10014, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return check_result;
@@ -463,10 +452,10 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
             argsdump += *it;
         }
         formatter % argsdump;
-        putLogDebug(10014, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10015, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
-    //set check result flag to true
+    //set check result flag true
     check_message_result check_result;
     check_result.flag = true;
     bool forward_checked = false;
@@ -475,7 +464,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
 
     typedef std::vector<std::string>::const_iterator vec_str_it;
 
-    //set forwarded flag to true
+    //set forwarded flag true
     forwarded_for = 1;
 
     try
@@ -501,7 +490,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
                     {
                         if (!it->empty() && (it->substr(0, 1) == "-" || it->substr(0, 2) == "--"))
                         {
-                            //set check flag false
+                            //set check result flag false
                             check_result.flag = false;
                             //set check result message
                             check_result.message = "You have to set option value '-S/--sorry-uri'.";
@@ -516,7 +505,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
                             std::ostringstream ostr;
                             ostr << "'-S/--sorry-uri' option value '" << *it << "' is too long.";
 
-                            //set check flag false
+                            //set check result flag false
                             check_result.flag = false;
                             //set check result message
                             check_result.message = ostr.str();
@@ -542,7 +531,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
                                 std::ostringstream ostr;
                                 ostr << "'-S/--sorry-uri' option value '" << *it << "' is not a valid URI.";
 
-                                //set check flag false
+                                //set check result flag false
                                 check_result.flag = false;
                                 //set check result message
                                 check_result.message = ostr.str();
@@ -556,7 +545,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
                     //next item not exist
                     else
                     {
-                        //set check flag false
+                        //set check result flag false
                         check_result.flag = false;
                         //set check result message
                         check_result.message = "You have to set option value '-S/--sorry-uri'.";
@@ -569,7 +558,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
                 //sorryURI flag = ON
                 else
                 {
-                    //set check flag false
+                    //set check result flag false
                     check_result.flag = false;
                     //set check result message
                     check_result.message = "Cannot set multiple option '-S/--sorry-uri'.";
@@ -582,7 +571,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
             //others
             else
             {
-                //set check flag false
+                //set check result flag false
                 check_result.flag = false;
                 //set check result message
                 check_result.message = "Option error.";
@@ -607,7 +596,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
     catch (const std::exception& ex)
     {
         check_result.flag = false;
-        std::cerr << "set parameter exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::set_parameter() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::check_message_result "
                                 "protocol_module_sessionless::set_parameter() : exception : "
                                 "error = %s.");
@@ -631,7 +620,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::set_para
                                 "const std::vector<std::string>& args) : return_value = ("
                                 "check_message_result.flag = %d, check_message_result.message = %s).");
         formatter % check_result.flag % check_result.message;
-        putLogDebug(10015, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10016, formatter.str(), __FILE__, __LINE__ );
     }
     /*-------- DEBUG LOG END--------*/
 
@@ -657,19 +646,19 @@ protocol_module_base::check_message_result protocol_module_sessionless::add_para
             argsdump += *it;
         }
         formatter % argsdump;
-        putLogDebug(10016, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10017, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     check_message_result check_result;
-    //set check result's flag true
+    //set check result flag true
     check_result.flag = true;
 
     //param list is not empty
     if (!args.empty())
     {
-        //set check result's flag false
+        //set check result flag false
         check_result.flag = false;
-        //set check result's message
+        //set check result message
         check_result.message = "Cannot add option.";
         putLogError(17016, check_result.message, __FILE__, __LINE__ );
     }
@@ -682,7 +671,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::add_para
                                 "const std::vector<std::string>& args) : return_value = ("
                                 "check_message_result.flag = %d, check_message_result.message = %s).");
         formatter % check_result.flag % check_result.message;
-        putLogDebug(10017, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10018, formatter.str(), __FILE__, __LINE__ );
     }
     /*-------- DEBUG LOG --------*/
 
@@ -698,7 +687,7 @@ void protocol_module_sessionless::register_schedule(tcp_schedule_func_type insch
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        putLogDebug(10018, "in_function : void protocol_module_sessionless::register_schedule("
+        putLogDebug(10019, "in_function : void protocol_module_sessionless::register_schedule("
                     "tcp_schedule_func_type inschedule).", __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
@@ -706,7 +695,7 @@ void protocol_module_sessionless::register_schedule(tcp_schedule_func_type insch
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        putLogDebug(10019, "out_function : void protocol_module_sessionless::register_schedule("
+        putLogDebug(10020, "out_function : void protocol_module_sessionless::register_schedule("
                     "tcp_schedule_func_type inschedule).", __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
@@ -719,7 +708,7 @@ void protocol_module_sessionless::register_schedule(udp_schedule_func_type insch
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        putLogDebug(10020,
+        putLogDebug(10021,
                     "in/out_function : void protocol_module_sessionless::register_schedule(udp_schedule_func_type inschedule).",
                     __FILE__, __LINE__ );
     }
@@ -744,7 +733,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(10021, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10022, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -758,7 +747,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init
         {
             boost::format formatter("new : address = &(%d), size = %lu.");
             formatter % static_cast<void*>(p_up.get()) % sizeof(session_thread_data_sessionless);
-            putLogDebug(10022, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10023, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         p_up->thread_id = up_thread_id;
@@ -781,14 +770,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init
             // data dump
             boost::format
             formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                      "handle_session_initialize() : session_thread_data_sessionless(upthread) : "
+                      "handle_session_initialize() : session_thread_data_sessionless(up_thread_id) : "
                       "thread_id = %d, thread_division = %d, "
                       "pair_thread_id = %d, accept_end_flag = %d, end_flag = %d, "
                       "sorry_flag = %d, sorryserver_switch_flag = %d, realserver_switch_flag = %d, last_status = %d, client_endpoint_tcp = [%s]:%d.");
             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(10023, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10024, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
 
@@ -798,7 +787,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init
         {
             boost::format formatter("new : address = &(%d), size = %lu.");
             formatter % static_cast<void*>(p_down.get()) % sizeof(session_thread_data_sessionless);
-            putLogDebug(10024, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10025, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         p_down->thread_id = down_thread_id;
@@ -819,11 +808,11 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_init
                                     "handle_session_initialize() : session_thread_data_sessionless(down_thread_id) : "
                                     "accept_end_flag = %d, end_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.");
+                                    "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(10025, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10026, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
 
@@ -836,13 +825,13 @@ 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;
+        std::cerr << "protocol_module_sessionless::handle_session_initialize() : exception : Could not allocate memory." << std::endl;
         putLogError(17017, "Could not allocate memory.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_session_initialize exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_session_initialize() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_session_initialize() : exception : error = %s.");
         formatter % ex.what();
@@ -867,7 +856,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(10026, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10027, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -889,7 +878,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(10027, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10028, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -918,7 +907,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina
                     {
                         boost::format formatter("delete : address = &(%d).");
                         formatter % static_cast<void*>(recv_data.recive_buffer2);
-                        putLogDebug(10028, formatter.str(), __FILE__,
+                        putLogDebug(10029, formatter.str(), __FILE__,
                                     __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -930,7 +919,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina
                     {
                         boost::format formatter("delete : address = &(%d).");
                         formatter % static_cast<void*>(recv_data.recive_buffer1);
-                        putLogDebug(10029, formatter.str(), __FILE__,
+                        putLogDebug(10030, formatter.str(), __FILE__,
                                     __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -945,7 +934,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina
             {
                 boost::format formatter("delete : address = &(%d).");
                 formatter % static_cast<void*>(p_up.get());
-                putLogDebug(10030, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10031, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             session_thread_data_map.erase(up_thread_id);
@@ -963,7 +952,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina
                 {
                     boost::format formatter("delete : address = &(%d).");
                     formatter % static_cast<void*>(recv_data.recive_buffer2);
-                    putLogDebug(10031, formatter.str(), __FILE__,
+                    putLogDebug(10032, formatter.str(), __FILE__,
                                 __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
@@ -976,7 +965,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina
                 {
                     boost::format formatter("delete : address = &(%d).");
                     formatter % static_cast<void*>(recv_data.recive_buffer2);
-                    putLogDebug(10032, formatter.str(), __FILE__,
+                    putLogDebug(10033, formatter.str(), __FILE__,
                                 __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
@@ -988,7 +977,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina
             {
                 boost::format formatter("delete : address = &(%d).");
                 formatter % static_cast<void*>(p_down.get());
-                putLogDebug(10033, formatter.str(), __FILE__,
+                putLogDebug(10034, formatter.str(), __FILE__,
                             __LINE__ );
             }
             /*------DEBUG LOG END------*/
@@ -999,7 +988,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_session_fina
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_session_finalize exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_session_finalize() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_session_finalize() : exception : error = %s.");
         formatter % STOP % ex.what();
@@ -1022,7 +1011,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(10034, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10035, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return status;
@@ -1040,7 +1029,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(10035, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10036, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -1066,7 +1055,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
         {
-            putLogDebug(10036, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+            putLogDebug(10037, "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------*/
@@ -1092,14 +1081,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() : catch exception e = %d.");
             formatter % e;
-            putLogDebug(10037, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10038, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_accept exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_accept() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_accept() : exception : error = %s.");
         formatter % FINALIZE % ex.what();
@@ -1110,7 +1099,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_accept(const
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_accept() : Unknown exception." << std::endl;
-        putLogError(17024, "function : protocol_module_base::check_message_result "
+        putLogError(17024, "function : protocol_module_base::EVENT_TAG "
                     "protocol_module_sessionless::handle_accept() : "
                     "Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
@@ -1122,7 +1111,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(10038, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10039, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return status;
@@ -1146,7 +1135,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                                 "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                 "const size_t recvlen) : thread_id = %d, recvbuffer = %s, recvlen = %d.");
         formatter % thread_id % buffer % recvlen;
-        putLogDebug(10039, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10040, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -1176,7 +1165,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
     //parameter check
     if (recvlen > recvbuffer.size())
     {
-        std::cerr << "handle_client_recv() : Data size bigger than buffer size." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_client_recv() : Data size bigger than buffer size." << std::endl;
         putLogError(17025, "Data size bigger than buffer size.", __FILE__,
                     __LINE__ );
         /*-------- DEBUG LOG --------*/
@@ -1187,7 +1176,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                                     "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                     "const size_t recvlen) : return_value = %d.");
             formatter % FINALIZE;
-            putLogDebug(10040, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10041, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         return FINALIZE;
@@ -1219,7 +1208,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(17026, "Invalid endpoint.", __FILE__, __LINE__ );
+                putLogError(17027, "Invalid endpoint.", __FILE__, __LINE__ );
                 throw -1;
             }
 
@@ -1249,7 +1238,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
             if (LOG_LV_DEBUG == getloglevel())
             {
                 std::string datadump;
-                boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+                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;
@@ -1267,7 +1256,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                             "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__ );
+                putLogDebug(10042, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
 
@@ -1303,7 +1292,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
             if (LOG_LV_DEBUG == getloglevel())
             {
                 std::string datadump;
-                boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+                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;
@@ -1321,7 +1310,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                             "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__ );
+                putLogDebug(10043, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
 
@@ -1341,7 +1330,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                     {
                         boost::format formatter("new : address = &(%d), size = %lu.");
                         formatter % static_cast<void*>(buffer1) % buffer_size;
-                        putLogDebug(10043, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10044, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     memset(buffer1, 0, buffer_size);
@@ -1352,7 +1341,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                     {
                         boost::format formatter("new : address = &(%d), size = %lu.");
                         formatter % static_cast<void*>(buffer2) % buffer_size;
-                        putLogDebug(10044, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10045, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     memset(buffer2, 0, buffer_size);
@@ -1367,7 +1356,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(10045, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10046, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //copy data from old buffer to new buffer
@@ -1382,7 +1371,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                             "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__ );
+                        putLogDebug(10047, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
 
@@ -1396,7 +1385,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(10047, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10048, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
@@ -1410,7 +1399,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(10048, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10049, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //free old buffer1 and old buffer2
@@ -1421,7 +1410,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                         {
                             boost::format formatter("delete : address = &(%d).");
                             formatter % static_cast<void*>(recv_data.recive_buffer1);
-                            putLogDebug(10049, formatter.str(), __FILE__,
+                            putLogDebug(10050, formatter.str(), __FILE__,
                                         __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
@@ -1436,7 +1425,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                         {
                             boost::format formatter("delete : address = &(%d).");
                             formatter % static_cast<void*>(recv_data.recive_buffer2);
-                            putLogDebug(10050, formatter.str(), __FILE__,
+                            putLogDebug(10051, formatter.str(), __FILE__,
                                         __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
@@ -1476,7 +1465,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(10051, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10052, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         //copy data from buffer1 to buffer2
@@ -1491,7 +1480,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                                 "handle_client_recv() : after memcpy (data dump) : "
                                 "data begin = 0, data_size = %d, data = %s");
                             formatter % recvlen % datadump;
-                            putLogDebug(10052, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10053, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         /*-------- DEBUG LOG --------*/
@@ -1504,7 +1493,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(10053, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10054, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
@@ -1518,10 +1507,10 @@ 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(10054, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10055, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
-                        //set buffer2 for using buffer
+                        //set buffer2 as using buffer
                         recv_data.recive_buffer = recv_data.recive_buffer2;
                     }
                     //using buffer is buffer2
@@ -1539,7 +1528,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(10055, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10056, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         //copy data from buffer2 to buffer1
@@ -1554,7 +1543,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                                 "handle_client_recv() : after memcpy (data dump) : "
                                 "data begin = 0, data_size = %d, data = %s");
                             formatter % data_remain_size % datadump;
-                            putLogDebug(10056, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10057, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         /*-------- DEBUG LOG --------*/
@@ -1567,7 +1556,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(10057, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10058, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
@@ -1581,10 +1570,10 @@ 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(10058, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10059, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
-                        //set buffer1 for using buffer
+                        //set buffer1 as using buffer
                         recv_data.recive_buffer = recv_data.recive_buffer1;
                     }
                 }
@@ -1622,7 +1611,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(10059, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10060, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //copy data from parameter to using buffer
@@ -1639,7 +1628,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(10060, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10061, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //buffer's rest size recalc
@@ -1701,7 +1690,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(10061, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10062, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //check http method result is OK
@@ -1716,7 +1705,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(10062, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10063, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                     }
@@ -1733,7 +1722,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<int>(bret);
-                            putLogDebug(10063, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10064, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         //search http header result is OK
@@ -1749,7 +1738,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<int>(bret);
-                                putLogDebug(10064, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10065, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             //search Content_Length result is OK
@@ -1861,7 +1850,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
             if (LOG_LV_DEBUG == getloglevel())
             {
                 std::string datadump;
-                boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+                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;
@@ -1879,10 +1868,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                             "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__ );
+                putLogDebug(10066, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
-            //there are still rest data need to prosess
+            //there are still rest data need to process
             //new status created and add to status list
             while (request_data_remain_size > 0)
             {
@@ -1914,7 +1903,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(10066, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10067, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //check http method result is OK
@@ -1930,7 +1919,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(10067, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10068, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                 }
@@ -1947,7 +1936,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(10068, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10069, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //searched whole http header
@@ -1963,7 +1952,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<int>(bret);
-                            putLogDebug(10069, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10070, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
 
@@ -2032,7 +2021,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                     new_send_it->send_rest_size = request_data_remain_size;
                 }
 
-                //check http method or version result is NG
+                //check http method or version result is impossible
                 else
                 {
                     new_send_it->unsend_size = request_data_remain_size;
@@ -2064,7 +2053,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
             if (LOG_LV_DEBUG == getloglevel())
             {
                 std::string datadump;
-                boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+                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;
@@ -2082,13 +2071,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                             "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__ );
+                putLogDebug(10071, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //search for send_possible item in status list
             send_status_it it_find = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
                                              data_send_possible());
-            //send_possible item is exist
+            //the data that can be sent possible is exist
             if (it_find != recv_data.send_status_list.end())
             {
                 //sorry flag is on
@@ -2102,7 +2091,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                     status = REALSERVER_CONNECT;
                 }
             }
-            //send_possible item is not exist
+            //the data that can be sent possible is not exist
             else
             {
                 status = CLIENT_RECV;
@@ -2117,26 +2106,26 @@ 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;
-            putLogDebug(10071, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10072, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (const std::string& ex)
     {
-        std::cerr << "handle_client_recv exception : " << ex << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_client_recv() : exception : " << ex << std::endl;
         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;
+        std::cerr << "protocol_module_sessionless::handle_client_recv() : exception : Could not allocate memory." << std::endl;
         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 << "protocol_module_sessionless::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();
@@ -2161,7 +2150,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(
                                 "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                 "const size_t recvlen) : return_value = %d.");
         formatter % status;
-        putLogDebug(10072, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10073, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -2183,7 +2172,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(10073, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10074, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -2194,7 +2183,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;
+        std::cerr << "protocol_module_sessionless::handle_realserver_select() : Schedule_tcp function is empty." << std::endl;
         putLogError(17036, "Schedule_tcp function is empty.", __FILE__, __LINE__ );
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
@@ -2204,7 +2193,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(10074, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10075, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         return FINALIZE;
@@ -2234,7 +2223,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(10075, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10076, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
 
@@ -2253,7 +2242,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                putLogDebug(10081, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                putLogDebug(10077, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                             "handle_realserver_select() : END_FLAG_ON.", __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
@@ -2268,14 +2257,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_select() : catch exception e = %d.");
             formatter % e;
-            putLogDebug(10082, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10078, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_realserver_select exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_realserver_select() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_realserver_select() : exception : error = %s.");
         formatter % ex.what();
@@ -2299,7 +2288,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(10083, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10079, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -2325,7 +2314,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s
                                 "size_t& datalen) : "
                                 "return_value = %d.");
         formatter % STOP;
-        putLogDebug(10084, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10080, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return STOP;
@@ -2342,11 +2331,11 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c
     if (LOG_LV_DEBUG == getloglevel())
     {
         boost::format formatter("in_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                                "handle_realserver_connect(const boost::thread::id up_thread_id, "
+                                "handle_realserver_connect(const boost::thread::id thread_id, "
                                 "boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
                                 "thread_id = %d.");
         formatter % thread_id;
-        putLogDebug(10085, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10081, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -2429,7 +2418,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<int>(ret);
-                    putLogDebug(10086, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10082, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //search http header result is OK
@@ -2459,26 +2448,26 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c
                                                 "handle_realserver_connect() : call find_http_header : "
                                                 "return_value = %d.");
                         formatter % static_cast<int>(ret);
-                        putLogDebug(10087, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10083, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     if (!ret)
                     {
-                        putLogError(17044, "find_http_header function failure.", __FILE__, __LINE__ );
+                        putLogError(17044, "find_http_header() function failure.", __FILE__, __LINE__ );
                         /*-------- DEBUG LOG --------*/
                         if (LOG_LV_DEBUG == getloglevel())
                         {
                             boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                                     "handle_realserver_connect(const boost::thread::id thread_id, "
-                                                    "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
-                                                    "const size_t recvlen) : return_value = %d.");
+                                                    "boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
+                                                    "size_t& datalen) : return_value = %d.");
                             formatter % FINALIZE;
-                            putLogDebug(10088, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10084, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         return FINALIZE;
                     }
-                    //create X-Forwarded-For header, set it to edata.data
+                    //create X-Forwarded-For header, put it to edata.data
                     edata.data = str_forword_for;
                     edata.data += ": ";
                     edata.data += session_data->client_endpoint_tcp.address().to_string();
@@ -2498,7 +2487,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                putLogDebug(10089, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                putLogDebug(10085, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                             "handle_realserver_connect() : Copy data loop start.", __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
@@ -2528,7 +2517,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(10090, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10086, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             //copy data from recive_buffer to sendbuffer by sending_possible size
@@ -2548,7 +2537,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(10091, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10087, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
 
@@ -2573,7 +2562,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(10092, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10088, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             //copy data from recive_buffer to sendbuffer by send buffer rest size
@@ -2592,7 +2581,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(10093, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10089, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             it->send_end_size += copy_size;
@@ -2605,7 +2594,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c
                 //edit_data_list is not empty
                 else
                 {
-                    //search item while insert_posission is mininum
+                    //find the item in the list which has mininum insert_posission
                     std::list<edit_data>::iterator edit_min = std::min_element(it->edit_data_list.begin(),
                             it->edit_data_list.end());
                     //send_buffer_remian_size is larger than data that before X-Forwarded-For
@@ -2626,7 +2615,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(10094, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10090, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
@@ -2643,7 +2632,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(10095, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10091, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         it->send_end_size += copy_size;
@@ -2665,7 +2654,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(10096, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10092, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             //copy  X-Forwarded-For
@@ -2683,7 +2672,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)
                                 % edit_min->data_size % datadump;
-                                putLogDebug(10097, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10093, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             it->send_end_size += edit_min->replace_size;
@@ -2714,7 +2703,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(10098, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10094, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         //copy data as large as possible
@@ -2733,7 +2722,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(10099, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10095, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
 
@@ -2747,7 +2736,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                putLogDebug(10100, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                putLogDebug(10096, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                             "handle_realserver_connect() : Copy data loop end.", __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
@@ -2772,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
                     % copy_size % datadump;
-                    putLogDebug(10101, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10097, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //copy data by send_possible size
@@ -2787,7 +2776,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(10102, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10098, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 it->send_end_size = copy_size;
@@ -2809,7 +2798,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(10103, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10099, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //copy data by buffer rest size
@@ -2824,7 +2813,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(10104, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10100, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 it->send_end_size = send_buffer_remian_size;
@@ -2845,14 +2834,14 @@ 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;
-            putLogDebug(10105, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10101, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_realserver_connect exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_realserver_connect() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_realserver_connect() : exception : error = %s.");
         formatter % ex.what();
@@ -2872,10 +2861,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c
     {
         boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_realserver_connect(const boost::thread::id thread_id, "
-                                "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
-                                "const size_t recvlen) : return_value = %d.");
+                                "boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
+                                "size_t& datalen) : return_value = %d.");
         formatter % status;
-        putLogDebug(10106, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10102, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -2897,7 +2886,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(10107, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10103, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -2923,7 +2912,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_c
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
         {
-            putLogDebug(10108, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+            putLogDebug(10104, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                         "handle_realserver_connection_fail() : END_FLAG_ON.", __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
@@ -2937,25 +2926,25 @@ 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;
-            putLogDebug(10109, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10105, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (std::exception& ex)
     {
-        std::cerr << "handle_realserver_connection_fail exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_realserver_connection_fail() : exception : error = " << ex.what() << "." << std::endl;
         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();
+                                "handle_realserver_connection_fail() : exception : error = %s.");
+        formatter % ex.what();
         putLogError(17048, formatter.str(), __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (...)
     {
-        std::cerr << "Unknown exception." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_realserver_connection_fail() : Unknown exception." << std::endl;
         putLogError(17049, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_realserver_connection_fail() : exception : result = %d.", __FILE__, __LINE__ );
+                    "handle_realserver_connection_fail() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -2966,7 +2955,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(10110, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10106, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return status;
@@ -2984,7 +2973,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(10111, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10107, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -3059,13 +3048,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s
         //sending possible data is not exist
         else
         {
-            //can recive from clent continue
+            //can recive from client continue
             if (it->send_rest_size > 0)
             {
                 //change status from SEND_OK to SEND_CONTINUE
                 it->status = SEND_CONTINUE;
             }
-            //can not recive from clent continue
+            //can not recive from client continue
             else
             {
                 //change status from SEND_OK to SEND_END
@@ -3095,14 +3084,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() : catch exception e = %d.");
             formatter % e;
-            putLogDebug(10112, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10108, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_realserver_send exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_realserver_send() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_realserver_send() : exception : error = %s.");
         formatter % ex.what();
@@ -3114,7 +3103,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_s
     {
         std::cerr << "protocol_module_sessionless::handle_realserver_send() : Unknown exception." << std::endl;
         putLogError(17055, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_realserver_send() : exception : Unknown exception.", __FILE__, __LINE__ );
+                    "handle_realserver_send() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -3124,7 +3113,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(10113, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10109, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -3146,7 +3135,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(10114, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10110, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -3179,22 +3168,22 @@ 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_send() : catch exception e = %d.");
+                                    "handle_sorryserver_select() : catch exception e = %d.");
             formatter % e;
-            putLogDebug(10120, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10111, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (const std::bad_alloc& ex)
     {
-        std::cerr << "handle_sorryserver_select exception : Could not allocate memory." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_select() : exception : Could not allocate memory." << std::endl;
         putLogError(17057, "Could not allocate memory.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_sorryserver_select exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_select() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorryserver_select() : exception : error = %s.");
         formatter % ex.what();
@@ -3205,7 +3194,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
     {
         std::cerr << "protocol_module_sessionless::handle_sorryserver_select() : Unknown exception." << std::endl;
         putLogError(17059, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_sorryserver_select() : exception : Unknown exception.", __FILE__, __LINE__ );
+                    "handle_sorryserver_select() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -3217,7 +3206,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(10121, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10112, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return status;
@@ -3239,7 +3228,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                 "boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
                                 "thread_id = %d.");
         formatter % thread_id;
-        putLogDebug(10122, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10113, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -3325,13 +3314,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                             "handle_sorryserver_connect() : call find_uri : "
                                             "return_value = %d.");
                     formatter % static_cast<int>(ret);
-                    putLogDebug(10123, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10114, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //search http header result is OK
                 if (ret)
                 {
-                    //edit sorry_uri, set it to edata.data
+                    //edit sorry_uri, put it to edata.data
                     edata.data = sorry_uri.data();
                     //save new uri offset
                     edata.insert_posission = url_offset;
@@ -3359,14 +3348,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                                 "handle_sorryserver_connect() : call find_http_header : "
                                                 "return_value = %d.");
                         formatter % static_cast<int>(ret);
-                        putLogDebug(10124, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10115, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
 
                     //search http header result is OK
                     if (ret)
                     {
-                        //edit X-Forwarded-For header, set it to edata.data
+                        //edit X-Forwarded-For header, put it to edata.data
                         edata.data.assign(recv_data.recive_buffer + it->send_offset + header_offset, header_offset_len);
                         edata.data += ", ";
                         edata.data += session_data->client_endpoint_tcp.address().to_string();
@@ -3390,21 +3379,21 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                                     "handle_sorryserver_connect() : call find_http_header : "
                                                     "return_value = %d.");
                             formatter % static_cast<int>(ret);
-                            putLogDebug(10125, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10116, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         if (!ret)
                         {
-                            putLogError(17064, "find_http_header function failure.", __FILE__, __LINE__ );
+                            putLogError(17064, "find_http_header() function failure.", __FILE__, __LINE__ );
                             /*-------- DEBUG LOG --------*/
                             if (LOG_LV_DEBUG == getloglevel())
                             {
                                 boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                                         "handle_sorryserver_connect(const boost::thread::id thread_id, "
-                                                        "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
-                                                        "const size_t recvlen) : return_value = %d.");
+                                                        "boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
+                                                        "size_t& datalen) : return_value = %d.");
                                 formatter % FINALIZE;
-                                putLogDebug(10126, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10117, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             return FINALIZE;
@@ -3430,7 +3419,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                putLogDebug(10127, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                putLogDebug(10118, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                             "handle_sorryserver_connect() : Copy data loop start.", __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
@@ -3461,7 +3450,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(10128, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10119, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
@@ -3478,7 +3467,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(10129, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10120, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             it->send_end_size += copy_size;
@@ -3501,7 +3490,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(10130, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10121, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             //copy data from recive_buffer to sendbuffer by send buffer rest size
@@ -3520,7 +3509,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(10131, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10122, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             it->send_end_size += copy_size;
@@ -3555,7 +3544,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(10132, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10123, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
@@ -3572,7 +3561,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(10133, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10124, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         it->send_end_size += copy_size;
@@ -3593,7 +3582,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(10134, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10125, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             //copy X-Forwarded-For/uri
@@ -3612,7 +3601,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(10135, formatter.str(), __FILE__, __LINE__ );
+                                putLogDebug(10126, formatter.str(), __FILE__, __LINE__ );
                             }
                             /*------DEBUG LOG END------*/
                             it->send_end_size += edit_min->replace_size;
@@ -3643,7 +3632,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(10136, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10127, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         //copy data as large as possible
@@ -3662,7 +3651,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(10137, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10128, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         it->send_end_size += copy_size;
@@ -3675,7 +3664,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                putLogDebug(10138, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                putLogDebug(10129, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                             "handle_sorryserver_connect() : Copy data loop end.", __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
@@ -3700,7 +3689,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(10139, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10130, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //copy data by send_possible size
@@ -3717,7 +3706,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(10140, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10131, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 it->send_end_size = it->send_possible_size;
@@ -3739,7 +3728,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(10141, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10132, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //copy data by buffer rest size
@@ -3756,7 +3745,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(10142, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10133, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 it->send_end_size = send_buffer_remian_size;
@@ -3779,14 +3768,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_connect() : catch exception e = %d.");
             formatter % e;
-            putLogDebug(10143, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10134, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_sorryserver_connect exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_connect() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorryserver_connect() : exception : error = %s.");
         formatter % ex.what();
@@ -3806,10 +3795,10 @@ 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_connect(const boost::thread::id thread_id, "
-                                "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
-                                "const size_t recvlen) : return_value = %d.");
+                                "boost::array<char,MAX_BUFFER_SIZE>& sendbuffer, "
+                                "size_t& datalen) : return_value = %d.");
         formatter % status;
-        putLogDebug(10144, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10135, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -3831,7 +3820,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(10145, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10136, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -3841,7 +3830,6 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
 
     try
     {
-
         boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
 
         session_thread_it = session_thread_data_map.find(thread_id);
@@ -3865,7 +3853,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_sorryserver_connection_fail exception : error=" << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::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 : error = %s.");
         formatter % ex.what();
@@ -3888,7 +3876,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(10146, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10137, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return status;
@@ -3907,7 +3895,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(10147, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10138, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -4018,14 +4006,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() : catch exception e = %d.");
             formatter % e;
-            putLogDebug(10148, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10139, formatter.str(), __FILE__, __LINE__ );
         }
         status = FINALIZE;
         /*------DEBUG LOG END------*/
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_sorryserver_send exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_send() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorryserver_send() : exception : error = %s.");
         formatter % ex.what();
@@ -4037,7 +4025,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
     {
         std::cerr << "protocol_module_sessionless::handle_sorryserver_send() : Unknown exception." << std::endl;
         putLogError(17076, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_sorryserver_send() : exception : Unknown exception.", __FILE__, __LINE__ );
+                    "handle_sorryserver_send() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -4047,7 +4035,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(10149, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10140, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -4074,7 +4062,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                                 "const size_t recvlen) : "
                                 "return_value = %d.");
         formatter % STOP;
-        putLogDebug(10150, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10141, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return STOP;
@@ -4102,7 +4090,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()
         % buffer % recvlen;
-        putLogDebug(10151, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10142, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -4132,7 +4120,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
     //parameter check
     if (recvlen > recvbuffer.size())
     {
-        std::cerr << "handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
         putLogError(17077, "Data size bigger than buffer size.", __FILE__,
                     __LINE__ );
         /*-------- DEBUG LOG --------*/
@@ -4144,7 +4132,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                                     "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                     "const size_t recvlen) : return_value = %d.");
             formatter % FINALIZE;
-            putLogDebug(10152, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10143, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         return FINALIZE;
@@ -4159,7 +4147,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(17079, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17078, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
 
@@ -4183,7 +4171,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(17080, "Sending data is not correct.", __FILE__, __LINE__ );
+            putLogError(17079, "Sending data is not correct.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -4192,7 +4180,7 @@ 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(17081, "Sending data is not correct.", __FILE__, __LINE__ );
+            putLogError(17080, "Sending data is not correct.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -4200,7 +4188,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -4218,7 +4206,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                         "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__ );
+            putLogDebug(10144, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         it = recv_data.send_status_list.begin();
@@ -4253,7 +4241,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -4271,7 +4259,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                         "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__ );
+            putLogDebug(10145, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         //recive buffer process
@@ -4290,7 +4278,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                 {
                     boost::format formatter("new : address = &(%d), size = %lu.");
                     formatter % static_cast<void*>(buffer1) % buffer_size;
-                    putLogDebug(10157, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10146, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*-------- DEBUG LOG --------*/
                 memset(buffer1, 0, buffer_size);
@@ -4301,7 +4289,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                 {
                     boost::format formatter("new : address = &(%d), size = %lu.");
                     formatter % static_cast<void*>(buffer2) % buffer_size;
-                    putLogDebug(10158, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10147, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*-------- DEBUG LOG END--------*/
                 memset(buffer2, 0, buffer_size);
@@ -4317,7 +4305,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(10159, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10148, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //copy data from old buffer to new buffer
@@ -4333,7 +4321,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(10160, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10149, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
 
@@ -4347,7 +4335,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(10161, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10150, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
@@ -4361,7 +4349,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(10162, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10151, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //free old buffer1 and old buffer2
@@ -4372,7 +4360,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                     {
                         boost::format formatter("delete : address = &(%d).");
                         formatter % static_cast<void*>(recv_data.recive_buffer1);
-                        putLogDebug(10163, formatter.str(), __FILE__,
+                        putLogDebug(10152, formatter.str(), __FILE__,
                                     __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -4387,7 +4375,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                     {
                         boost::format formatter("delete : address = &(%d).");
                         formatter % static_cast<void*>(recv_data.recive_buffer2);
-                        putLogDebug(10164, formatter.str(), __FILE__,
+                        putLogDebug(10153, formatter.str(), __FILE__,
                                     __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -4409,7 +4397,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(17082, "Invalid pointer.", __FILE__, __LINE__ );
+                    putLogError(17081, "Invalid pointer.", __FILE__, __LINE__ );
                     throw -1;
                 }
                 //using buffer is buffer1
@@ -4427,7 +4415,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(10165, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10154, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //copy data from buffer1 to buffer2
@@ -4442,7 +4430,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(10166, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10155, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     /*-------- DEBUG LOG --------*/
@@ -4455,7 +4443,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(10167, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10156, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
@@ -4470,10 +4458,10 @@ 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(10168, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10157, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
-                    //set buffer2 for using buffer
+                    //set buffer2 as using buffer
                     recv_data.recive_buffer = recv_data.recive_buffer2;
                 }
                 //using buffer is buffer2
@@ -4492,7 +4480,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(10169, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10158, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //copy data from buffer2 to buffer1
@@ -4508,7 +4496,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(10170, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10159, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     /*-------- DEBUG LOG --------*/
@@ -4522,7 +4510,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(10171, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10160, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
@@ -4537,10 +4525,10 @@ 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(10172, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10161, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
-                    //set buffer1 for using buffer
+                    //set buffer1 as using buffer
                     recv_data.recive_buffer = recv_data.recive_buffer1;
                 }
             }
@@ -4566,7 +4554,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
             //pointer valid check
             if (recv_data.recive_buffer == NULL)
             {
-                putLogError(17083, "Invalid pointer.", __FILE__, __LINE__ );
+                putLogError(17082, "Invalid pointer.", __FILE__, __LINE__ );
                 throw -1;
             }
             /*-------- DEBUG LOG --------*/
@@ -4578,7 +4566,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(10173, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10162, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
 
@@ -4596,7 +4584,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(10174, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10163, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //buffer's rest size recalc
@@ -4654,7 +4642,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(10175, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10164, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //check http method result is OK
@@ -4669,7 +4657,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(10176, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10165, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                 }
@@ -4686,7 +4674,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<int>(bret);
-                        putLogDebug(10177, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10166, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //search http header result is OK
@@ -4702,7 +4690,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<int>(bret);
-                            putLogDebug(10178, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10167, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         //search Content_Length result is OK
@@ -4807,7 +4795,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -4825,10 +4813,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                         "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__ );
+            putLogDebug(10168, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
-        //there are still rest data need to prosess
+        //there are still rest data need to process
         //new status created and add to status list
         while (request_data_remain_size > 0)
         {
@@ -4859,7 +4847,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(10180, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10169, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //check http method result is OK
@@ -4875,7 +4863,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(10181, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10170, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
             }
@@ -4892,7 +4880,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<int>(bret);
-                    putLogDebug(10182, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10171, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //searched whole http header
@@ -4908,7 +4896,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<int>(bret);
-                        putLogDebug(10183, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10172, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
 
@@ -4972,7 +4960,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
             {
                 new_send_it->send_rest_size = request_data_remain_size;
             }
-            //check http method or version result is NG
+            //check http method or version result is impossible
             else
             {
                 new_send_it->unsend_size = request_data_remain_size;
@@ -5004,7 +4992,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -5022,19 +5010,19 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                         "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__ );
+            putLogDebug(10173, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
 
         //search for send_possible item in status list
         send_status_it it_find = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
                                          data_send_possible());
-        //send_possible item is exist
+        //the data that can be sent possible is exist
         if (it_find != recv_data.send_status_list.end())
         {
             status = CLIENT_CONNECTION_CHECK;
         }
-        //send_possible item is not exist
+        //the data that can be sent possible is not exist
         else
         {
             status = REALSERVER_RECV;
@@ -5048,37 +5036,37 @@ 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;
-            putLogDebug(10185, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10174, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (const std::string& ex)
     {
-        std::cerr << "handle_realserver_recv exception : " << ex << std::endl;
-        putLogError(17084, ex.c_str(), __FILE__, __LINE__ );
+        std::cerr << "protocol_module_sessionless::handle_realserver_recv() : exception : " << ex << std::endl;
+        putLogError(17083, 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(17085, "Could not allocate memory.", __FILE__, __LINE__ );
+        std::cerr << "protocol_module_sessionless::handle_realserver_recv() : exception : Could not allocate memory." << std::endl;
+        putLogError(17084, "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 << "protocol_module_sessionless::handle_realserver_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.");
         formatter % ex.what();
-        putLogError(17086, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17085, formatter.str(), __FILE__, __LINE__ );
 
         status = FINALIZE;
     }
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_realserver_recv() : Unknown exception." << std::endl;
-        putLogError(17087, "function : protocol_module_base::check_message_result "
+        putLogError(17086, "function : protocol_module_base::check_message_result "
                     "protocol_module_sessionless::handle_realserver_recv() : "
                     "Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
@@ -5093,7 +5081,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_r
                                 "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                 "const size_t recvlen) : return_value = %d.");
         formatter % status;
-        putLogDebug(10186, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10175, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -5124,7 +5112,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()
         % buffer % recvlen;
-        putLogDebug(10187, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10176, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -5154,19 +5142,19 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
     //parameter check
     if (recvlen > recvbuffer.size())
     {
-        std::cerr << "handle_sorryserver_recv() : Data size bigger than buffer size." << std::endl;
-        putLogError(17088, "Data size bigger than buffer size.", __FILE__,
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_recv() : Data size bigger than buffer size." << std::endl;
+        putLogError(17087, "Data size bigger than buffer size.", __FILE__,
                     __LINE__ );
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
         {
             boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_sorryserver_recv(const boost::thread::id thread_id, "
-                                    "const boost::asio::ip::tcp::endpoint& rs_endpoint, "
+                                    "const boost::asio::ip::tcp::endpoint& sorry_endpoint, "
                                     "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                     "const size_t recvlen) : return_value = %d.");
             formatter % FINALIZE;
-            putLogDebug(10188, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10177, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         return FINALIZE;
@@ -5180,7 +5168,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(17089, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17088, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
 
@@ -5203,7 +5191,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(17091, "Sending data is invalid.", __FILE__, __LINE__ );
+            putLogError(17089, "Sending data is invalid.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -5212,7 +5200,7 @@ 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(17092, "Sending data is invalid.", __FILE__, __LINE__ );
+            putLogError(17090, "Sending data is invalid.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -5220,7 +5208,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -5238,7 +5226,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "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__ );
+            putLogDebug(10178, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
 
@@ -5274,7 +5262,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -5292,7 +5280,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "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__ );
+            putLogDebug(10179, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         //recive buffer process
@@ -5311,7 +5299,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                 {
                     boost::format formatter("new : address = &(%d), size = %lu.");
                     formatter % static_cast<void*>(buffer1) % buffer_size;
-                    putLogDebug(10193, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10180, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*-------- DEBUG LOG --------*/
                 memset(buffer1, 0, data_remain_size + recvlen);
@@ -5322,7 +5310,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                 {
                     boost::format formatter("new : address = &(%d), size = %lu.");
                     formatter % static_cast<void*>(buffer2) % buffer_size;
-                    putLogDebug(10194, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10181, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*-------- DEBUG LOG END--------*/
                 memset(buffer2, 0, data_remain_size + recvlen);
@@ -5337,7 +5325,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "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__ );
+                    putLogDebug(10182, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //copy data from old buffer to new buffer
@@ -5352,7 +5340,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "handle_sorryserver_recv() : after memcpy (data dump) : "
                         "data begin = 0, data_size = %d, data = %s");
                     formatter % recvlen % datadump;
-                    putLogDebug(10196, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10183, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
 
@@ -5366,7 +5354,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "handle_sorryserver_recv() : before memcpy (data dump) : "
                         "data begin = 0, data_size = %d, data = %s");
                     formatter % recvlen % datadump;
-                    putLogDebug(10197, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10184, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
@@ -5380,7 +5368,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "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__ );
+                    putLogDebug(10185, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //free old buffer1 and old buffer2
@@ -5391,7 +5379,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                     {
                         boost::format formatter("delete : address = &(%d).");
                         formatter % static_cast<void*>(recv_data.recive_buffer1);
-                        putLogDebug(10199, formatter.str(), __FILE__,
+                        putLogDebug(10186, formatter.str(), __FILE__,
                                     __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -5406,7 +5394,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                     {
                         boost::format formatter("delete : address = &(%d).");
                         formatter % static_cast<void*>(recv_data.recive_buffer2);
-                        putLogDebug(10200, formatter.str(), __FILE__,
+                        putLogDebug(10187, formatter.str(), __FILE__,
                                     __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -5428,7 +5416,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(17093, "Invalid pointer.", __FILE__, __LINE__ );
+                    putLogError(17091, "Invalid pointer.", __FILE__, __LINE__ );
                     throw -1;
                 }
                 //using buffer is buffer1
@@ -5446,7 +5434,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : before memcpy (data dump) : "
                             "data begin = %d, data_size = %d, data = %s");
                         formatter % data_remain_start % data_remain_size % datadump;
-                        putLogDebug(10201, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10188, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //copy data from buffer1 to buffer2
@@ -5461,7 +5449,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : after memcpy (data dump) : "
                             "data begin = 0, data_size = %d, data = %s");
                         formatter % recvlen % datadump;
-                        putLogDebug(10202, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10189, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     /*-------- DEBUG LOG --------*/
@@ -5474,7 +5462,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : before memcpy (data dump) : "
                             "data begin = 0, data_size = %d, data = %s");
                         formatter % recvlen % datadump;
-                        putLogDebug(10203, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10190, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
@@ -5488,10 +5476,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : after memcpy (data dump) : "
                             "data begin = %d, data_size = %d, data = %s");
                         formatter % data_remain_size % recvlen % datadump;
-                        putLogDebug(10204, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10191, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
-                    //set buffer2 for using buffer
+                    //set buffer2 as using buffer
                     recv_data.recive_buffer = recv_data.recive_buffer2;
                 }
                 //using buffer is buffer2
@@ -5509,7 +5497,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : before memcpy (data dump) : "
                             "data begin = %d, data_size = %d, data = %s");
                         formatter % data_remain_start % data_remain_size % datadump;
-                        putLogDebug(10205, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10192, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //copy data from buffer2 to buffer1
@@ -5524,7 +5512,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : after memcpy (data dump) : "
                             "data begin = 0, data_size = %d, data = %s");
                         formatter % recvlen % datadump;
-                        putLogDebug(10206, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10193, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
 
@@ -5538,7 +5526,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : before memcpy (data dump) : "
                             "data begin = 0, data_size = %d, data = %s");
                         formatter % recvlen % datadump;
-                        putLogDebug(10207, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10194, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
@@ -5552,10 +5540,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                             "handle_sorryserver_recv() : after memcpy (data dump) : "
                             "data begin = %d, data_size = %d, data = %s");
                         formatter % data_remain_size % recvlen % datadump;
-                        putLogDebug(10208, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10195, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
-                    //set buffer1 for using buffer
+                    //set buffer1 as using buffer
                     recv_data.recive_buffer = recv_data.recive_buffer1;
                 }
             }
@@ -5581,7 +5569,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
             //pointer valid check
             if (recv_data.recive_buffer == NULL)
             {
-                putLogError(17094, "Invalid pointer.", __FILE__, __LINE__ );
+                putLogError(17092, "Invalid pointer.", __FILE__, __LINE__ );
                 throw -1;
             }
             /*-------- DEBUG LOG --------*/
@@ -5594,7 +5582,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                     "handle_sorryserver_recv() : before memcpy (data dump) : "
                     "data begin = 0, data_size = %d, data = %s");
                 formatter % recvlen % datadump;
-                putLogDebug(10209, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10196, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
 
@@ -5611,7 +5599,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                     "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(10210, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10197, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //buffer's rest size recalc
@@ -5661,7 +5649,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                             "handle_sorryserver_recv() : call check_status_code : "
                                             "return_value = %d.");
                     formatter % check_result;
-                    putLogDebug(10211, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10198, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //check http method result is OK
@@ -5676,7 +5664,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                                 "handle_sorryserver_recv() : call check_http_version : "
                                                 "return_value = %d.");
                         formatter % check_result;
-                        putLogDebug(10212, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10199, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                 }
@@ -5693,7 +5681,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                                 "handle_sorryserver_recv() : call find_http_header : "
                                                 "return_value = %d.");
                         formatter % static_cast<int>(bret);
-                        putLogDebug(10213, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10200, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
                     //search http header result is OK
@@ -5709,7 +5697,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                                     "handle_sorryserver_recv() : call find_http_header : "
                                                     "return_value = %d.");
                             formatter % static_cast<int>(bret);
-                            putLogDebug(10214, formatter.str(), __FILE__, __LINE__ );
+                            putLogDebug(10201, formatter.str(), __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         //search Content_Length result is OK
@@ -5812,7 +5800,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -5830,11 +5818,11 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "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__ );
+            putLogDebug(10202, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
 
-        //there are still rest data need to prosess
+        //there are still rest data need to process
         //new status created and add to status list
         while (request_data_remain_size > 0)
         {
@@ -5865,7 +5853,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                         "handle_sorryserver_recv() : call check_status_code : "
                                         "return_value = %d.");
                 formatter % check_result;
-                putLogDebug(10216, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10203, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //check http method result is OK
@@ -5881,7 +5869,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                             "handle_sorryserver_recv() : call check_http_version : "
                                             "return_value = %d.");
                     formatter % check_result;
-                    putLogDebug(10217, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10204, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
             }
@@ -5898,7 +5886,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                             "handle_sorryserver_recv() : call find_http_header : "
                                             "return_value = %d.");
                     formatter % static_cast<int>(bret);
-                    putLogDebug(10218, formatter.str(), __FILE__, __LINE__ );
+                    putLogDebug(10205, formatter.str(), __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
                 //searched whole http header
@@ -5914,7 +5902,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                                                 "handle_sorryserver_recv() : call find_http_header : "
                                                 "return_value = %d.");
                         formatter % static_cast<int>(bret);
-                        putLogDebug(10219, formatter.str(), __FILE__, __LINE__ );
+                        putLogDebug(10206, formatter.str(), __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
 
@@ -5977,7 +5965,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
             {
                 new_send_it->send_rest_size = request_data_remain_size;
             }
-            //check http method or version result is NG
+            //check http method or version result is impossible
             else
             {
                 new_send_it->unsend_size = request_data_remain_size;
@@ -6008,7 +5996,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
         if (LOG_LV_DEBUG == getloglevel())
         {
             std::string datadump;
-            boost::format formatter("\nitem[%d]: status = %d, send_end_size = %d, "
+            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;
@@ -6026,19 +6014,19 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                         "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__ );
+            putLogDebug(10207, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
 
         //search for send_possible item in status list
         send_status_it it_find = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
                                          data_send_possible());
-        //send_possible item is exist
+        //the data that can be sent possible is exist
         if (it_find != recv_data.send_status_list.end())
         {
             status = CLIENT_CONNECTION_CHECK;
         }
-        //send_possible item is not exist
+        //the data that can be sent possible is not exist
         else
         {
             status = SORRYSERVER_RECV;
@@ -6052,37 +6040,37 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
             boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_sorryserver_recv() : catch exception e = %d.");
             formatter % e;
-            putLogDebug(10221, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10208, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (const std::string& ex)
     {
-        std::cerr << "handle_sorryserver_recv exception : " << ex << std::endl;
-        putLogError(17095, ex.c_str(), __FILE__, __LINE__ );
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_recv() : exception : " << ex << std::endl;
+        putLogError(17093, 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(17096, "Could not allocate memory.", __FILE__, __LINE__ );
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_recv() : exception : Could not allocate memory." << std::endl;
+        putLogError(17094, "Could not allocate memory.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_sorryserver_recv exception : error =" << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_recv() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorryserver_recv() : exception : error = %s.");
         formatter % ex.what();
-        putLogError(17097, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17095, formatter.str(), __FILE__, __LINE__ );
 
         status = FINALIZE;
     }
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_sorryserver_recv() : Unknown exception." << std::endl;
-        putLogError(17098, "function : protocol_module_base::check_message_result "
+        putLogError(17096, "function : protocol_module_base::check_message_result "
                     "protocol_module_sessionless::handle_sorryserver_recv() : "
                     "Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
@@ -6093,11 +6081,11 @@ 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_recv(const boost::thread::id thread_id, "
-                                "const boost::asio::ip::tcp::endpoint& rs_endpoint, "
+                                "const boost::asio::ip::tcp::endpoint& sorry_endpoint, "
                                 "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                 "const size_t recvlen) : return_value = %d.");
         formatter % status;
-        putLogDebug(10222, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10209, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -6117,7 +6105,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(10223, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10210, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return STOP;
@@ -6140,7 +6128,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne
                                 "boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) : "
                                 "thread_id = %d.");
         formatter % thread_id;
-        putLogDebug(10224, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10211, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -6158,7 +6146,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(17099, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17097, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
 
@@ -6168,18 +6156,18 @@ 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(17100, "Invalid endpoint.", __FILE__, __LINE__ );
+            putLogError(17098, "Invalid endpoint.", __FILE__, __LINE__ );
             throw -1;
         }
 
         recive_data& recv_data = recive_data_it->second;
 
-        //get send_possible data
+        //get the data that can be sent possible
         send_status_it it = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
                                     data_send_possible());
         if (it == recv_data.send_status_list.end())
         {
-            putLogError(17101, "Sending possible data is not existed.", __FILE__, __LINE__ );
+            putLogError(17099, "Sending possible data is not existed.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -6197,7 +6185,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(10225, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10212, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //copy data from recive_buffer to sendbuffer by sending_possible size
@@ -6213,7 +6201,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(10226, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10213, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //send_end_size recalc
@@ -6237,7 +6225,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(10227, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10214, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //copy data from recive_buffer to sendbuffer by buffer size
@@ -6253,7 +6241,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(10228, formatter.str(), __FILE__, __LINE__ );
+                putLogDebug(10215, formatter.str(), __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
             //send_end_size recalc
@@ -6274,25 +6262,25 @@ 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;
-            putLogDebug(10229, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10216, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_client_connection_check exception: error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_client_connection_check() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_client_connection_check() : exception : error = %s.");
         formatter % ex.what();
-        putLogError(17102, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17100, formatter.str(), __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_client_connection_check() : Unknown exception." << std::endl;
-        putLogError(17103, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_client_connection_check() : exception : Unknown exception.", __FILE__, __LINE__ );
+        putLogError(17101, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    "handle_client_connection_check() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -6304,7 +6292,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_conne
                                 "boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen)"
                                 " : return_value = %d.");
         formatter % status;
-        putLogDebug(10230, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10217, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return status;
@@ -6330,7 +6318,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_selec
                                 "size_t& datalen) : "
                                 "return_value = %d.");
         formatter % STOP;
-        putLogDebug(10231, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10218, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return STOP;
@@ -6349,7 +6337,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(10232, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10219, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -6365,7 +6353,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(17104, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17102, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
             session_data = session_thread_it->second;
@@ -6374,7 +6362,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(17105, "Invalid endpoint.", __FILE__, __LINE__ );
+            putLogError(17103, "Invalid endpoint.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -6387,7 +6375,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(17106, "Sending possible data is invalid.", __FILE__, __LINE__ );
+            putLogError(17104, "Sending possible data is invalid.", __FILE__, __LINE__ );
             throw -1;
         }
         //status list check
@@ -6395,7 +6383,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(17107, "Sending possible data is not existed.", __FILE__, __LINE__ );
+            putLogError(17105, "Sending possible data is not existed.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -6465,25 +6453,25 @@ 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;
-            putLogDebug(10233, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10220, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_client_send exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_client_send() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_client_send() : exception : error = %s.");
         formatter % ex.what();
-        putLogError(17108, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17106, formatter.str(), __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_client_send() : Unknown exception." << std::endl;
-        putLogError(17109, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_client_send() : exception : Unknown exception.", __FILE__, __LINE__ );
+        putLogError(17107, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    "handle_client_send() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -6493,7 +6481,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(10234, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10221, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -6509,10 +6497,10 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_disco
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        boost::format formatter("in/out_function : protocol_module_sessionless::"
+        boost::format formatter("in/out_function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_client_disconnect(const boost::thread::id thread_id) : return_value = %d.");
         formatter % FINALIZE;
-        putLogDebug(10235, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10222, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return FINALIZE;
@@ -6531,7 +6519,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(10236, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10223, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -6552,7 +6540,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(17110, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17108, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
 
@@ -6564,7 +6552,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(17111, "Invalid endpoint.", __FILE__, __LINE__ );
+            putLogError(17109, "Invalid endpoint.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -6601,7 +6589,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
                 /*-------- DEBUG LOG --------*/
                 if (LOG_LV_DEBUG == getloglevel())
                 {
-                    putLogDebug(10237, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    putLogDebug(10224, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorry_enable() : SORRY_FLAG_ON.", __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
@@ -6627,7 +6615,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
                 //set sorry flag off
                 else
                 {
-                    //sending continue data is exist
+                    //the data that can be sent continue is exist
                     if (send_continue)
                     {
                         //set end flag on
@@ -6635,13 +6623,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
                         /*-------- DEBUG LOG --------*/
                         if (LOG_LV_DEBUG == getloglevel())
                         {
-                            putLogDebug(10238, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                            putLogDebug(10225, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                         "handle_sorry_enable() : END_FLAG_ON.", __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         status = REALSERVER_DISCONNECT;
                     }
-                    //sending continue data is not exist
+                    //the data that can be sent continue is not exist
                     else
                     {
                         //set sorryserver_switch_flag on
@@ -6649,7 +6637,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
                         /*-------- DEBUG LOG --------*/
                         if (LOG_LV_DEBUG == getloglevel())
                         {
-                            putLogDebug(10239, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                            putLogDebug(10226, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                         "handle_sorry_enable() : SORRYSERVER_SWITCH_FLAG_ON.", __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
@@ -6658,7 +6646,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
                         /*-------- DEBUG LOG --------*/
                         if (LOG_LV_DEBUG == getloglevel())
                         {
-                            putLogDebug(10240, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                            putLogDebug(10227, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                         "handle_sorry_enable() : SORRY_FLAG_ON.", __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
@@ -6687,7 +6675,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
             //sorry_flag is off
             else
             {
-                //sending possible data is exist or send_rest_size > 
+                //sending possible data is exist or send_rest_size > 0
                 if (send_disable)
                 {
                     //set end flag on
@@ -6695,7 +6683,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
                     /*-------- DEBUG LOG --------*/
                     if (LOG_LV_DEBUG == getloglevel())
                     {
-                        putLogDebug(10241, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                        putLogDebug(10228, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_sorry_enable() : END_FLAG_ON.", __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -6709,7 +6697,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_enable
                     /*-------- DEBUG LOG --------*/
                     if (LOG_LV_DEBUG == getloglevel())
                     {
-                        putLogDebug(10242, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                        putLogDebug(10229, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_sorry_enable() : SORRY_FLAG_ON.", __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -6735,25 +6723,25 @@ 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;
-            putLogDebug(10243, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10230, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_sorry_enable exception: error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorry_enable() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorry_enable() : exception : error = %s.");
         formatter % ex.what();
-        putLogError(17112, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17110, formatter.str(), __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (...)
     {
-        std::cerr << "protocol_module_sessionless::handle_sorry_enable() Unknown exception." << std::endl;
-        putLogError(17113, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_sorry_enable() : exception : Unknown exception.", __FILE__, __LINE__ );
+        std::cerr << "protocol_module_sessionless::handle_sorry_enable() Unknown exception." << std::endl;
+        putLogError(17111, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    "handle_sorry_enable() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -6763,7 +6751,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(10244, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10231, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -6783,7 +6771,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(10245, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10232, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -6801,7 +6789,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(17114, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17112, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
             //check pointer
@@ -6813,7 +6801,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(17115, "Invalid endpoint.", __FILE__, __LINE__ );
+            putLogError(17113, "Invalid endpoint.", __FILE__, __LINE__ );
             throw -1;
         }
 
@@ -6827,14 +6815,14 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
             send_possible = true;
         }
 
-        //sending possible data is exist or send_rest_size > 
+        //sending possible data is exist or send_rest_size > 0
         it = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(), data_send_disable());
         if (it != recv_data.send_status_list.end())
         {
             send_disable = true;
         }
 
-        //sending continue data is exist
+        //the data that can be sent continue is exist
         it = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(), data_send_continue());
         if (it != recv_data.send_status_list.end())
         {
@@ -6852,7 +6840,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                 /*-------- DEBUG LOG --------*/
                 if (LOG_LV_DEBUG == getloglevel())
                 {
-                    putLogDebug(10246, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    putLogDebug(10233, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorry_disable() : SORRY_FLAG_OFF.", __FILE__, __LINE__ );
                 }
                 /*------DEBUG LOG END------*/
@@ -6865,7 +6853,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                 //sorry flag is on
                 if (session_data->sorry_flag == SORRY_FLAG_ON)
                 {
-                    //sending continue data is exist
+                    //the data that can be sent continue is exist
                     if (send_continue)
                     {
                         //set end flag on
@@ -6873,13 +6861,13 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                         /*-------- DEBUG LOG --------*/
                         if (LOG_LV_DEBUG == getloglevel())
                         {
-                            putLogDebug(10247, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                            putLogDebug(10234, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                         "handle_sorry_disable() : END_FLAG_ON.", __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
                         status = SORRYSERVER_DISCONNECT;
                     }
-                    //sending continue data is not exist
+                    //the data that can be sent continue is not exist
                     else
                     {
                         //set realserver_switch_flag on
@@ -6887,7 +6875,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                         /*-------- DEBUG LOG --------*/
                         if (LOG_LV_DEBUG == getloglevel())
                         {
-                            putLogDebug(10248, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                            putLogDebug(10235, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                         "handle_sorry_disable() : REALSERVER_SWITCH_FLAG_ON.", __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
@@ -6896,7 +6884,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                         /*-------- DEBUG LOG --------*/
                         if (LOG_LV_DEBUG == getloglevel())
                         {
-                            putLogDebug(10249, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                            putLogDebug(10236, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                         "handle_sorry_disable() : SORRY_FLAG_OFF.", __FILE__, __LINE__ );
                         }
                         /*------DEBUG LOG END------*/
@@ -6906,12 +6894,12 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                 //sorry flag is off
                 else
                 {
-                    //sending possble data is exsit
+                    //the data that can be sent possible is exsit
                     if (send_possible)
                     {
                         status = REALSERVER_SELECT;
                     }
-                    //sending possble data is not exsit
+                    //the data that can be sent possible is not exsit
                     else
                     {
                         status = CLIENT_RECV;
@@ -6925,7 +6913,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
             //sorry_flag is on
             if (session_data->sorry_flag == SORRY_FLAG_ON)
             {
-                //sending possible data is exist or send_rest_size > 
+                //sending possible data is exist or send_rest_size > 0
                 if (send_disable)
                 {
                     //set end flag on
@@ -6933,7 +6921,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                     /*-------- DEBUG LOG --------*/
                     if (LOG_LV_DEBUG == getloglevel())
                     {
-                        putLogDebug(10250, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                        putLogDebug(10237, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_sorry_disable() : END_FLAG_ON.", __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -6947,7 +6935,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorry_disabl
                     /*-------- DEBUG LOG --------*/
                     if (LOG_LV_DEBUG == getloglevel())
                     {
-                        putLogDebug(10251, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                        putLogDebug(10238, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_sorry_disable() : SORRY_FLAG_OFF.", __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -6987,25 +6975,25 @@ 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;
-            putLogDebug(10252, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10239, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (std::exception& ex)
     {
-        std::cerr << "handle_sorry_disable exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorry_disable() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorry_disable() : exception : error = %s.");
         formatter % ex.what();
-        putLogError(17116, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17114, formatter.str(), __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_sorry_disable() : Unknown exception." << std::endl;
-        putLogError(17117, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_sorry_disable() : exception : Unknown exception.", __FILE__, __LINE__ );
+        putLogError(17115, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    "handle_sorry_disable() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -7015,7 +7003,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(10253, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10240, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -7036,7 +7024,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(10254, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10241, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -7052,7 +7040,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(17118, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17116, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
 
@@ -7062,13 +7050,13 @@ 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(17119, "Invalid endpoint.", __FILE__, __LINE__ );
+            putLogError(17117, "Invalid endpoint.", __FILE__, __LINE__ );
             throw -1;
         }
 
         recive_data& recv_data = recive_data_it->second;
 
-        //send_possible item is exist
+        //the data that can be sent possible is exist
         send_status_it it = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
                                     data_send_possible());
         if (it != recv_data.send_status_list.end())
@@ -7090,12 +7078,12 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d
                 //sorryserver flag is on
                 if (session_data->sorryserver_switch_flag == SORRYSERVER_SWITCH_FLAG_ON)
                 {
-                    //send_possible data is exist
+                    //the data that can be sent possible is exist
                     if (possible_flag)
                     {
                         status = SORRYSERVER_SELECT;
                     }
-                    //send_possible data is not exist
+                    //the data that can be sent possible is not exist
                     else
                     {
                         status = CLIENT_RECV;
@@ -7109,7 +7097,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d
                     /*-------- DEBUG LOG --------*/
                     if (LOG_LV_DEBUG == getloglevel())
                     {
-                        putLogDebug(10255, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                        putLogDebug(10242, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_realserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -7125,16 +7113,16 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_realserver_d
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                putLogDebug(10256, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                putLogDebug(10243, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                             "handle_realserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
-            //send_possible data is exist
+            //the data that can be sent possible is exist
             if (possible_flag)
             {
                 status = CLIENT_CONNECTION_CHECK;
             }
-            //send_possible data is not exist
+            //the data that can be sent possible is not exist
             else
             {
                 status = CLIENT_DISCONNECT;
@@ -7149,25 +7137,25 @@ 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;
-            putLogDebug(10257, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10244, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (std::exception& ex)
     {
-        std::cerr << "handle_realserver_disconnect exception: error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_realserver_disconnect() : exception: error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_realserver_disconnect() : exception : error = %s.");
         formatter % ex.what();
-        putLogError(17120, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17118, formatter.str(), __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_realserver_disconnect() : Unknown exception." << std::endl;
-        putLogError(17121, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_realserver_disconnect() : exception : Unknown exception.", __FILE__, __LINE__ );
+        putLogError(17119, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    "handle_realserver_disconnect() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -7178,7 +7166,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(10258, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10245, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -7203,7 +7191,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(10259, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10246, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     EVENT_TAG status;
@@ -7218,7 +7206,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(17122, "Invalid thread id.", __FILE__, __LINE__ );
+                putLogError(17120, "Invalid thread id.", __FILE__, __LINE__ );
                 throw -1;
             }
 
@@ -7228,13 +7216,13 @@ 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(17123, "Invalid endpoint.", __FILE__, __LINE__ );
+            putLogError(17121, "Invalid endpoint.", __FILE__, __LINE__ );
             throw -1;
         }
 
         recive_data& recv_data = recive_data_it->second;
 
-        //send_possible item is exist
+        //the data that can be sent possible is exist
         send_status_it it = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
                                     data_send_possible());
         if (it != recv_data.send_status_list.end())
@@ -7256,12 +7244,12 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                 //realserver switch flag is on
                 if (session_data->realserver_switch_flag == REALSERVER_SWITCH_FLAG_ON)
                 {
-                    //send_possible data is exist
+                    //the data that can be sent possible is exist
                     if (possible_flag)
                     {
                         status = REALSERVER_SELECT;
                     }
-                    //send_possible data is not exist
+                    //the data that can be sent possible is not exist
                     else
                     {
                         status = CLIENT_RECV;
@@ -7275,7 +7263,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                     /*-------- DEBUG LOG --------*/
                     if (LOG_LV_DEBUG == getloglevel())
                     {
-                        putLogDebug(10260, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                        putLogDebug(10247, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                     "handle_sorryserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
                     }
                     /*------DEBUG LOG END------*/
@@ -7291,16 +7279,16 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                putLogDebug(10261, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                putLogDebug(10248, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                             "handle_sorryserver_disconnect() : END_FLAG_ON.", __FILE__, __LINE__ );
             }
             /*------DEBUG LOG END------*/
-            //send_possible data is exist
+            //the data that can be sent possible is exist
             if (possible_flag)
             {
                 status = CLIENT_CONNECTION_CHECK;
             }
-            //send_possible data is not exist
+            //the data that can be sent possible is not exist
             else
             {
                 status = CLIENT_DISCONNECT;
@@ -7315,25 +7303,25 @@ 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;
-            putLogDebug(10262, formatter.str(), __FILE__, __LINE__ );
+            putLogDebug(10249, formatter.str(), __FILE__, __LINE__ );
         }
         /*------DEBUG LOG END------*/
         status = FINALIZE;
     }
     catch (const std::exception& ex)
     {
-        std::cerr << "handle_sorryserver_disconnect exception : error = " << ex.what() << "." << std::endl;
+        std::cerr << "protocol_module_sessionless::handle_sorryserver_disconnect() : exception : error = " << ex.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
                                 "handle_sorryserver_disconnect() : exception : error = %s.");
         formatter % ex.what();
-        putLogError(17124, formatter.str(), __FILE__, __LINE__ );
+        putLogError(17122, formatter.str(), __FILE__, __LINE__ );
         status = FINALIZE;
     }
     catch (...)
     {
         std::cerr << "protocol_module_sessionless::handle_sorryserver_disconnect() : Unknown exception." << std::endl;
-        putLogError(17125, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
-                    "handle_sorryserver_disconnect() : exception : Unknown exception.", __FILE__, __LINE__ );
+        putLogError(17123, "function : protocol_module_base::EVENT_TAG protocol_module_sessionless::"
+                    "handle_sorryserver_disconnect() : Unknown exception.", __FILE__, __LINE__ );
         status = FINALIZE;
     }
 
@@ -7346,7 +7334,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(10263, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10250, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
 
@@ -7368,7 +7356,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(10264, formatter.str(), __FILE__, __LINE__ );
+        putLogDebug(10251, formatter.str(), __FILE__, __LINE__ );
     }
     /*------DEBUG LOG END------*/
     return STOP;
index dbb066a..8d322df 100644 (file)
@@ -27,7 +27,8 @@ protocol_module_sslid::~protocol_module_sslid()
 }
 
 //! tcp protocol support check
-//! @return true(tcp support)
+//! @return tcp support is true
+//! @return tcp not-support is false
 bool protocol_module_sslid::is_tcp()
 {
     /*-------- DEBUG LOG --------*/
@@ -42,7 +43,8 @@ bool protocol_module_sslid::is_tcp()
 }
 
 //! udp protocol support check
-//! @return false(udp not-support)
+//! @return udp support is true
+       //! @return udp not-support is false
 bool protocol_module_sslid::is_udp()
 {
     /*-------- DEBUG LOG --------*/
@@ -202,6 +204,7 @@ void protocol_module_sslid::finalize()
 
 //! sorry support check
 //! @return false sorry mode is unsupported.
+//! @return true sorry mode is supported.
 bool protocol_module_sslid::is_use_sorry()
 {
     /*-------- DEBUG LOG --------*/
@@ -217,7 +220,7 @@ bool protocol_module_sslid::is_use_sorry()
 //! module parameter check.used by l7vsadm
 //! @param[in] module paramter string list
 //! @return result.flag true is parameter is noproblem.
-//! @return result.flag false is paramter is problem.
+//! @return result.flag false is parameter is problem.
 protocol_module_sslid::check_message_result protocol_module_sslid::check_parameter(
     const std::vector<std::string>& args)
 {
@@ -238,7 +241,7 @@ protocol_module_sslid::check_message_result protocol_module_sslid::check_paramet
     /*------DEBUG LOG END------*/
 
     check_message_result result;
-    // set check flag to true
+    // set check result flag true
     result.flag = true;
     bool timeout_flag = false;
     bool maxlist_flag = false;
@@ -412,7 +415,7 @@ protocol_module_sslid::check_message_result protocol_module_sslid::check_paramet
             }
             else
             {
-                // check result is false
+                // set check result flag false
                 result.flag = false;
                 result.message = "Option error.";
                 putLogError(37008, result.message, __FILE__, __LINE__);
@@ -424,7 +427,7 @@ protocol_module_sslid::check_message_result protocol_module_sslid::check_paramet
     catch (const std::exception& e)
     {
         result.flag = false;
-        std::cerr << "check parameter exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::check_parameter() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_sslid::check_message_result "
                                 "protocol_module_sslid::check_parameter() : exception : error = %s.");
         formatter % e.what();
@@ -477,7 +480,7 @@ protocol_module_sslid::check_message_result protocol_module_sslid::set_parameter
     /*------DEBUG LOG END------*/
 
     check_message_result result;
-    // set check flag to true
+    // set check result flag true
     result.flag = true;
     bool timeout_flag = false;
     bool maxlist_flag = false;
@@ -657,7 +660,7 @@ protocol_module_sslid::check_message_result protocol_module_sslid::set_parameter
             }
             else
             {
-                // check result is false
+                // set check result flag false
                 result.flag = false;
                 result.message = "Option error.";
                 putLogError(37019, result.message, __FILE__, __LINE__);
@@ -670,19 +673,19 @@ protocol_module_sslid::check_message_result protocol_module_sslid::set_parameter
         // result check
         if (result.flag)
         {
-            // timeout default set
+            // set timeout's default value
             if (!timeout_flag)
             {
                 timeout = 3600;
             }
 
-            // maxlist default set
+            // set maxlist's default value
             if (!maxlist_flag)
             {
                 maxlist = 1024;
             }
 
-            // reschedule default set
+            // set reschedule's default value
             if (!reschedule_flag)
             {
                 reschedule = 0;
@@ -851,7 +854,7 @@ protocol_module_sslid::check_message_result protocol_module_sslid::set_parameter
             session_data_processor = NULL;
         }
 
-        std::cerr << "set parameter exception : Could not allocate memory." << std::endl;
+        std::cerr << "protocol_module_sslid::set_parameter() : exception : Could not allocate memory." << std::endl;
         result.flag = false;
         result.message = "Could not allocate memory.";
         putLogError(37021, result.message, __FILE__, __LINE__);
@@ -871,7 +874,7 @@ protocol_module_sslid::check_message_result protocol_module_sslid::set_parameter
         }
 
         result.flag = false;
-        std::cerr << "set parameter exception : error = " << e.what() << std::endl;
+        std::cerr << "protocol_module_sslid::set_parameter() : exception : error = " << e.what() << std::endl;
         boost::format formatter("function : protocol_module_sslid::check_message_result "
                                 "protocol_module_sslid::set_parameter() : exception : error = %s.");
         formatter % e.what();
@@ -1036,7 +1039,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_session_initialize
     try
     {
         thread_data_ptr threaddata_up(new session_thread_data_sslid);
-        // initialize the up/down thread data
+
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
         {
@@ -1046,12 +1049,13 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_session_initialize
         }
         /*------DEBUG LOG END------*/
 
+        // initialize the up/down thread data
         threaddata_up->realserver_connect_failed_count = 0;
         threaddata_up->data_begain_offset = 0;
         threaddata_up->data_size = 0;
         threaddata_up->current_record_rest_size = 0;
         threaddata_up->hello_message_flag = false;
-        threaddata_up->end_flag = END_FLAG_OFF;                         // set end_flag to OFF
+        threaddata_up->end_flag = END_FLAG_OFF;                         // set end_flag OFF
         threaddata_up->thread_division = THREAD_DIVISION_UP_STREAM;     // up thread division
         threaddata_up->pair_thread_id = down_thread_id;
 
@@ -1092,7 +1096,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_session_initialize
         threaddata_down->data_size = 0;
         threaddata_down->current_record_rest_size = 0;
         threaddata_down->hello_message_flag = false;
-        threaddata_down->end_flag = END_FLAG_OFF;                       // set end_flag to OFF
+        threaddata_down->end_flag = END_FLAG_OFF;                       // set end_flag OFF
         threaddata_down->thread_division = THREAD_DIVISION_DOWN_STREAM; // down thread division
         threaddata_down->pair_thread_id = up_thread_id;
 
@@ -1126,14 +1130,14 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_session_initialize
     }
     catch (const std::bad_alloc& ba)
     {
-        std::cerr << "handle_session_initialize exception : Could not allocate memory." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_session_initialize() : exception : Could not allocate memory." << std::endl;
         putLogError(37025, "Could not allocate memory.", __FILE__, __LINE__);
 
         status = FINALIZE;
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_session_initialize exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_session_initialize() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_session_initialize() : exception : error = %s.");
         formatter % e.what();
@@ -1144,7 +1148,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_session_initialize
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_session_initialize() : Unknown exception." << std::endl;
-        putLogError(37027, "function : protocol_module_sslid::check_message_result protocol_module_sslid::"
+        putLogError(37027, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                     "handle_session_initialize() : Unknown exception.", __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -1222,16 +1226,16 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_session_finalize(
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_session_finalize exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_session_finalize() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                "handle_session_finalize() exception : error = %s.");
+                                "handle_session_finalize() exception : error = %s.");
         formatter % e.what();
         putLogError(37028, formatter.str(), __FILE__, __LINE__);
     }
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_session_finalize() : Unknown exception." << std::endl;
-        putLogError(37029, "function : protocol_module_sslid::check_message_result protocol_module_sslid::"
+        putLogError(37029, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                     "handle_session_finalize() : Unknown exception.", __FILE__, __LINE__);
     }
 
@@ -1300,7 +1304,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv(
         // parameter check
         if (recvlen > recvbuffer.size())
         {
-            std::cerr << "handle_client_recv() : Data size bigger than buffer size." << std::endl;
+            std::cerr << "protocol_module_sslid::handle_client_recv() : Data size bigger than buffer size." << std::endl;
             putLogError(37030, "Data size bigger than buffer size.", __FILE__, __LINE__);
             throw -1;
         }
@@ -1331,7 +1335,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv(
             // data length check
             if (threaddata->data_size + recvlen > threaddata->data_buffer.size())
             {
-                std::cerr << "handle_client_recv() : Data size bigger than buffer size." << std::endl;
+                std::cerr << "protocol_module_sslid::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;
                 throw -1;
@@ -1431,7 +1435,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv(
 
                 if (ret == -1)
                 {
-                    // anomaly, set the end_flag to ON
+                    // anomaly, set the end_flag ON
                     threaddata->end_flag = END_FLAG_ON;
                     status = FINALIZE;
                     /*-------- DEBUG LOG --------*/
@@ -1444,12 +1448,12 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv(
                 }
                 else if (ret == 1)
                 {
-                    // disable send the data, set the status to CLIENT_RECV
+                    // the data can't be sent, set the status CLIENT_RECV
                     status = CLIENT_RECV;
                 }
                 else
                 {
-                    // enable send the data, set the status to REALSERVER_SELECT
+                    // the data can be sent, set the status REALSERVER_SELECT
                     // set client helloworld shakehand flag
                     threaddata->hello_message_flag = ishellomessage;
                     threaddata->current_record_rest_size = alllength;
@@ -1478,7 +1482,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv(
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_client_recv exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_client_recv() : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_client_recv() : exception : error = %s.");
         formatter % e.what();
@@ -1489,7 +1493,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv(
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_client_recv() : Unknown exception." << std::endl;
-        putLogError(37034, "function : protocol_module_sslid::check_message_result "
+        putLogError(37034, "function : protocol_module_base::EVENT_TAG "
                     "protocol_module_sslid::handle_client_recv() : Unknown exception.", __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -1502,7 +1506,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_recv(
                                 "handle_client_recv(const boost::thread::id thread_id, "
                                 "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                 "const size_t recvlen) : return_value = %d, end_flag = %d.");
-        formatter % status % threaddata->end_flag;
+        formatter % status % (threaddata.get() ? threaddata->end_flag : END_FLAG_ON);
         putLogDebug(30053, formatter.str(), __FILE__, __LINE__);
     }
     /*------DEBUG LOG END------*/
@@ -1562,14 +1566,14 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
 
         if (threaddata->realserver_connect_failed_count <= 0)
         {
-            // the first connect or connected successful
+            // the first connection or connected successful
             if (realserver_selected(threaddata->selected_realserver))
             {
                 /*-------- DEBUG LOG --------*/
                 if (LOG_LV_DEBUG == getloglevel())
                 {
                     putLogDebug(30056, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                "realserver_selected() end.", __FILE__, __LINE__);
+                                "handle_realserver_select() end.", __FILE__, __LINE__);
                 }
                 /*------DEBUG LOG END------*/
 
@@ -1583,14 +1587,14 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                 if (LOG_LV_DEBUG == getloglevel())
                 {
                     putLogDebug(30057, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                "realserver_selected() end.", __FILE__, __LINE__);
+                                "handle_realserver_select() end.", __FILE__, __LINE__);
                 }
                 /*------DEBUG LOG END------*/
 
-                // first connect
+                // first connection
                 if (!threaddata->hello_message_flag)
                 {
-                    // when the first connect, must be hellomessage
+                    // the first connection, the theaddata must be hellomessage
                     threaddata->end_flag = END_FLAG_ON;
                     status = FINALIZE;
                     /*-------- DEBUG LOG --------*/
@@ -1651,7 +1655,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                         else
                         {
                             // failed to get the endpoint by reschedule
-                            // set end_flag to ON, and turn the status to CLIENT_DISCONNECT
+                            // set end_flag ON, and turn the status to CLIENT_DISCONNECT
                             threaddata->end_flag = END_FLAG_ON;
                             status = CLIENT_DISCONNECT;
                             /*-------- DEBUG LOG --------*/
@@ -1665,7 +1669,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                     }
                     else
                     {
-                        // has session id in hellomessage
+                        // the session id is in the hellomessage
                         // try to get the endpoint from session data by session id
                         int ret = session_data_processor->get_endpoint_from_session_data(
                                       session_id,
@@ -1681,7 +1685,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
 
                         if (ret == 0)
                         {
-                            // success for get the endpoint
+                            // get the endpoint successfully
                             rs_endpoint = threaddata->selected_realserver;
                             status = REALSERVER_CONNECT;
                         }
@@ -1696,7 +1700,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                                 schedule_tcp(thread_id, rs_list_begin, rs_list_end, rs_list_next, temp_endpoint);
                                 if (temp_endpoint != comp_endpoint)
                                 {
-                                    // success for get the endpoint by reschedule
+                                    // get the endpoint by reschedule successfully
                                     threaddata->selected_realserver = temp_endpoint;
                                     rs_endpoint = temp_endpoint;
                                     status = REALSERVER_CONNECT;
@@ -1704,7 +1708,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                                 else
                                 {
                                     // failed to get the endpoint by reschedule
-                                    // set end_flag to ON, and turn the status to CLIENT_DISCONNECT
+                                    // set end_flag ON, and set the status CLIENT_DISCONNECT
                                     threaddata->end_flag = END_FLAG_ON;
                                     status = CLIENT_DISCONNECT;
                                     /*-------- DEBUG LOG --------*/
@@ -1720,7 +1724,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                             else
                             {
                                 // no reschedule mode
-                                // set end_flag to ON and disconnect the client
+                                // set end_flag ON and disconnect the client
                                 threaddata->end_flag = END_FLAG_ON;
                                 status = CLIENT_DISCONNECT;
                                 /*-------- DEBUG LOG --------*/
@@ -1748,7 +1752,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                 schedule_tcp(thread_id, rs_list_begin, rs_list_end, rs_list_next, temp_endpoint);
                 if (temp_endpoint != comp_endpoint)
                 {
-                    // success for get the endpoint by reschedule
+                    // get the endpoint by reschedule successfully
                     threaddata->selected_realserver = temp_endpoint;
                     rs_endpoint = temp_endpoint;
                     status = REALSERVER_CONNECT;
@@ -1756,7 +1760,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                 else
                 {
                     // failed to get the endpoint by reschedule
-                    // set end_flag to ON, and turn the status to CLIENT_DISCONNECT
+                    // set end_flag ON, and set the status CLIENT_DISCONNECT
                     threaddata->end_flag = END_FLAG_ON;
                     status = CLIENT_DISCONNECT;
                     /*-------- DEBUG LOG --------*/
@@ -1771,7 +1775,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
             else
             {
                 // no reschedule mode
-                // set end_flag to ON and disconnect the client
+                // set end_flag ON and disconnect the client
                 threaddata->end_flag = END_FLAG_ON;
                 status = CLIENT_DISCONNECT;
                 /*-------- DEBUG LOG --------*/
@@ -1786,7 +1790,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
         else
         {
             // connect failed
-            // set end_flag to ON and disconnect the client
+            // set end_flag ON and disconnect the client
             threaddata->end_flag = END_FLAG_ON;
             status = CLIENT_DISCONNECT;
             /*-------- DEBUG LOG --------*/
@@ -1800,7 +1804,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_realserver_select exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_realserver_select() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_realserver_select() : exception : error = %s.");
         formatter % e.what();
@@ -1813,7 +1817,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_realserver_select() : Unknown exception." << std::endl;
-        putLogError(37037, "function : protocol_module_sslid::check_message_result "
+        putLogError(37037, "function : protocol_module_base::EVENT_TAG "
                     "protocol_module_sslid::handle_realserver_select() : Unknown exception.", __FILE__, __LINE__);
 
         putLogInfo(35003, "Realserver decision failure.", __FILE__, __LINE__);
@@ -1828,7 +1832,8 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                                 "handle_realserver_select(const boost::thread::id thread_id, "
                                 "boost::asio::ip::tcp::endpoint& rs_endpoint) : return_value = %d, "
                                 "end_flag = %d, rs_endpoint = [%s]:%d.");
-        formatter % status % threaddata->end_flag % rs_endpoint.address().to_string() % rs_endpoint.port();
+        formatter % status % (threaddata.get() ? threaddata->end_flag : END_FLAG_ON)
+        % rs_endpoint.address().to_string() % rs_endpoint.port();
         putLogDebug(30068, formatter.str(), __FILE__, __LINE__);
     }
     /*------DEBUG LOG END------*/
@@ -1912,7 +1917,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_realserver_connect exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_realserver_connect() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_realserver_connect() exception : error = %s.");
         formatter % e.what();
@@ -1922,7 +1927,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_realserver_connect() : Unknown exception." << std::endl;
-        putLogError(37040, "function protocol_module_sslid::check_message_result "
+        putLogError(37040, "function protocol_module_base::EVENT_TAG "
                     "protocol_module_sslid::handle_realserver_connect() : Unknown exception.", __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -2000,7 +2005,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect
         else
         {
             // no reschedule mode
-            // set end_flag to ON
+            // set end_flag ON
             threaddata->end_flag = END_FLAG_ON;
             status = CLIENT_DISCONNECT;
 
@@ -2015,7 +2020,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_realserver_connection_fail exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_realserver_connection_fail() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_realserver_connection_fail() : exception : error = %s.");
         formatter % e.what();
@@ -2026,7 +2031,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_base::EVENT_TAG "
                     "protocol_module_sslid::handle_realserver_connection_fail() : Unknown exception.",
                     __FILE__, __LINE__);
 
@@ -2040,7 +2045,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_connect
                                 "handle_realserver_connection_fail(const boost::thread::id thread_id, "
                                 "const boost::asio::ip::tcp::endpoint& rs_endpoint) : "
                                 "return_value = %d, end_flag = %d.");
-        formatter % status % threaddata->end_flag;
+        formatter % status % (threaddata.get() ? threaddata->end_flag : END_FLAG_ON);
         putLogDebug(30075, formatter.str(), __FILE__, __LINE__);
     }
     /*------DEBUG LOG END------*/
@@ -2100,7 +2105,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_send(
         }
         else
         {
-            // send remain data
+            // send the remaining data
             if (threaddata->current_record_rest_size == 0)
             {
                 // new SSL Record start
@@ -2121,7 +2126,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_send(
 
                 if (ret == -1)
                 {
-                    // anomaly, set the end_flag to ON
+                    // anomaly, set the end_flag ON
                     threaddata->end_flag = END_FLAG_ON;
                     status = FINALIZE;
                     /*-------- DEBUG LOG --------*/
@@ -2134,12 +2139,12 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_send(
                 }
                 else if (ret == 1)
                 {
-                    // disable send the data, set the status to CLIENT_RECV
+                    // the data can't be sent, set the status CLIENT_RECV
                     status = CLIENT_RECV;
                 }
                 else
                 {
-                    // enable send the data, set the status to REALSERVER_SELECT
+                    // the data can be sent, set the status REALSERVER_SELECT
                     // set client helloworld shakehand flag
                     threaddata->hello_message_flag = ishellomessage;
                     threaddata->current_record_rest_size = alllength;
@@ -2154,10 +2159,10 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_send(
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_realserver_send exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_realserver_send() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_realserver_send() : exception : error = %s.");
-        formatter % FINALIZE % e.what();
+        formatter % e.what();
         putLogError(37045, formatter.str(), __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -2165,7 +2170,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_send(
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_realserver_send() : Unknown exception." << std::endl;
-        putLogError(37046, "function : protocol_module_sslid::check_message_result "
+        putLogError(37046, "function : protocol_module_base::EVENT_TAG "
                     "protocol_module_sslid::handle_realserver_send() : Unknown exception.", __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -2177,7 +2182,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_send(
         boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_realserver_send(const boost::thread::id thread_id) : "
                                 "return_value = %d, end_flag = %d.");
-        formatter % status % threaddata->end_flag;
+        formatter % status % (threaddata.get() ? threaddata->end_flag : END_FLAG_ON);
         putLogDebug(30080, formatter.str(), __FILE__, __LINE__);
     }
     /*------DEBUG LOG END------*/
@@ -2305,7 +2310,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv(
     // parameter check
     if (recvlen > recvbuffer.size())
     {
-        std::cerr << "handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
         putLogError(37047, "Data size bigger than buffer size.", __FILE__, __LINE__);
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
@@ -2361,7 +2366,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv(
         // data length check
         if (threaddata->data_size + recvlen > threaddata->data_buffer.size())
         {
-            std::cerr << "handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
+            std::cerr << "protocol_module_sslid::handle_realserver_recv() : Data size bigger than buffer size." << std::endl;
             putLogError(37049, "Data size bigger than buffer size.", __FILE__, __LINE__);
 
             /*-------- DEBUG LOG --------*/
@@ -2475,7 +2480,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv(
 
             if (ret == -1)
             {
-                // anomaly, set the end_flag to ON
+                // anomaly, set the end_flag ON
                 threaddata->end_flag = END_FLAG_ON;
                 status = FINALIZE;
                 /*-------- DEBUG LOG --------*/
@@ -2488,12 +2493,12 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv(
             }
             else if (ret == 1)
             {
-                // disable send the data, set the status to CLIENT_RECV
+                // the data can't be sent, set the status CLIENT_RECV
                 status = REALSERVER_RECV;
             }
             else
             {
-                // enable send the data, set the status to REALSERVER_SELECT
+                // the data can be sent, set the status REALSERVER_SELECT
                 // set client helloworld shakehand flag
                 threaddata->hello_message_flag = ishellomessage;
                 threaddata->current_record_rest_size = alllength;
@@ -2507,7 +2512,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv(
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_realserver_recv exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_realserver_recv() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_realserver_recv() : exception : error = %s.");
         formatter % e.what();
@@ -2518,7 +2523,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv(
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_realserver_recv() : Unknown exception." << std::endl;
-        putLogError(37051, "function : protocol_module_sslid::check_message_result "
+        putLogError(37051, "function : protocol_module_base::EVENT_TAG "
                     "protocol_module_sslid::handle_realserver_recv() : Unknown exception.", __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -2532,7 +2537,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_recv(
                                 "const boost::asio::ip::tcp::endpoint& rs_endpoint, "
                                 "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer, "
                                 "const size_t recvlen) : return_value = %d, end_flag = %d.");
-        formatter % status % threaddata->end_flag;
+        formatter % status % (threaddata.get() ? threaddata->end_flag : END_FLAG_ON);
         putLogDebug(30095, formatter.str(), __FILE__, __LINE__);
     }
     /*------DEBUG LOG END------*/
@@ -2748,7 +2753,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_connection_
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_client_connection_check exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_client_connection_check() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_client_connection_check() : exception : error = %s.");
         formatter % e.what();
@@ -2759,7 +2764,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;
-        putLogError(37054, "function : protocol_module_sslid::check_message_result "
+        putLogError(37054, "function : protocol_module_base::EVENT_TAG "
                     "protocol_module_sslid::handle_client_connection_check() : Unknown exception.", __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -2858,7 +2863,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
+                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                         "handle_client_send() : data_size = %d, end_flag = %d.");
                 formatter % threaddata->data_size % threaddata->end_flag;
                 putLogDebug(30109, formatter.str(), __FILE__, __LINE__);
@@ -2882,7 +2887,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
             /*-------- DEBUG LOG --------*/
             if (LOG_LV_DEBUG == getloglevel())
             {
-                boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
+                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                         "handle_client_send() : data_size = %d, current_record_rest_size = %d.");
                 formatter % threaddata->data_size % threaddata->current_record_rest_size;
                 putLogDebug(30110, formatter.str(), __FILE__, __LINE__);
@@ -2913,7 +2918,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
 
                 if (ret == -1)
                 {
-                    // anomaly, set the end_flag to ON
+                    // anomaly, set the end_flag ON
                     threaddata->end_flag = END_FLAG_ON;
                     /*-------- DEBUG LOG --------*/
                     if (LOG_LV_DEBUG == getloglevel())
@@ -2927,7 +2932,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
                 }
                 else if (ret == 1)
                 {
-                    // disable send the data
+                    // the data is unsendable
                     if (threaddata->end_flag == END_FLAG_ON)
                     {
                         // end_flag is ON
@@ -2941,7 +2946,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
                 }
                 else
                 {
-                    // enable send the data, set the status to CLIENT_CONNECTION_CHECK
+                    // the data is sendable, set the status CLIENT_CONNECTION_CHECK
                     // set client helloworld shakehand flag
                     threaddata->hello_message_flag = ishellomessage;
                     threaddata->current_record_rest_size = alllength;
@@ -2957,7 +2962,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
     }
     catch (const std::exception& e)
     {
-        std::cerr << "handle_client_connection_check exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "protocol_module_sslid::handle_client_send() : exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_client_send() : exception : error = %s.");
         formatter % e.what();
@@ -2968,7 +2973,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
     catch (...)
     {
         std::cerr << "protocol_module_sslid::handle_client_send() : Unknown exception." << std::endl;
-        putLogError(37057, "function : protocol_module_sslid::check_message_result "
+        putLogError(37057, "function : protocol_module_base::EVENT_TAG "
                     "protocol_module_sslid::handle_client_send() : Unknown exception.", __FILE__, __LINE__);
 
         status = FINALIZE;
@@ -2980,7 +2985,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_client_send(
         boost::format formatter("out_function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
                                 "handle_client_send(const boost::thread::id thread_id) : "
                                 "return_value = %d, end_flag = %d.");
-        formatter % status % threaddata->end_flag;
+        formatter % status % (threaddata.get() ? threaddata->end_flag : END_FLAG_ON);
         putLogDebug(30113, formatter.str(), __FILE__, __LINE__);
     }
     /*------DEBUG LOG END------*/
@@ -3127,8 +3132,8 @@ void protocol_module_sslid::replication_interrupt()
     /*-------- DEBUG LOG --------*/
     if (LOG_LV_DEBUG == getloglevel())
     {
-        putLogDebug(30121, "function : void protocol_module_sslid::replication_interrupt():"
-                    "write_replication_area() END.", __FILE__, __LINE__);
+        putLogDebug(30121, "function : void protocol_module_sslid::replication_interrupt() : "
+                    "write_replication_area() end.", __FILE__, __LINE__);
         putLogDebug(30122, "out_function : void protocol_module_sslid::replication_interrupt().",
                     __FILE__, __LINE__);
     }
@@ -3194,8 +3199,8 @@ int protocol_module_sslid::put_data_to_sendbuffer(
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
         {
-            putLogDebug(30125, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                        "::put_data_to_sendbuffer() : current_record_rest_size >= data_size.",
+            putLogDebug(30125, "function : int protocol_module_sslid::"
+                        "put_data_to_sendbuffer() : current_record_rest_size >= data_size.",
                         __FILE__, __LINE__);
         }
 
@@ -3210,10 +3215,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 dump_memory(threaddata->data_buffer.data(),
                             threaddata->data_size, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                        "::put_data_to_sendbuffer() : data_size <= sendbuffer size. "
+                boost::format formatter("function : int protocol_module_sslid::"
+                                        "put_data_to_sendbuffer() : data_size <= sendbuffer size. "
                                         "before memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
@@ -3221,8 +3226,8 @@ int protocol_module_sslid::put_data_to_sendbuffer(
             }
             /*------DEBUG LOG END------*/
 
-            // all data size less or equals the send data buffer size
-            // set the data to send data buffer
+            // all data size is less than or equals with the send data buffer size
+            // put the data to send data buffer
             memcpy(senddatabegin, databegin+threaddata->data_begain_offset, threaddata->data_size);
 
             // begin offset init
@@ -3241,10 +3246,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 dump_memory(threaddata->data_buffer.data(),
                             threaddata->data_size, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
+                boost::format formatter("function : int protocol_module_sslid::"
                                         "put_data_to_sendbuffer() : data_size <= sendbuffer size. "
                                         "after memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
@@ -3261,10 +3266,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 std::string datadump;
                 dump_memory(senddatabegin, sendbufsize, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                        "::put_data_to_sendbuffer() : data_size > sendbuffer size. "
+                boost::format formatter("function : int protocol_module_sslid::"
+                                        "put_data_to_sendbuffer() : data_size > sendbuffer size. "
                                         "before memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
@@ -3273,7 +3278,7 @@ int protocol_module_sslid::put_data_to_sendbuffer(
             /*------DEBUG LOG END------*/
 
             // all data size greater than the send data buffer size
-            // set the data to send data buffer
+            // put the data to send data buffer
             memcpy(senddatabegin, databegin+threaddata->data_begain_offset, sendbufsize);
 
             // begin offset add
@@ -3291,10 +3296,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 std::string datadump;
                 dump_memory(senddatabegin, sendbufsize, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
+                boost::format formatter("function : int protocol_module_sslid::"
                                         "put_data_to_sendbuffer() : data_size > sendbuffer size. "
                                         "after memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
@@ -3308,8 +3313,8 @@ int protocol_module_sslid::put_data_to_sendbuffer(
         /*-------- DEBUG LOG --------*/
         if (LOG_LV_DEBUG == getloglevel())
         {
-            putLogDebug(30130, "function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                        "::put_data_to_sendbuffer() : current_record_rest_size < data_size.",
+            putLogDebug(30130, "function : int protocol_module_sslid::"
+                        "put_data_to_sendbuffer() : current_record_rest_size < data_size.",
                         __FILE__, __LINE__);
         }
         /*------DEBUG LOG END------*/
@@ -3324,10 +3329,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 std::string datadump;
                 dump_memory(senddatabegin, threaddata->current_record_rest_size, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                        "::put_data_to_sendbuffer() : current_record_rest_size <= sendbuffer size. "
+                boost::format formatter("function : int protocol_module_sslid::"
+                                        "put_data_to_sendbuffer() : current_record_rest_size <= sendbuffer size. "
                                         "before memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
@@ -3335,8 +3340,8 @@ int protocol_module_sslid::put_data_to_sendbuffer(
             }
             /*------DEBUG LOG END------*/
 
-            // remain data size less or equals the send data buffer size
-            // set the data to send data buffer
+            // remain data size less than or equals with the send data buffer size
+            // put the data to send data buffer
             memcpy(senddatabegin, databegin+threaddata->data_begain_offset, threaddata->current_record_rest_size);
 
             // begin offset add
@@ -3354,10 +3359,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 std::string datadump;
                 dump_memory(senddatabegin, threaddata->current_record_rest_size, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                        "::put_data_to_sendbuffer() : current_record_rest_size <= sendbuffer size. "
+                boost::format formatter("function : int protocol_module_sslid::"
+                                        "put_data_to_sendbuffer() : current_record_rest_size <= sendbuffer size. "
                                         "after memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
@@ -3374,10 +3379,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 std::string datadump;
                 dump_memory(senddatabegin, sendbufsize, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                        "::put_data_to_sendbuffer() : current_record_rest_size > sendbuffer size. "
+                boost::format formatter("function : int protocol_module_sslid::"
+                                        "put_data_to_sendbuffer() : current_record_rest_size > sendbuffer size. "
                                         "before memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
@@ -3386,7 +3391,7 @@ int protocol_module_sslid::put_data_to_sendbuffer(
             /*------DEBUG LOG END------*/
 
             // remain data size greater than send data buffersize
-            // set the data to send data buffer
+            // put the data to send data buffer
             memcpy(senddatabegin, databegin+threaddata->data_begain_offset, sendbufsize);
 
             // offset add
@@ -3404,10 +3409,10 @@ int protocol_module_sslid::put_data_to_sendbuffer(
                 std::string datadump;
                 dump_memory(senddatabegin, sendbufsize, datadump);
 
-                boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_sslid::"
-                                        "::put_data_to_sendbuffer() : current_record_rest_size > sendbuffer size. "
+                boost::format formatter("function : int protocol_module_sslid::"
+                                        "put_data_to_sendbuffer() : current_record_rest_size > sendbuffer size. "
                                         "after memcpy (data dump) : data_begin_offset = %d, "
-                                        "current_record_rest_size = %d, data_size = %d, dump data begin = 0, "
+                                        "current_record_rest_size = %d, dump data begin = 0, "
                                         "dump data_size = %d, dump data = %s");
                 formatter % threaddata->data_begain_offset % threaddata->current_record_rest_size
                 % threaddata->data_size % datadump;
index 26acc42..acb46e1 100644 (file)
@@ -309,7 +309,7 @@ sslid_replication_data_processor::sslid_replication_data_processor(
                      "char* sslid_replication_area_begain, int sslid_replication_area_size, "
                      "const boost::asio::ip::tcp::endpoint& virtual_service_endpoint, "
                      "getloglevel_func_type ingetloglevel, logger_func_type inputLogFatal, "
-                     "logger_func_type inputLogError, logger_func_type inputLogWarn,"
+                     "logger_func_type inputLogError, logger_func_type inputLogWarn, "
                      "logger_func_type inputLogInfo, logger_func_type inputLogDebug)."
                      , __FILE__, __LINE__);
     }
@@ -340,8 +340,8 @@ void sslid_replication_data_processor::put_into_temp_list(
         boost::format formatter("in_function : void sslid_replication_data_processor::put_into_temp_list("
                                  "const sslid_replication_temp_data& data) : data.op_code = %c, "
                                  "data.session_id = %s, data.last_time = %lu, data.endpoint = [%s]:%d.");
-        formatter % data.op_code % data.session_id % data. realserver_addr.address().to_string() %
-        data. realserver_addr.port();
+        formatter % data.op_code % data.session_id % data.last_time % data.realserver_addr.address().to_string() 
+       % data.realserver_addr.port();
         putLogDebug(30016, formatter.str(), __FILE__, __LINE__);
     }
     /*------DEBUG LOG END------*/
@@ -437,7 +437,7 @@ void sslid_replication_data_processor::write_replicaion_area()
                         if (LOG_LV_DEBUG == getloglevel())
                         {
                             boost::format formatter("function : void sslid_replication_data_processor::"
-                                                     "write_replicaion_area() : 'A' : realserver_ip = %s,"
+                                                     "write_replicaion_area() : 'A' : realserver_ip = %s, "
                                                      "realserver_prot = %d.");
                             formatter % replication_area[i].realserver_ip % replication_area[i].realserver_port;
                             putLogDebug(30021, formatter.str(), __FILE__, __LINE__);
@@ -460,7 +460,7 @@ void sslid_replication_data_processor::write_replicaion_area()
                         if (LOG_LV_DEBUG == getloglevel())
                         {
                             boost::format formatter("function : void sslid_replication_data_processor::"
-                                                    "write_replicaion_area() : 'U' : last_time(before) = %lu,"
+                                                    "write_replicaion_area() : 'U' : last_time(before) = %lu, "
                                                     "last_time(after) = %lu.");
                             formatter % replication_area[i].last_time % temp_data.last_time;
                             putLogDebug(30022, formatter.str(), __FILE__, __LINE__);
@@ -488,7 +488,7 @@ void sslid_replication_data_processor::write_replicaion_area()
                         if (LOG_LV_DEBUG == getloglevel())
                         {
                             boost::format formatter("function : void sslid_replication_data_processor::"
-                                                     "write_replicaion_area() : 'D' : data valid(before) = %d,"
+                                                     "write_replicaion_area() : 'D' : data valid(before) = %d, "
                                                      "data valid(after) = %d.");
                             formatter % replication_area[i].valid % 0;
                             putLogDebug(30023, formatter.str(), __FILE__, __LINE__);
@@ -514,7 +514,7 @@ void sslid_replication_data_processor::write_replicaion_area()
         {
             replication_area_unlock();
         }
-        std::cerr << "write_replicaion_area exception : error " << e.what() << "." << std::endl;
+        std::cerr << "sslid_replication_data_processor::write_replicaion_area() : exception : error " << e.what() << "." << std::endl;
         boost::format formatter("function : void sslid_replication_data_processor::write_replicaion_area() : "
                                  "exception : error = %s.");
         formatter % e.what();
@@ -526,9 +526,9 @@ void sslid_replication_data_processor::write_replicaion_area()
         {
             replication_area_unlock();
         }
-        std::cerr << "write_replicaion_area boost::thread_interrupted exception." << std::endl;
+        std::cerr << "sslid_replication_data_processor::write_replicaion_area() : exception." << std::endl;
         putLogError(37007, "function : void sslid_replication_data_processor::write_replicaion_area() : "
-                     "thread_interrupted exception.", __FILE__, __LINE__);
+                     "Thread_interrupted exception.", __FILE__, __LINE__);
     }
     catch (...)
     {
@@ -651,7 +651,7 @@ void sslid_replication_data_processor::get_from_temp_list(
                                  "get_from_temp_list(sslid_replication_temp_data& data) : "
                                  "data.op_code = %c, data.session_id = %s, data.last_time = %lu, "
                                  "data.endpoint = [%s]:%d.");
-        formatter % data.op_code % data.session_id % data. realserver_addr.address().to_string() %
+        formatter % data.op_code % data.session_id % data.last_time % data. realserver_addr.address().to_string() %
         data. realserver_addr.port();
         putLogDebug(30031, formatter.str(), __FILE__, __LINE__);
     }
index 36d5794..0b48982 100644 (file)
@@ -186,7 +186,7 @@ int sslid_session_data_processor::get_endpoint_from_session_data(
     }
     catch(const std::exception& e)
     {
-        std::cerr << "get_endpoint_from_session_data exception: error = " << e.what() << "." << std::endl;
+        std::cerr << "sslid_session_data_processor::get_endpoint_from_session_data() : exception: error = " << e.what() << "." << std::endl;
         boost::format formatter("function : int sslid_session_data_processor::"
                                 "get_endpoint_from_session_data() : exception : error = %s.");
         formatter % -1 % e.what();
@@ -286,7 +286,7 @@ int sslid_session_data_processor::write_session_data(
             // endpoint not exist
             if (session_endpoint_map.size() >= static_cast<size_t>(maxlist))
             {
-                // map size arrived to top
+                // the map is full
                 if (clear_expired_session_data() == 1)
                 {
                     /*-------- DEBUG LOG --------*/
@@ -396,7 +396,7 @@ int sslid_session_data_processor::read_session_data_from_replication_area(
         {
             putLogDebug(30017, "out_function : int sslid_session_data_processor::"
                                 "read_session_data_from_replication_area("
-                                "sslid_replication_data* replication_area) : return_value = 1", __FILE__, __LINE__);
+                                "sslid_replication_data* replication_area) : return_value = -1", __FILE__, __LINE__);
         }
         /*------DEBUG LOG END------*/
         return -1;
@@ -438,7 +438,8 @@ int sslid_session_data_processor::read_session_data_from_replication_area(
     }
     catch(const std::exception& e)
     {
-        std::cerr << "read_session_data_from_replication_area exception : error = " << e.what() << "." << std::endl;
+        std::cerr << "sslid_session_data_processor::read_session_data_from_replication_area() : "
+                                                                                       "exception : error = " << e.what() << "." << std::endl;
         boost::format formatter("function : int sslid_session_data_processor::"
                                             "read_session_data_from_replication_area() : exception : error = %s.");
         formatter % e.what();
index 1793b11..349385b 100644 (file)
@@ -167,6 +167,7 @@ void schedule_tcp_nodeterminate(//endpoint = 未決定
 class protocol_module_sessionless_test_class : public protocol_module_sessionless
 {
 public:
+boost::mutex check_mutex;
 
 //stub log function install
 void install_stb_log_func(){
@@ -243,10 +244,6 @@ void protocol_module_sessionless_test(){
     BOOST_CHECK_EQUAL(memcmp(this->sorry_uri.data(), chk, MAX_OPTION_SIZE), 0);
 }
 
-//~protocol_module_sessionless 馮家純
-void _protocol_module_sessionless_test(){
-}
-
 //is_tcp 馮家純
 void is_tcp_test(){
     cout << "[2]------------------------------------------" << endl;
@@ -738,10 +735,6 @@ void add_parameter_test() {
        BOOST_CHECK_EQUAL(result.message, "Cannot add option.");
 }
 
-//handle_rslist_update 馬翠翠
-void handle_rslist_update_test(){
-}
-
 //register_schedule(tcp) 董作方
 void register_schedule_tcp_test() {
     cout << "[48]------------------------------------------" << endl;
@@ -757,10 +750,6 @@ void register_schedule_tcp_test() {
     BOOST_CHECK_EQUAL(this->schedule_tcp.empty(), true);
 }
 
-//register_schedule(udp) 董作方
-void register_schedule_udp_test() {
-}
-
 //handle_session_initialize 董作方
 void handle_session_initialize_test() {
     cout << "[50]------------------------------------------" << endl;
@@ -821,41 +810,43 @@ void handle_session_initialize_test_thread() {
     boost::asio::ip::tcp::endpoint ep_tcp = string_to_endpoint<boost::asio::ip::tcp> ("100.100.100.100:8888");
     boost::asio::ip::udp::endpoint ep_udp = string_to_endpoint<boost::asio::ip::udp> ("100.100.100.100:8080");
 
-    cout << "[51]------------------------------------------\n";
-    //unit_test[51] 多スレッドテスト
-    EVENT_TAG ret =    this->handle_session_initialize(boost::this_thread::get_id(), down_thread.get_id(),ep_tcp,ep_udp);
-
-    BOOST_CHECK_EQUAL(ret, ACCEPT);
+    cout << "[53]------------------------------------------\n";
+    //unit_test[53] 多スレッドテスト
+     session_thread_data_map_it iter;
+     bool bret ;
+     EVENT_TAG ret = this->handle_session_initialize(boost::this_thread::get_id(), down_thread.get_id(),ep_tcp,ep_udp);
 
-    session_thread_data_map_it iter;
-    bool bret ;
     {
        boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
        iter = this->session_thread_data_map.find(boost::this_thread::get_id());
        bret = (iter != this->session_thread_data_map.end());
     }
-    BOOST_REQUIRE_EQUAL(bret, true);
-    thread_data_ptr data = iter->second;
-    bret = (data != NULL);
-    BOOST_REQUIRE_EQUAL(bret, true);
-
-    BOOST_CHECK_EQUAL(data->thread_id, boost::this_thread::get_id());
-    BOOST_CHECK_EQUAL(data->thread_division, THREAD_DIVISION_UP_STREAM);
-    BOOST_CHECK_EQUAL(data->pair_thread_id, down_thread.get_id());
-    BOOST_CHECK_EQUAL(data->recive_data_map.empty(), false);
-    BOOST_CHECK_EQUAL(data->end_flag, END_FLAG_OFF);
-    BOOST_CHECK_EQUAL(data->accept_end_flag, ACCEPT_END_FLAG_OFF);
-    BOOST_CHECK_EQUAL(data->sorry_flag, SORRY_FLAG_OFF);
-    BOOST_CHECK_EQUAL(data->sorryserver_switch_flag, SORRYSERVER_SWITCH_FLAG_OFF);
-    BOOST_CHECK_EQUAL(data->realserver_switch_flag, REALSERVER_SWITCH_FLAG_OFF);
-    BOOST_CHECK_EQUAL(data->client_endpoint_tcp, ep_tcp);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, ACCEPT);
+        BOOST_REQUIRE_EQUAL(bret, true);
+        thread_data_ptr data = iter->second;
+        bret = (data != NULL);
+        BOOST_REQUIRE_EQUAL(bret, true);
+
+        BOOST_CHECK_EQUAL(data->thread_id, boost::this_thread::get_id());
+        BOOST_CHECK_EQUAL(data->thread_division, THREAD_DIVISION_UP_STREAM);
+        BOOST_CHECK_EQUAL(data->pair_thread_id, down_thread.get_id());
+        BOOST_CHECK_EQUAL(data->recive_data_map.empty(), false);
+        BOOST_CHECK_EQUAL(data->end_flag, END_FLAG_OFF);
+        BOOST_CHECK_EQUAL(data->accept_end_flag, ACCEPT_END_FLAG_OFF);
+        BOOST_CHECK_EQUAL(data->sorry_flag, SORRY_FLAG_OFF);
+        BOOST_CHECK_EQUAL(data->sorryserver_switch_flag, SORRYSERVER_SWITCH_FLAG_OFF);
+        BOOST_CHECK_EQUAL(data->realserver_switch_flag, REALSERVER_SWITCH_FLAG_OFF);
+        BOOST_CHECK_EQUAL(data->client_endpoint_tcp, ep_tcp);
+    }
 }
 
 //handle_session_finalize 董作方
 void handle_session_finalize_test() {
-    cout << "[53]------------------------------------------" << endl;
-    //unit_test[53] セッションスレッドに対応する終了処理
-    //unit_test[53] test data:セッションスレッド初期化
+    cout << "[54]------------------------------------------" << endl;
+    //unit_test[54] セッションスレッドに対応する終了処理
+    //unit_test[54] test data:セッションスレッド初期化
     boost::thread down_thread(down_thread_func);
     boost::asio::ip::tcp::endpoint ep_tcp = string_to_endpoint<boost::asio::ip::tcp> ("10.10.100.100:8800");
     boost::asio::ip::udp::endpoint ep_udp = string_to_endpoint<boost::asio::ip::udp> ("10.10.100.100:8088");
@@ -881,53 +872,46 @@ void handle_session_finalize_test() {
 
 //handle_session_finalize 董作方
 void handle_session_finalize_test_thread() {
-    cout << "[53]------------------------------------------\n";
-    //unit_test[53] 多スレッドテスト/セッションスレッドに対応する終了処理
-    //unit_test[53] test data:セッションスレッド初期化
+    cout << "[55]------------------------------------------\n";
+    //unit_test[55] 多スレッドテスト/セッションスレッドに対応する終了処理
+    //unit_test[55] test data:セッションスレッド初期化
     boost::thread down_thread(down_thread_func);
     boost::asio::ip::tcp::endpoint ep_tcp = string_to_endpoint<boost::asio::ip::tcp> ("10.10.100.100:8800");
     boost::asio::ip::udp::endpoint ep_udp = string_to_endpoint<boost::asio::ip::udp> ("10.10.100.100:8088");
-
-    this->handle_session_initialize(boost::this_thread::get_id(),down_thread.get_id(),ep_tcp,ep_udp);
-    protocol_module_base::EVENT_TAG ret =
-    this->handle_session_finalize(boost::this_thread::get_id(), down_thread.get_id());
-
     //session_thread_data_map中にthis_thread無し
     session_thread_data_map_it thread_map_iterator;
     bool bret;
+    this->handle_session_initialize(boost::this_thread::get_id(),down_thread.get_id(),ep_tcp,ep_udp);
+    protocol_module_base::EVENT_TAG ret = this->handle_session_finalize(boost::this_thread::get_id(), down_thread.get_id());
     {
         boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
         thread_map_iterator = this->session_thread_data_map.find(boost::this_thread::get_id());
        bret = (thread_map_iterator == this->session_thread_data_map.end());
     }
-    BOOST_CHECK_EQUAL(bret,true);
-
-    //session_thread_data_map中にdown_thread無し
-    thread_map_iterator = this->session_thread_data_map.find(down_thread.get_id());
-    bret = (thread_map_iterator == this->session_thread_data_map.end());
-    BOOST_CHECK_EQUAL(bret,true);
-
-    //遷移先ステータスを設定する status = ACCEPT
-    BOOST_CHECK_EQUAL( ret, STOP);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(bret,true);
+        BOOST_CHECK_EQUAL(ret, STOP);
+    }
 }
 
 //handle_accept 董作方
 void handle_accept_test() {
-    cout << "[54]------------------------------------------" << endl;
-    //unit_test[54] session_thread_data_map中にthread_id無し
+    cout << "[56]------------------------------------------" << endl;
+    //unit_test[56] session_thread_data_map中にthread_id無し
     EVENT_TAG ret = this->handle_accept(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[55]------------------------------------------" << endl;
-    //unit_test[55] session_thread_data_map中にsession_thread_data無し
+    cout << "[57]------------------------------------------" << endl;
+    //unit_test[57] session_thread_data_map中にsession_thread_data無し
     thread_data_ptr  data1 ;
     this->session_thread_data_map[boost::this_thread::get_id()] = data1;
     ret = this->handle_accept(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[56]------------------------------------------" << endl;
-    //unit_test[56] sorry状態の場合
-    //unit_test[56] test data:accept_end_flag= on,sorry_flag= on
+    cout << "[58]------------------------------------------" << endl;
+    //unit_test[58] sorry状態の場合
+    //unit_test[58] test data:accept_end_flag= on,sorry_flag= on
     thread_data_ptr data_pro(new session_thread_data_sessionless);
     data_pro->accept_end_flag = ACCEPT_END_FLAG_OFF;
     data_pro->sorry_flag = SORRY_FLAG_ON;
@@ -939,9 +923,9 @@ void handle_accept_test() {
     BOOST_CHECK_EQUAL(data_pro->accept_end_flag, ACCEPT_END_FLAG_ON);//accept完了フラグをON
     BOOST_CHECK_EQUAL(ret, SORRYSERVER_SELECT);//遷移先ステータス=SORRYSERVER_SELECT
 
-    cout << "[57]------------------------------------------" << endl;
-    //unit_test[57] sorry状態以外の場合
-    //unit_test[57] test data:accept_end_flag= on,sorry_flag= off
+    cout << "[59]------------------------------------------" << endl;
+    //unit_test[59] sorry状態以外の場合
+    //unit_test[59] test data:accept_end_flag= on,sorry_flag= off
     data_pro->accept_end_flag = ACCEPT_END_FLAG_OFF;
     data_pro->sorry_flag = SORRY_FLAG_OFF;
     this->session_thread_data_map.clear();
@@ -955,9 +939,9 @@ void handle_accept_test() {
 
 //handle_accept 董作方
 void handle_accept_test_thread() {
-    cout << "[56]------------------------------------------\n";
-    //unit_test[56] 多スレッドテスト/sorry状態の場合
-    //unit_test[56] test data:accept_end_flag= on,sorry_flag= on
+    cout << "[60]------------------------------------------\n";
+    //unit_test[60] 多スレッドテスト/sorry状態の場合
+    //unit_test[60] test data:accept_end_flag= on,sorry_flag= on
     thread_data_ptr data_pro(new session_thread_data_sessionless);
     data_pro->accept_end_flag = ACCEPT_END_FLAG_OFF;
     data_pro->sorry_flag = SORRY_FLAG_ON;
@@ -966,9 +950,11 @@ void handle_accept_test_thread() {
         this->session_thread_data_map[boost::this_thread::get_id()] = data_pro;
     }
     EVENT_TAG ret = this->handle_accept(boost::this_thread::get_id());
-
-    BOOST_CHECK_EQUAL(data_pro->accept_end_flag, ACCEPT_END_FLAG_ON);//accept完了フラグをON
-    BOOST_CHECK_EQUAL(ret, SORRYSERVER_SELECT);//遷移先ステータス=SORRYSERVER_SELECT
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(data_pro->accept_end_flag, ACCEPT_END_FLAG_ON);//accept完了フラグをON
+        BOOST_CHECK_EQUAL(ret, SORRYSERVER_SELECT);//遷移先ステータス=SORRYSERVER_SELECT
+    }
 }
 
 //handle_client_recv 郎希倹
@@ -1000,14 +986,14 @@ void handle_client_recv_test(){
     psession_thread_data->recive_data_map[endpoint_local] = recive_data_tmp;
     this->forwarded_for = 1;
 
-    cout << "[58]------------------------------------------" << endl;
-    // unit_test[58] boost::this_thread::get_id()対応のデータsession_thread_dataなし
+    cout << "[61]------------------------------------------" << endl;
+    // unit_test[61] boost::this_thread::get_id()対応のデータsession_thread_dataなし
     this->session_thread_data_map.clear();
     ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[59]------------------------------------------" << endl;
-    // unit_test[59] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
+    cout << "[62]------------------------------------------" << endl;
+    // unit_test[62] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
     this->session_thread_data_map.clear();
     thread_data_ptr p;
     this->session_thread_data_map[boost::this_thread::get_id()] = p;
@@ -1017,8 +1003,8 @@ void handle_client_recv_test(){
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
 
-    cout << "[60]------------------------------------------" << endl;
-    // unit_test[60] endpoint対応のrecive_dataなし
+    cout << "[63]------------------------------------------" << endl;
+    // unit_test[63] endpoint対応のrecive_dataなし
     // requestを設定する
     psession_thread_data->recive_data_map.clear();
     psession_thread_data->recive_data_map[endpoint_not_used] = recive_data_tmp;
@@ -1034,8 +1020,8 @@ void handle_client_recv_test(){
                 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
+    cout << "[64]------------------------------------------" << endl;
+    // unit_test[64] recive_data.recive_buffer=Null
     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;
@@ -1046,8 +1032,8 @@ void handle_client_recv_test(){
     ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[62]------------------------------------------" << endl;
-    // unit_test[62] recive_data.recive_buffer1=Null
+    cout << "[65]------------------------------------------" << endl;
+    // unit_test[65] recive_data.recive_buffer1=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 20;
     delete[] recive_data_global.recive_buffer1;
@@ -1063,8 +1049,8 @@ void handle_client_recv_test(){
     ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[63]------------------------------------------" << endl;
-    // unit_test[63] recive_data.recive_buffer2=Null
+    cout << "[66]------------------------------------------" << endl;
+    // unit_test[66] recive_data.recive_buffer2=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 20;
     delete[] recive_data_global.recive_buffer2;
@@ -1079,8 +1065,8 @@ void handle_client_recv_test(){
     ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[64]------------------------------------------" << endl;
-    // unit_test[64] new失敗の場合
+    cout << "[67]------------------------------------------" << endl;
+    // unit_test[67] new失敗の場合
     recive_data_global.recive_buffer_max_size = 0;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer2;
@@ -1099,8 +1085,8 @@ void handle_client_recv_test(){
     this->getloglevel = &stb_getloglevel;
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[65]------------------------------------------" << endl;
-    // unit_test[65] 終了フラグがONの場合、遷移先ステータスをチェックする
+    cout << "[68]------------------------------------------" << endl;
+    // unit_test[68] 終了フラグがONの場合、遷移先ステータスをチェックする
     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;
@@ -1116,8 +1102,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
     psession_thread_data->end_flag = END_FLAG_OFF;
 
-    cout << "[66]------------------------------------------" << endl;
-    // unit_test[66] リクエストサイズが0である
+    cout << "[69]------------------------------------------" << endl;
+    // unit_test[69] リクエストサイズが0である
     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;
@@ -1130,8 +1116,8 @@ void handle_client_recv_test(){
     ret = handle_client_recv(boost::this_thread::get_id(), request, 0);
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[67]------------------------------------------" << endl;
-    // unit_test[67] リクエストサイズがUINT_MAXである リクエスト実際にサイズがMAX_BUFFER_SIZEである
+    cout << "[70]------------------------------------------" << endl;
+    // unit_test[70] リクエストサイズがUINT_MAXである リクエスト実際にサイズがMAX_BUFFER_SIZEである
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = MAX_BUFFER_SIZE;
     delete[] recive_data_global.recive_buffer1;
@@ -1145,8 +1131,8 @@ void handle_client_recv_test(){
     ret = handle_client_recv(boost::this_thread::get_id(), request, UINT_MAX);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[68]------------------------------------------" << endl;
-    // unit_test[68] リクエストサイズがMAX_BUFFER_SIZEである リクエスト実際にサイズがMAX_BUFFER_SIZEである
+    cout << "[71]------------------------------------------" << endl;
+    // unit_test[71] リクエストサイズがMAX_BUFFER_SIZEである リクエスト実際にサイズがMAX_BUFFER_SIZEである
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = MAX_BUFFER_SIZE;
     delete[] recive_data_global.recive_buffer1;
@@ -1197,59 +1183,59 @@ void handle_client_recv_test(){
     send_status* send_status_NG[27][3]
     = {
         // unit_test 入力の送信状態リストは下記の通り:(異常系)
-        // unit_test[69] 送信状態リストの要素の送信状態が1:送信待の場合
+        // unit_test[72] 送信状態リストの要素の送信状態が1:送信待の場合
         {&status_OK,NULL,NULL},
-        // unit_test[70] 送信状態リストの要素の送信状態が1:送信済 2:送信待の場合
+        // unit_test[73] 送信状態リストの要素の送信状態が1:送信済 2:送信待の場合
         {&status_END,&status_OK,NULL},
-        // unit_test[71] 送信状態リストの要素の送信状態が1:送信継続 2:送信継続の場合
+        // unit_test[74] 送信状態リストの要素の送信状態が1:送信継続 2:送信継続の場合
         {&status_CONTINUE,&status_CONTINUE,NULL},
-        // unit_test[72] 送信状態リストの要素の送信状態が1:送信継続 2:送信不可の場合
+        // unit_test[75] 送信状態リストの要素の送信状態が1:送信継続 2:送信不可の場合
         {&status_CONTINUE,&status_NG,NULL},
-        // unit_test[73] 送信状態リストの要素の送信状態が1:送信継続 2:送信済の場合
+        // unit_test[76] 送信状態リストの要素の送信状態が1:送信継続 2:送信済の場合
         {&status_CONTINUE,&status_END,NULL},
-        // unit_test[74] 送信状態リストの要素の送信状態が1:送信継続 2:送信待の場合
+        // unit_test[77] 送信状態リストの要素の送信状態が1:送信継続 2:送信待の場合
         {&status_CONTINUE,&status_OK,NULL},
-        // unit_test[75] 送信状態リストの要素の送信状態が1:送信不可 2:送信継続の場合
+        // unit_test[78] 送信状態リストの要素の送信状態が1:送信不可 2:送信継続の場合
         {&status_NG,&status_CONTINUE,NULL},
-        // unit_test[76] 送信状態リストの要素の送信状態が1:送信不可 2:送信不可の場合
+        // unit_test[79] 送信状態リストの要素の送信状態が1:送信不可 2:送信不可の場合
         {&status_NG,&status_NG,NULL},
-        // unit_test[77] 送信状態リストの要素の送信状態が1:送信不可 2:送信済の場合
+        // unit_test[80] 送信状態リストの要素の送信状態が1:送信不可 2:送信済の場合
         {&status_NG,&status_END,NULL},
-        // unit_test[78] 送信状態リストの要素の送信状態が1:送信不可 2:送信待の場合
+        // unit_test[81] 送信状態リストの要素の送信状態が1:送信不可 2:送信待の場合
         {&status_NG,&status_OK,NULL},
-        // unit_test[79] 送信状態リストの要素の送信状態が1:送信待 2:送信継続の場合
+        // unit_test[82] 送信状態リストの要素の送信状態が1:送信待 2:送信継続の場合
         {&status_OK,&status_CONTINUE,NULL},
-        // unit_test[80] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
+        // unit_test[83] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
         {&status_OK,&status_NG,NULL},
-        // unit_test[81] 送信状態リストの要素の送信状態が1:送信待 2:送信済の場合
+        // unit_test[84] 送信状態リストの要素の送信状態が1:送信待 2:送信済の場合
         {&status_OK,&status_END,NULL},
-        // unit_test[82] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
+        // unit_test[85] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
         {&status_OK,&status_OK,NULL},
-        // unit_test[83] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信継続の場合
+        // unit_test[86] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信継続の場合
         {&status_END,&status_CONTINUE,&status_CONTINUE},
-        // unit_test[84] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信不可の場合
+        // unit_test[87] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信不可の場合
         {&status_END,&status_CONTINUE,&status_NG},
-        // unit_test[85] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信済の場合
+        // unit_test[88] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信済の場合
         {&status_END,&status_CONTINUE,&status_END},
-        // unit_test[86] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信待の場合
+        // unit_test[89] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信待の場合
         {&status_END,&status_CONTINUE,&status_OK},
-        // unit_test[87] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信継続の場合
+        // unit_test[90] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信継続の場合
         {&status_END,&status_NG,&status_CONTINUE},
-        // unit_test[88] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信不可の場合
+        // unit_test[91] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信不可の場合
         {&status_END,&status_NG,&status_NG},
-        // unit_test[89] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信済の場合
+        // unit_test[92] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信済の場合
         {&status_END,&status_NG,&status_END},
-        // unit_test[90] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信待の場合
+        // unit_test[93] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信待の場合
         {&status_END,&status_NG,&status_OK},
-        // unit_test[91] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信待の場合
+        // unit_test[94] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信待の場合
         {&status_END,&status_END,&status_OK},
-        // unit_test[92] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信継続の場合
+        // unit_test[95] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信継続の場合
         {&status_END,&status_OK,&status_CONTINUE},
-        // unit_test[93] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信不可の場合
+        // unit_test[96] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信不可の場合
         {&status_END,&status_OK,&status_NG},
-        // unit_test[94] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信済の場合
+        // unit_test[97] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信済の場合
         {&status_END,&status_OK,&status_END},
-        // unit_test[95] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信待の場合
+        // unit_test[98] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信待の場合
         {&status_END,&status_OK,&status_OK},
     };
 
@@ -1280,12 +1266,12 @@ void handle_client_recv_test(){
         }
 
         ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
-        std::cout << "[" << 69 + i << "]------------------------------------------" << std::endl;
+        std::cout << "[" << 72 + i << "]------------------------------------------" << std::endl;
         BOOST_CHECK_EQUAL(ret, FINALIZE);
     }
 
-    cout << "[96]------------------------------------------" << endl;
-    // unit_test[96] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信継続の場合
+    cout << "[99]------------------------------------------" << endl;
+    // unit_test[99] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -1333,8 +1319,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 39u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 11u);
 
-    cout << "[97]------------------------------------------" << endl;
-    // unit_test[97] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信不可の場合
+    cout << "[100]------------------------------------------" << endl;
+    // unit_test[100] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     recive_data_global.send_status_list.clear();
@@ -1373,8 +1359,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[98]------------------------------------------" << endl;
-    // unit_test[98] 送信状態リストの要素の送信状態が1:送信済 2:送信不可の場合
+    cout << "[101]------------------------------------------" << endl;
+    // unit_test[101] 送信状態リストの要素の送信状態が1:送信済 2:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -1412,8 +1398,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[99]------------------------------------------" << endl;
-    // unit_test[99] 送信状態リストの要素の送信状態が1:送信済 2:送信継続の場合
+    cout << "[102]------------------------------------------" << endl;
+    // unit_test[102] 送信状態リストの要素の送信状態が1:送信済 2:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -1455,8 +1441,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 39u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 11u);
 
-    cout << "[100]------------------------------------------" << endl;
-    // unit_test[100] 送信状態リストの要素の送信状態が1:送信済 2:送信済の場合
+    cout << "[103]------------------------------------------" << endl;
+    // unit_test[103] 送信状態リストの要素の送信状態が1:送信済 2:送信済の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -1491,8 +1477,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[101]------------------------------------------" << endl;
-    // unit_test[101] 送信状態リストの要素の送信状態が1:送信不可の場合
+    cout << "[104]------------------------------------------" << endl;
+    // unit_test[104] 送信状態リストの要素の送信状態が1:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -1523,8 +1509,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[102]------------------------------------------" << endl;
-    // unit_test[102] 送信状態リストの要素の送信状態が1:送信継続の場合
+    cout << "[105]------------------------------------------" << endl;
+    // unit_test[105] 送信状態リストの要素の送信状態が1:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 12;
     delete[] recive_data_global.recive_buffer1;
@@ -1566,8 +1552,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 30u);
 
-    cout << "[103]------------------------------------------" << endl;
-    // unit_test[103] 送信状態リストの要素の送信状態が1:送信済の場合
+    cout << "[106]------------------------------------------" << endl;
+    // unit_test[106] 送信状態リストの要素の送信状態が1:送信済の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -1596,8 +1582,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[104]------------------------------------------" << endl;
-    // unit_test[104] 送信状態リストの要素数が0である場合
+    cout << "[107]------------------------------------------" << endl;
+    // unit_test[107] 送信状態リストの要素数が0である場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -1621,10 +1607,10 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
     // unit_test_part2 begin:
-    cout << "[105]------------------------------------------" << endl;
-    // unit_test[105] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[105]  ●データバッファMAXサイズ < 未送信データサイズ(0) + リクエストデータサイズ。
-    // unit_test[105]  ●メモリの内容をチェックする
+    cout << "[108]------------------------------------------" << endl;
+    // unit_test[108] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[108]  ●データバッファMAXサイズ < 未送信データサイズ(0) + リクエストデータサイズ。
+    // unit_test[108]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 80;
     delete[] recive_data_global.recive_buffer1;
@@ -1657,10 +1643,10 @@ void handle_client_recv_test(){
     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);
 
-    cout << "[106]------------------------------------------" << endl;
-    // unit_test[106] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[106]  ●データバッファMAXサイズ < 未送信データサイズ(20) + リクエストデータサイズ。
-    // unit_test[106]  ●メモリの内容をチェックする
+    cout << "[109]------------------------------------------" << endl;
+    // unit_test[109] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[109]  ●データバッファMAXサイズ < 未送信データサイズ(20) + リクエストデータサイズ。
+    // unit_test[109]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -1706,10 +1692,10 @@ void handle_client_recv_test(){
     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, MAX_BUFFER_SIZE + 20);
 
-    cout << "[107]------------------------------------------" << endl;
-    // unit_test[107] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[107]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(0) + リクエストデータサイズ。
-    // unit_test[107]  ●メモリの内容をチェックする
+    cout << "[110]------------------------------------------" << endl;
+    // unit_test[110] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[110]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(0) + リクエストデータサイズ。
+    // unit_test[110]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -1740,10 +1726,10 @@ void handle_client_recv_test(){
     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, 72u);
 
-    cout << "[108]------------------------------------------" << endl;
-    // unit_test[108] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[108]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(0) + リクエストデータサイズ。
-    // unit_test[108]  ●メモリの内容をチェックする
+    cout << "[111]------------------------------------------" << endl;
+    // unit_test[111] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[111]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(0) + リクエストデータサイズ。
+    // unit_test[111]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -1774,10 +1760,10 @@ void handle_client_recv_test(){
     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, 90u);
 
-    cout << "[109]------------------------------------------" << endl;
-    // unit_test[109] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[109]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(20) + リクエストデータサイズ。
-    // unit_test[109]  ●メモリの内容をチェックする
+    cout << "[112]------------------------------------------" << endl;
+    // unit_test[112] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[112]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(20) + リクエストデータサイズ。
+    // unit_test[112]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -1817,10 +1803,10 @@ void handle_client_recv_test(){
     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, 72u);
 
-    cout << "[110]------------------------------------------" << endl;
-    // unit_test[110] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[110]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(20) + リクエストデータサイズ。
-    // unit_test[110]  ●メモリの内容をチェックする
+    cout << "[113]------------------------------------------" << endl;
+    // unit_test[113] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[113]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(20) + リクエストデータサイズ。
+    // unit_test[113]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -1860,10 +1846,10 @@ void handle_client_recv_test(){
     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, 90u);
 
-    cout << "[111]------------------------------------------" << endl;
-    // unit_test[111] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[111]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(0) + リクエストデータサイズ。
-    // unit_test[111]  ●メモリの内容をチェックする
+    cout << "[114]------------------------------------------" << endl;
+    // unit_test[114] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[114]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(0) + リクエストデータサイズ。
+    // unit_test[114]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -1891,10 +1877,10 @@ void handle_client_recv_test(){
     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, 72u);
 
-    cout << "[112]------------------------------------------" << endl;
-    // unit_test[112] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[112]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(0) + リクエストデータサイズ。
-    // unit_test[112]  ●メモリの内容をチェックする
+    cout << "[115]------------------------------------------" << endl;
+    // unit_test[115] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[115]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(0) + リクエストデータサイズ。
+    // unit_test[115]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -1923,10 +1909,10 @@ void handle_client_recv_test(){
     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, 90u);
 
-    cout << "[113]------------------------------------------" << endl;
-    // unit_test[113] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[113]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(20) + リクエストデータサイズ。
-    // unit_test[113]  ●メモリの内容をチェックする
+    cout << "[116]------------------------------------------" << endl;
+    // unit_test[116] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[116]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(20) + リクエストデータサイズ。
+    // unit_test[116]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -1966,10 +1952,10 @@ void handle_client_recv_test(){
     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, 72u);
 
-    cout << "[114]------------------------------------------" << endl;
-    // unit_test[114] データバッファ残サイズ < リクエストデータサイズ
-    // unit_test[114]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(20) + リクエストデータサイズ。
-    // unit_test[114]  ●メモリの内容をチェックする
+    cout << "[117]------------------------------------------" << endl;
+    // unit_test[117] データバッファ残サイズ < リクエストデータサイズ
+    // unit_test[117]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(20) + リクエストデータサイズ。
+    // unit_test[117]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -2009,9 +1995,9 @@ void handle_client_recv_test(){
     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, 90u);
 
-    cout << "[115]------------------------------------------" << endl;
-    // unit_test[115] データバッファ残サイズ > リクエストデータサイズ
-    // unit_test[115]  ●メモリの内容をチェックする
+    cout << "[118]------------------------------------------" << endl;
+    // unit_test[118] データバッファ残サイズ > リクエストデータサイズ
+    // unit_test[118]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -2039,9 +2025,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 62u);
 
-    cout << "[116]------------------------------------------" << endl;
-    // unit_test[116] データバッファ残サイズ = リクエストデータサイズ
-    // unit_test[116]  ●メモリの内容をチェックする
+    cout << "[119]------------------------------------------" << endl;
+    // unit_test[119] データバッファ残サイズ = リクエストデータサイズ
+    // unit_test[119]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2070,9 +2056,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 70u);
 
     // unit_test_part3 begin:
-    cout << "[117]------------------------------------------" << endl;
-    // unit_test[117] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[117]  ●送信データ残サイズ < リクエストデータ残サイズ
+    cout << "[120]------------------------------------------" << endl;
+    // unit_test[120] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[120]  ●送信データ残サイズ < リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -2111,9 +2097,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 30u);
 
-    cout << "[118]------------------------------------------" << endl;
-    // unit_test[118] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[118]  ●送信データ残サイズ = リクエストデータ残サイズ
+    cout << "[121]------------------------------------------" << endl;
+    // unit_test[121] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[121]  ●送信データ残サイズ = リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -2145,9 +2131,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[119]------------------------------------------" << endl;
-    // unit_test[119] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[119]  ●送信データ残サイズ > リクエストデータ残サイズ
+    cout << "[122]------------------------------------------" << endl;
+    // unit_test[122] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[122]  ●送信データ残サイズ > リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2176,9 +2162,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[120]------------------------------------------" << endl;
-    // unit_test[120] 送信状態が送信不可の場合
-    // unit_test[120]  ●HTTPメソッドの妥当性をチェックして、チェック不可の場合
+    cout << "[123]------------------------------------------" << endl;
+    // unit_test[123] 送信状態が送信不可の場合
+    // unit_test[123]  ●HTTPメソッドの妥当性をチェックして、チェック不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -2207,9 +2193,9 @@ void handle_client_recv_test(){
     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, 11u);
 
-    cout << "[121]------------------------------------------" << endl;
-    // unit_test[121] 送信状態が送信不可の場合
-    // unit_test[121]  ●HTTPメソッドの妥当性をチェックして、チェック異常の場合
+    cout << "[124]------------------------------------------" << endl;
+    // unit_test[124] 送信状態が送信不可の場合
+    // unit_test[124]  ●HTTPメソッドの妥当性をチェックして、チェック異常の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2234,9 +2220,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[122]------------------------------------------" << endl;
-    // unit_test[122] 送信状態が送信不可の場合
-    // unit_test[122]  ●HTTPバージョンの妥当性をチェックして、異常の場合
+    cout << "[125]------------------------------------------" << endl;
+    // unit_test[125] 送信状態が送信不可の場合
+    // unit_test[125]  ●HTTPバージョンの妥当性をチェックして、異常の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -2266,9 +2252,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[123]------------------------------------------" << endl;
-    // unit_test[123] 送信状態が送信不可の場合
-    // unit_test[123]  ●HTTPバージョンの妥当性をチェックして、チェック不可の場合
+    cout << "[126]------------------------------------------" << endl;
+    // unit_test[126] 送信状態が送信不可の場合
+    // unit_test[126]  ●HTTPバージョンの妥当性をチェックして、チェック不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -2297,9 +2283,9 @@ void handle_client_recv_test(){
     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, 11u);
 
-    cout << "[124]------------------------------------------" << endl;
-    // unit_test[124] 送信状態が送信不可の場合
-    // unit_test[124]  ●HTTPヘッダの妥当性をチェックして、不可の場合
+    cout << "[127]------------------------------------------" << endl;
+    // unit_test[127] 送信状態が送信不可の場合
+    // unit_test[127]  ●HTTPヘッダの妥当性をチェックして、不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -2327,9 +2313,9 @@ void handle_client_recv_test(){
     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, 51u);
 
-    cout << "[125]------------------------------------------" << endl;
-    // unit_test[125] 送信状態が送信不可の場合
-    // unit_test[125]  ●HTTPヘッダ(ContentLength)があり
+    cout << "[128]------------------------------------------" << endl;
+    // unit_test[128] 送信状態が送信不可の場合
+    // unit_test[128]  ●HTTPヘッダ(ContentLength)があり
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -2358,9 +2344,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 3u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[126]------------------------------------------" << endl;
-    // unit_test[126] 送信状態が送信不可の場合
-    // unit_test[126]  ●HTTPヘッダ(ContentLength)なし
+    cout << "[129]------------------------------------------" << endl;
+    // unit_test[129] 送信状態が送信不可の場合
+    // unit_test[129]  ●HTTPヘッダ(ContentLength)なし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -2389,9 +2375,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[127]------------------------------------------" << endl;
-    // unit_test[127] 送信状態が送信不可の場合
-    // unit_test[127]  ●送信データ残サイズ > 未送信データサイズ + リクエストデータ残サイズ
+    cout << "[130]------------------------------------------" << endl;
+    // unit_test[130] 送信状態が送信不可の場合
+    // unit_test[130]  ●送信データ残サイズ > 未送信データサイズ + リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -2430,9 +2416,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 56u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 4u);
 
-    cout << "[128]------------------------------------------" << endl;
-    // unit_test[128] 送信状態が送信不可の場合
-    // unit_test[128]  ●送信データ残サイズ < 未送信データサイズ + リクエストデータ残サイズ
+    cout << "[131]------------------------------------------" << endl;
+    // unit_test[131] 送信状態が送信不可の場合
+    // unit_test[131]  ●送信データ残サイズ < 未送信データサイズ + リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -2465,9 +2451,9 @@ void handle_client_recv_test(){
     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);
 
-    cout << "[129]------------------------------------------" << endl;
-    // unit_test[129] 送信状態が送信不可の場合
-    // unit_test[129]  ●送信データ残サイズ = 未送信データサイズ + リクエストデータ残サイズ
+    cout << "[132]------------------------------------------" << endl;
+    // unit_test[132] 送信状態が送信不可の場合
+    // unit_test[132]  ●送信データ残サイズ = 未送信データサイズ + リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -2499,8 +2485,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 70u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
 
-    cout << "[130]------------------------------------------" << endl;
-    // unit_test[130] リクエストデータ残サイズ < 0
+    cout << "[133]------------------------------------------" << endl;
+    // unit_test[133] リクエストデータ残サイズ < 0
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -2539,8 +2525,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 56u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 4u);
 
-    cout << "[131]------------------------------------------" << endl;
-    // unit_test[131] リクエストデータ残サイズ = 0
+    cout << "[134]------------------------------------------" << endl;
+    // unit_test[134] リクエストデータ残サイズ = 0
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -2573,9 +2559,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
 
     // unit_test_part4 begin:
-    cout << "[132]------------------------------------------" << endl;
-    // unit_test[132] リクエストデータ残サイズ > 0
-    // unit_test[132]  ●HTTPメソッドの妥当性をチェックして、チェック不可の場合
+    cout << "[135]------------------------------------------" << endl;
+    // unit_test[135] リクエストデータ残サイズ > 0
+    // unit_test[135]  ●HTTPメソッドの妥当性をチェックして、チェック不可の場合
     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;
@@ -2608,9 +2594,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 48u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 2u);
 
-    cout << "[133]------------------------------------------" << endl;
-    // unit_test[133] リクエストデータ残サイズ > 0
-    // unit_test[133]  ●HTTPメソッドの妥当性をチェックして、異常の場合
+    cout << "[136]------------------------------------------" << endl;
+    // unit_test[136] リクエストデータ残サイズ > 0
+    // unit_test[136]  ●HTTPメソッドの妥当性をチェックして、異常の場合
     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;
@@ -2632,9 +2618,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
 
-    cout << "[134]------------------------------------------" << endl;
-    // unit_test[134] リクエストデータ残サイズ > 0
-    // unit_test[134]  ●HTTPバージョンの妥当性をチェックして、不可の場合
+    cout << "[137]------------------------------------------" << endl;
+    // unit_test[137] リクエストデータ残サイズ > 0
+    // unit_test[137]  ●HTTPバージョンの妥当性をチェックして、不可の場合
     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;
@@ -2667,9 +2653,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 48u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 2u);
 
-    cout << "[135]------------------------------------------" << endl;
-    // unit_test[135] リクエストデータ残サイズ > 0
-    // unit_test[135]  ●HTTPバージョンの妥当性をチェックして、異常の場合
+    cout << "[138]------------------------------------------" << endl;
+    // unit_test[138] リクエストデータ残サイズ > 0
+    // unit_test[138]  ●HTTPバージョンの妥当性をチェックして、異常の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2687,9 +2673,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
 
-    cout << "[136]------------------------------------------" << endl;
-    // unit_test[136] リクエストデータ残サイズ > 0
-    // unit_test[136]  ●HTTPヘッダの妥当性をチェックして、不可の場合
+    cout << "[139]------------------------------------------" << endl;
+    // unit_test[139] リクエストデータ残サイズ > 0
+    // unit_test[139]  ●HTTPヘッダの妥当性をチェックして、不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2707,9 +2693,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
 
-    cout << "[137]------------------------------------------" << endl;
-    // unit_test[137] リクエストデータ残サイズ > 0
-    // unit_test[137]  ●HTTPヘッダ(ContentLength)があり
+    cout << "[140]------------------------------------------" << endl;
+    // unit_test[140] リクエストデータ残サイズ > 0
+    // unit_test[140]  ●HTTPヘッダ(ContentLength)があり
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2727,9 +2713,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 4u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[138]------------------------------------------" << endl;
-    // unit_test[138] リクエストデータ残サイズ > 0
-    // unit_test[138]  ●HTTPヘッダ(ContentLength)なし
+    cout << "[141]------------------------------------------" << endl;
+    // unit_test[141] リクエストデータ残サイズ > 0
+    // unit_test[141]  ●HTTPヘッダ(ContentLength)なし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2747,9 +2733,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[139]------------------------------------------" << endl;
-    // unit_test[139] リクエストデータ残サイズ > 0
-    // unit_test[139]  ●送信データ残サイズ = リクエストデータ残サイズ
+    cout << "[142]------------------------------------------" << endl;
+    // unit_test[142] リクエストデータ残サイズ > 0
+    // unit_test[142]  ●送信データ残サイズ = リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2767,9 +2753,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[140]------------------------------------------" << endl;
-    // unit_test[140] リクエストデータ残サイズ > 0
-    // unit_test[140]  ●送信データ残サイズ < リクエストデータ残サイズ
+    cout << "[143]------------------------------------------" << endl;
+    // unit_test[143] リクエストデータ残サイズ > 0
+    // unit_test[143]  ●送信データ残サイズ < リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2792,9 +2778,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 12u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
 
-    cout << "[141]------------------------------------------" << endl;
-    // unit_test[141] リクエストデータ残サイズ > 0
-    // unit_test[141]  ●送信データ残サイズ > リクエストデータ残サイズ
+    cout << "[144]------------------------------------------" << endl;
+    // unit_test[144] リクエストデータ残サイズ > 0
+    // unit_test[144]  ●送信データ残サイズ > リクエストデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2813,9 +2799,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, REQUEST_BUFFER_SIZE);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[142]------------------------------------------" << endl;
-    // unit_test[142] リクエストデータ残サイズ > 0
-    // unit_test[142]  ●出力の送信状態リスト: 1:送信待 2:送信待
+    cout << "[145]------------------------------------------" << endl;
+    // unit_test[145] リクエストデータ残サイズ > 0
+    // unit_test[145]  ●出力の送信状態リスト: 1:送信待 2:送信待
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 78;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2850,9 +2836,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_possible_size, 31u);
     BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 31u);
 
-    cout << "[143]------------------------------------------" << endl;
-    // unit_test[143] リクエストデータ残サイズ > 0
-    // unit_test[143]  ●出力の送信状態リスト: 1:送信待 2:送信不可
+    cout << "[146]------------------------------------------" << endl;
+    // unit_test[146] リクエストデータ残サイズ > 0
+    // unit_test[146]  ●出力の送信状態リスト: 1:送信待 2:送信不可
     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;
@@ -2885,9 +2871,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 2u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 48u);
 
-    cout << "[144]------------------------------------------" << endl;
-    // unit_test[144] リクエストデータ残サイズ > 0
-    // unit_test[144]  ●出力の送信状態リスト: 1:送信待
+    cout << "[147]------------------------------------------" << endl;
+    // unit_test[147] リクエストデータ残サイズ > 0
+    // unit_test[147]  ●出力の送信状態リスト: 1:送信待
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -2905,9 +2891,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 4u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[145]------------------------------------------" << endl;
-    // unit_test[145] リクエストデータ残サイズ > 0
-    // unit_test[145]  ●出力の送信状態リスト: 1:送信不可
+    cout << "[148]------------------------------------------" << endl;
+    // unit_test[148] リクエストデータ残サイズ > 0
+    // unit_test[148]  ●出力の送信状態リスト: 1:送信不可
     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;
@@ -2929,9 +2915,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
 
-    cout << "[146]------------------------------------------" << endl;
-    // unit_test[146] 送信可能データがあり
-    // unit_test[146]  ●SORRY状態の場合
+    cout << "[149]------------------------------------------" << endl;
+    // unit_test[149] 送信可能データがあり
+    // unit_test[149]  ●SORRY状態の場合
     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;
@@ -2950,9 +2936,9 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT);
     psession_thread_data->sorry_flag = SORRY_FLAG_OFF;
 
-    cout << "[147]------------------------------------------" << endl;
-    // unit_test[147] 送信可能データがあり
-    // unit_test[147]  ●SORRY状態以外の場合
+    cout << "[150]------------------------------------------" << endl;
+    // unit_test[150] 送信可能データがあり
+    // unit_test[150]  ●SORRY状態以外の場合
     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;
@@ -2971,8 +2957,8 @@ void handle_client_recv_test(){
     BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
     psession_thread_data->sorry_flag = SORRY_FLAG_OFF;
 
-    cout << "[148]------------------------------------------" << endl;
-    // unit_test[148] 送信可能データなし
+    cout << "[151]------------------------------------------" << endl;
+    // unit_test[151] 送信可能データなし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -3019,9 +3005,9 @@ void handle_client_recv_test_thread(){
                 psession_thread_data->recive_data_map.find(endpoint_local);
     recive_data& recive_data_global = it->second;
 
-    cout << "[142]------------------------------------------\n";
-    // unit_test[142] リクエストデータ残サイズ > 0
-    // unit_test[142]  ●出力の送信状態リスト: 1:送信待 2:送信不可
+    cout << "[152]------------------------------------------\n";
+    // unit_test[152] リクエストデータ残サイズ > 0
+    // unit_test[152]  ●出力の送信状態リスト: 1:送信待 2:送信不可
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 78;
     recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
@@ -3044,27 +3030,30 @@ void handle_client_recv_test_thread(){
 
     ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
 
-    BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
-    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()->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, 31u);
-    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_NG);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->edit_division, EDIT_DIVISION_NO_EDIT);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_rest_size, 0u);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->unsend_size, 30u);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 31u);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
+        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()->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, 31u);
+        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_NG);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->edit_division, EDIT_DIVISION_NO_EDIT);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_rest_size, 0u);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->unsend_size, 30u);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 31u);
+    }
 }
 
 //handle_realserver_select(tcp) 馮家純
 void handle_realserver_select_tcp_test(){
     EVENT_TAG ret;
 
-    cout << "[149]------------------------------------------" << endl;
-    //unit_test[149] 異常系 functionがなし場合遷移先ステータスにFINALIZEを設定する
+    cout << "[153]------------------------------------------" << endl;
+    //unit_test[153] 異常系 functionがなし場合遷移先ステータスにFINALIZEを設定する
     //register function
     tcp_schedule_func_type func_err1 = NULL;
     this->register_schedule(func_err1);
@@ -3075,8 +3064,8 @@ void handle_realserver_select_tcp_test(){
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[150]------------------------------------------" << endl;
-    //unit_test[150] 異常系 session_thread_data_map中にThreadID対応のデータがない
+    cout << "[154]------------------------------------------" << endl;
+    //unit_test[154] 異常系 session_thread_data_map中にThreadID対応のデータがない
     this->session_thread_data_map.clear();
     //register function
     tcp_schedule_func_type func_cerr2 = &schedule_tcp_determinate;
@@ -3088,16 +3077,16 @@ void handle_realserver_select_tcp_test(){
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[151]------------------------------------------" << endl;
-    //unit_test[151] 異常系 session_thread_data_map中にThreadIDなし場合のテスト
+    cout << "[155]------------------------------------------" << endl;
+    //unit_test[155] 異常系 session_thread_data_map中にThreadIDなし場合のテスト
     this->session_thread_data_map.clear();
     ret = this->handle_realserver_select(boost::this_thread::get_id(), ep_err2);
 
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[152]------------------------------------------" << endl;
-    //unit_test[152] endpoint = 決定
+    cout << "[156]------------------------------------------" << endl;
+    //unit_test[156] endpoint = 決定
     boost::thread down_thread1(down_thread_func);
     thread_data_ptr dataup1(new session_thread_data_sessionless);
     thread_data_ptr datadown1(new session_thread_data_sessionless);
@@ -3121,8 +3110,8 @@ void handle_realserver_select_tcp_test(){
     //遷移先ステータスを設定する status = CLIENT_RECV
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[153]------------------------------------------" << endl;
-    //unit_test[153] endpoint = 未決定
+    cout << "[157]------------------------------------------" << endl;
+    //unit_test[157] endpoint = 未決定
     this->session_thread_data_map.clear();
 
     thread_data_ptr dataup2(new session_thread_data_sessionless);
@@ -3147,8 +3136,8 @@ void handle_realserver_select_tcp_test(){
 //handle_realserver_select(tcp)_thread 馮家純
 void handle_realserver_select_tcp_test_thread(){
        EVENT_TAG ret;
-       cout << "[152]------------------------------------------\n";
-       //unit_test[152] endpoint = 決定
+       cout << "[158]------------------------------------------\n";
+       //unit_test[158] endpoint = 決定
        boost::thread down_thread(down_thread_func);
     thread_data_ptr dataup(new session_thread_data_sessionless);
     thread_data_ptr datadown(new session_thread_data_sessionless);
@@ -3164,25 +3153,23 @@ void handle_realserver_select_tcp_test_thread(){
                this->session_thread_data_map[down_thread.get_id()] = datadown;
        }
 
-       //register function
-       tcp_schedule_func_type func = &schedule_tcp_determinate;
-
-       this->register_schedule(func);
-
        boost::asio::ip::tcp::endpoint ep;
        ret = this->handle_realserver_select(boost::this_thread::get_id(), ep);
 
-       //endpoint = 決定
-       BOOST_CHECK_EQUAL(ep, string_to_endpoint <boost::asio::ip::tcp> ("10.10.10.10:8888"));
-       //遷移先ステータスを設定する status = CLIENT_RECV
-       BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        //endpoint = 決定
+        BOOST_CHECK_EQUAL(ep, string_to_endpoint <boost::asio::ip::tcp> ("10.10.10.10:8888"));
+        //遷移先ステータスを設定する status = CLIENT_RECV
+        BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
+    }
 }
 
 //handle_realserver_select(udp) 馮家純
 void handle_realserver_select_udp_test(){
 
-    cout << "[154]------------------------------------------" << endl;
-    //unit_test[154] handle_realserver_select_udp_test 戻り値が「STOP」に設定する。
+    cout << "[159]------------------------------------------" << endl;
+    //unit_test[159] handle_realserver_select_udp_test 戻り値が「STOP」に設定する。
     boost::asio::ip::udp::endpoint ep;
     boost::array<char, MAX_BUFFER_SIZE> sbf;
     std::size_t d;
@@ -3220,14 +3207,14 @@ void handle_realserver_connect_test(){
     psession_thread_data->client_endpoint_tcp = endpoint_local;
     this->forwarded_for = 1;
 
-    cout << "[155]------------------------------------------" << endl;
-    // unit_test[155] boost::this_thread::get_id()対応のデータなし
+    cout << "[160]------------------------------------------" << endl;
+    // unit_test[160] boost::this_thread::get_id()対応のデータなし
     this->session_thread_data_map.clear();
     ret = handle_realserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[156]------------------------------------------" << endl;
-    // unit_test[156] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
+    cout << "[161]------------------------------------------" << endl;
+    // unit_test[161] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
     this->session_thread_data_map.clear();
     thread_data_ptr p;
     this->session_thread_data_map[boost::this_thread::get_id()] = p;
@@ -3237,8 +3224,8 @@ void handle_realserver_connect_test(){
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
 
-    cout << "[157]------------------------------------------" << endl;
-    // unit_test[157] endpoint対応のrecive_dataなし
+    cout << "[162]------------------------------------------" << endl;
+    // unit_test[162] endpoint対応のrecive_dataなし
     psession_thread_data->recive_data_map.clear();
     send_buffer_len = 0;
     memset(send_buffer.c_array(), 0, MAX_BUFFER_SIZE);
@@ -3251,8 +3238,8 @@ void handle_realserver_connect_test(){
                 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
+    cout << "[163]------------------------------------------" << endl;
+    // unit_test[163] recive_data.recive_buffer=Null
     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;
@@ -3266,8 +3253,8 @@ void handle_realserver_connect_test(){
     ret = handle_realserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[159]------------------------------------------" << endl;
-    // unit_test[159] 送信状態リストが空の場合
+    cout << "[164]------------------------------------------" << endl;
+    // unit_test[164] 送信状態リストが空の場合
     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;
@@ -3280,8 +3267,8 @@ void handle_realserver_connect_test(){
     ret = handle_realserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[160]------------------------------------------" << endl;
-    // unit_test[160] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
+    cout << "[165]------------------------------------------" << endl;
+    // unit_test[165] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
     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;
@@ -3329,8 +3316,8 @@ void handle_realserver_connect_test(){
     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, 30u);
 
-    cout << "[161]------------------------------------------" << endl;
-    // unit_test[161] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
+    cout << "[166]------------------------------------------" << endl;
+    // unit_test[166] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
     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;
@@ -3378,8 +3365,8 @@ void handle_realserver_connect_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 34u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 30u);
 
-    cout << "[162]------------------------------------------" << endl;
-    // unit_test[162] 送信状態リストの要素の送信状態が1:送信待の場合
+    cout << "[167]------------------------------------------" << endl;
+    // unit_test[167] 送信状態リストの要素の送信状態が1:送信待の場合
     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;
@@ -3423,9 +3410,9 @@ void handle_realserver_connect_test(){
     const int not_exist_len = 42;
     const int forwarded_offset = 17;
 
-    cout << "[163]------------------------------------------" << endl;
-    // unit_test[163] 編集区分 = 編集あり、編集データリストが空の場合
-    // unit_test[163] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当あり。
+    cout << "[168]------------------------------------------" << endl;
+    // unit_test[168] 編集区分 = 編集あり、編集データリストが空の場合
+    // unit_test[168] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当あり。
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3469,9 +3456,9 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[164]------------------------------------------" << endl;
-    // unit_test[164] 編集区分 = 編集あり、編集データリストが空の場合
-    // unit_test[164] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当なし。
+    cout << "[169]------------------------------------------" << endl;
+    // unit_test[169] 編集区分 = 編集あり、編集データリストが空の場合
+    // unit_test[169] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当なし。
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3515,8 +3502,8 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[165]------------------------------------------" << endl;
-    // unit_test[165] 編集区分 = 編集あり、編集データリストが空でないの場合
+    cout << "[170]------------------------------------------" << endl;
+    // unit_test[170] 編集区分 = 編集あり、編集データリストが空でないの場合
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 32;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3567,10 +3554,10 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[166]------------------------------------------" << endl;
-    // unit_test[166] 編集データリストが空の場合
-    // unit_test[166] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[166] ●送信バッファ残サイズ > 送信可能データサイズ
+    cout << "[171]------------------------------------------" << endl;
+    // unit_test[171] 編集データリストが空の場合
+    // unit_test[171] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[171] ●送信バッファ残サイズ > 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 32;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3621,10 +3608,10 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[167]------------------------------------------" << endl;
-    // unit_test[167] 編集データリストが空の場合
-    // unit_test[167] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[167] ●送信バッファ残サイズ = 送信可能データサイズ
+    cout << "[172]------------------------------------------" << endl;
+    // unit_test[172] 編集データリストが空の場合
+    // unit_test[172] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[172] ●送信バッファ残サイズ = 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE - 12;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3668,10 +3655,10 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[168]------------------------------------------" << endl;
-    // unit_test[168] 編集データリストが空の場合
-    // unit_test[168] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[168] ●送信バッファ残サイズ < 送信可能データサイズ
+    cout << "[173]------------------------------------------" << endl;
+    // unit_test[173] 編集データリストが空の場合
+    // unit_test[173] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[173] ●送信バッファ残サイズ < 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3715,9 +3702,9 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[169]------------------------------------------" << endl;
-    // unit_test[169] 編集データリストが空の場合
-    // unit_test[169] ●送信バッファ残サイズ = 0
+    cout << "[174]------------------------------------------" << endl;
+    // unit_test[174] 編集データリストが空の場合
+    // unit_test[174] ●送信バッファ残サイズ = 0
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3759,9 +3746,9 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[170]------------------------------------------" << endl;
-    // unit_test[170] 編集データリストが空の場合
-    // unit_test[170] ●送信可能データサイズ = 0
+    cout << "[175]------------------------------------------" << endl;
+    // unit_test[175] 編集データリストが空の場合
+    // unit_test[175] ●送信可能データサイズ = 0
     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;
@@ -3798,10 +3785,10 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[171]------------------------------------------" << endl;
-    // unit_test[171] 編集データリストが空でない場合
-    // unit_test[171] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
-    // unit_test[171] ●送信バッファ残サイズ > 編集データサイズ
+    cout << "[176]------------------------------------------" << endl;
+    // unit_test[176] 編集データリストが空でない場合
+    // unit_test[176] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
+    // unit_test[176] ●送信バッファ残サイズ > 編集データサイズ
     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;
@@ -3843,10 +3830,10 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[172]------------------------------------------" << endl;
-    // unit_test[172] 編集データリストが空でない場合
-    // unit_test[172] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
-    // unit_test[172] ●送信バッファ残サイズ = 編集データサイズ
+    cout << "[177]------------------------------------------" << endl;
+    // unit_test[177] 編集データリストが空でない場合
+    // unit_test[177] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
+    // unit_test[177] ●送信バッファ残サイズ = 編集データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3888,10 +3875,10 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[173]------------------------------------------" << endl;
-    // unit_test[173] 編集データリストが空でない場合
-    // unit_test[173] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
-    // unit_test[173] ●送信バッファ残サイズ < 編集データサイズ
+    cout << "[178]------------------------------------------" << endl;
+    // unit_test[178] 編集データリストが空でない場合
+    // unit_test[178] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
+    // unit_test[178] ●送信バッファ残サイズ < 編集データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 29;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3939,10 +3926,10 @@ void handle_realserver_connect_test(){
             MAX_BUFFER_SIZE - 1u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
 
-    cout << "[174]------------------------------------------" << endl;
-    // unit_test[174] 編集データリストが空でない場合
-    // unit_test[174] ●送信バッファ残サイズ = 編集データ設定位置 - 送信済サイズ
-    // unit_test[174] ●送信バッファ残サイズ < 編集データサイズ
+    cout << "[179]------------------------------------------" << endl;
+    // unit_test[179] 編集データリストが空でない場合
+    // unit_test[179] ●送信バッファ残サイズ = 編集データ設定位置 - 送信済サイズ
+    // unit_test[179] ●送信バッファ残サイズ < 編集データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 30;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -3989,9 +3976,9 @@ void handle_realserver_connect_test(){
             MAX_BUFFER_SIZE);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
 
-    cout << "[175]------------------------------------------" << endl;
-    // unit_test[175] 編集データリストが空でない場合
-    // unit_test[175] ●送信バッファ残サイズ < 編集データ設定位置 - 送信済サイズ
+    cout << "[180]------------------------------------------" << endl;
+    // unit_test[180] 編集データリストが空でない場合
+    // unit_test[180] ●送信バッファ残サイズ < 編集データ設定位置 - 送信済サイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 32;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -4037,9 +4024,9 @@ void handle_realserver_connect_test(){
             MAX_BUFFER_SIZE + 2u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
 
-    cout << "[176]------------------------------------------" << endl;
-    // unit_test[176] 編集区分 = 編集なし
-    // unit_test[176] ●送信バッファサイズ > 送信可能データサイズ
+    cout << "[181]------------------------------------------" << endl;
+    // unit_test[181] 編集区分 = 編集なし
+    // unit_test[181] ●送信バッファサイズ > 送信可能データサイズ
     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;
@@ -4075,9 +4062,9 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[177]------------------------------------------" << endl;
-    // unit_test[177] 編集区分 = 編集なし
-    // unit_test[177] ●送信バッファサイズ = 送信可能データサイズ
+    cout << "[182]------------------------------------------" << endl;
+    // unit_test[182] 編集区分 = 編集なし
+    // unit_test[182] ●送信バッファサイズ = 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -4114,9 +4101,9 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[178]------------------------------------------" << endl;
-    // unit_test[178] 編集区分 = 編集なし
-    // unit_test[178] ●送信バッファサイズ < 送信可能データサイズ
+    cout << "[183]------------------------------------------" << endl;
+    // unit_test[183] 編集区分 = 編集なし
+    // unit_test[183] ●送信バッファサイズ < 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 1;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -4153,8 +4140,8 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[179]------------------------------------------" << endl;
-    // unit_test[179] forwarded_forを設定するの場合、編集区分が1である。
+    cout << "[184]------------------------------------------" << endl;
+    // unit_test[184] forwarded_forを設定するの場合、編集区分が1である。
     this->forwarded_for = 1;
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
@@ -4197,8 +4184,8 @@ void handle_realserver_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_NO_EDIT);
 
-    cout << "[180]------------------------------------------" << endl;
-    // unit_test[180] forwarded_forを設定しないの場合、編集区分が1である。
+    cout << "[185]------------------------------------------" << endl;
+    // unit_test[185] forwarded_forを設定しないの場合、編集区分が1である。
     this->forwarded_for = 0;
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
@@ -4268,10 +4255,10 @@ void handle_realserver_connect_test_thread(){
     const int exist_leave_len = 65465;
     const int forwarded_offset = 17;
 
-    cout << "[168]------------------------------------------\n";
-    // unit_test[168] 編集データリストが空の場合
-    // unit_test[168] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[168] ●送信バッファ残サイズ < 送信可能データサイズ
+    cout << "[186]------------------------------------------\n";
+    // unit_test[186] 編集データリストが空の場合
+    // unit_test[186] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[186] ●送信バッファ残サイズ < 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -4296,32 +4283,35 @@ void handle_realserver_connect_test_thread(){
 
     ret = handle_realserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
 
-    BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
-    BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
-    //送信バッファの内容をチェックする。
-    int cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer, forwarded_offset);
-    BOOST_CHECK_EQUAL(cmp_ret, 0);
-    cmp_ret = memcmp(send_buffer.c_array() + forwarded_offset, "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 40);
-    BOOST_CHECK_EQUAL(cmp_ret, 0);
-    cmp_ret = memcmp(send_buffer.c_array() + forwarded_offset + 40, recive_data_global.recive_buffer + forwarded_offset
-            + 28, MAX_BUFFER_SIZE - forwarded_offset - 40);
-    BOOST_CHECK_EQUAL(cmp_ret, 0);
-
-    BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
-    BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 0u);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, MAX_BUFFER_SIZE - 12u);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 12u);
-    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_NO_EDIT);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+        BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
+        //送信バッファの内容をチェックする。
+        int cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer, forwarded_offset);
+        BOOST_CHECK_EQUAL(cmp_ret, 0);
+        cmp_ret = memcmp(send_buffer.c_array() + forwarded_offset, "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 40);
+        BOOST_CHECK_EQUAL(cmp_ret, 0);
+        cmp_ret = memcmp(send_buffer.c_array() + forwarded_offset + 40, recive_data_global.recive_buffer + forwarded_offset
+                + 28, MAX_BUFFER_SIZE - forwarded_offset - 40);
+        BOOST_CHECK_EQUAL(cmp_ret, 0);
+
+        BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
+        BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 0u);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, MAX_BUFFER_SIZE - 12u);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 12u);
+        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_NO_EDIT);
+    }
 }
 
 //handle_realserver_connection_fail 馮家純
 void handle_realserver_connection_fail_test() {
     EVENT_TAG ret;
 
-    cout << "[181]------------------------------------------" << endl;
-    //unit_test[181] 異常系 session_thread_data_map中にThreadID対応のデータがない
+    cout << "[187]------------------------------------------" << endl;
+    //unit_test[187] 異常系 session_thread_data_map中にThreadID対応のデータがない
     this->session_thread_data_map.clear();
 
     this->session_thread_data_map[boost::this_thread::get_id()].reset();
@@ -4331,8 +4321,8 @@ void handle_realserver_connection_fail_test() {
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[182]------------------------------------------" << endl;
-    //unit_test[182] 異常系 session_thread_data_map中にThreadIDなし場合のテスト
+    cout << "[188]------------------------------------------" << endl;
+    //unit_test[188] 異常系 session_thread_data_map中にThreadIDなし場合のテスト
     this->session_thread_data_map.clear();
 
     ret = this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep_err1);
@@ -4340,8 +4330,8 @@ void handle_realserver_connection_fail_test() {
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[183]------------------------------------------" << endl;
-    //unit_test[183] 終了フラグ,遷移先ステータス
+    cout << "[189]------------------------------------------" << endl;
+    //unit_test[189] 終了フラグ,遷移先ステータス
     boost::asio::ip::tcp::endpoint ep;
 
     thread_data_ptr data(new session_thread_data_sessionless);
@@ -4358,8 +4348,8 @@ void handle_realserver_connection_fail_test() {
 
 //handle_realserver_connection_fail_thread 馮家純
 void handle_realserver_connection_fail_test_thread() {
-    cout << "[183]------------------------------------------\n";
-    //unit_test[183] 終了フラグ,遷移先ステータス
+    cout << "[190]------------------------------------------\n";
+    //unit_test[190] 終了フラグ,遷移先ステータス
     EVENT_TAG ret;
     boost::asio::ip::tcp::endpoint ep;
 
@@ -4372,10 +4362,13 @@ void handle_realserver_connection_fail_test_thread() {
 
     ret = this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep);
 
-    //終了フラグをON
-    BOOST_CHECK_EQUAL(data->end_flag, END_FLAG_ON);
-    //遷移先ステータス status = CLIENT_DISCONNECT
-    BOOST_CHECK_EQUAL(ret, CLIENT_DISCONNECT);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        //終了フラグをON
+        BOOST_CHECK_EQUAL(data->end_flag, END_FLAG_ON);
+        //遷移先ステータス status = CLIENT_DISCONNECT
+        BOOST_CHECK_EQUAL(ret, CLIENT_DISCONNECT);
+    }
 }
 
 //handle_realserver_send 董作方
@@ -4385,29 +4378,29 @@ void handle_realserver_send_test(){
     recive_data real_recive_data;
     thread_data_ptr data_pro(new session_thread_data_sessionless);
 
-    cout << "[184]------------------------------------------" << endl;
-    //unit_test[184] session_thread_data_map中にthread_id無し
+    cout << "[191]------------------------------------------" << endl;
+    //unit_test[191] session_thread_data_map中にthread_id無し
     EVENT_TAG event_status
         = this->handle_realserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[185]------------------------------------------" << endl;
-    //unit_test[185] session_thread_data_map中にsession_thread_data_sessionless無し
+    cout << "[192]------------------------------------------" << endl;
+    //unit_test[192] session_thread_data_map中にsession_thread_data_sessionless無し
     thread_data_ptr thread_data1 ;
 
     this->session_thread_data_map[boost::this_thread::get_id()] = thread_data1;
     event_status = this->handle_realserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[186]------------------------------------------" << endl;
-    //unit_test[186] recive_data_map中にendpoint無し
+    cout << "[193]------------------------------------------" << endl;
+    //unit_test[193] recive_data_map中にendpoint無し
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()] = data_pro;
     event_status = this->handle_realserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[187]-------------------------------------------" << endl;
-    //unit_test[187] send_status_list中にsend_status無し
+    cout << "[194]-------------------------------------------" << endl;
+    //unit_test[194] send_status_list中にsend_status無し
     real_recive_data.send_status_list.clear();
     data_pro->recive_data_map[endpoint] = real_recive_data;
 
@@ -4417,9 +4410,9 @@ void handle_realserver_send_test(){
     event_status = this->handle_realserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[188]------------------------------------------" << endl;
-    //unit_test[188] 送信状態->SEND_OK,送信可能データサイズ > 0/送信可能データあり
-    //unit_test[188] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
+    cout << "[195]------------------------------------------" << endl;
+    //unit_test[195] 送信状態->SEND_OK,送信可能データサイズ > 0/送信可能データあり
+    //unit_test[195] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
     real_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
     real_send_status.edit_data_list.clear();//編集データリスト=0
     real_send_status.send_offset = 0u;
@@ -4445,9 +4438,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(offset,1u);//送信データオフセットに送信済データサイズを加算する
     BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
 
-    cout << "[189]------------------------------------------" << endl;
-    //unit_test[189] 送信状態->SEND_NG
-    //unit_test[189] test data:遷移先ステータスを設定する
+    cout << "[196]------------------------------------------" << endl;
+    //unit_test[196] 送信状態->SEND_NG
+    //unit_test[196] 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);
@@ -4461,9 +4454,9 @@ void handle_realserver_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[190]------------------------------------------" << endl;
-    //unit_test[190] 送信状態->SEND_CONTINUE
-    //unit_test[190] test data:遷移先ステータスを設定する
+    cout << "[197]------------------------------------------" << endl;
+    //unit_test[197] 送信状態->SEND_CONTINUE
+    //unit_test[197] 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);
@@ -4478,9 +4471,9 @@ void handle_realserver_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[191]------------------------------------------" << endl;
-    //unit_test[191] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
-    //unit_test[191] test data: 送信状態に送信待を設定
+    cout << "[198]------------------------------------------" << endl;
+    //unit_test[198] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
+    //unit_test[198] test data: 送信状態に送信待を設定
     real_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     real_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     real_send_status.status = SEND_OK;
@@ -4499,9 +4492,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
 
-    cout << "[192]------------------------------------------" << endl;
-    //unit_test[192] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし
-    //unit_test[192] test data: 送信状態に送信待を設定
+    cout << "[199]------------------------------------------" << endl;
+    //unit_test[199] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし
+    //unit_test[199] test data: 送信状態に送信待を設定
     real_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     real_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
     real_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -4520,9 +4513,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
 
-    cout << "[193]------------------------------------------" << endl;
-    //unit_test[193] 送信状態->SEND_OK,SEND_OK,送信可能データサイズ = 0,送信データ残サイズ > 0
-    //unit_test[193] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
+    cout << "[200]------------------------------------------" << endl;
+    //unit_test[200] 送信状態->SEND_OK,SEND_OK,送信可能データサイズ = 0,送信データ残サイズ > 0
+    //unit_test[200] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
     real_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     real_send_status.status = SEND_OK; //送信状態->SEND_OK
     real_send_status.send_rest_size = 1u; //送信データ残サイズ > 0
@@ -4541,9 +4534,9 @@ void handle_realserver_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[194]------------------------------------------" << endl;
-    //unit_test[194] 送信状態->SEND_OK,SEND_OK,送信可能データサイズ = 0/送信データ残サイズ = 0
-    //unit_test[194] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
+    cout << "[201]------------------------------------------" << endl;
+    //unit_test[201] 送信状態->SEND_OK,SEND_OK,送信可能データサイズ = 0/送信データ残サイズ = 0
+    //unit_test[201] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
     real_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     real_send_status.status = SEND_OK; //送信状態->SEND_OK
     real_send_status.send_rest_size = 0u; //送信データ残サイズ = 0
@@ -4564,9 +4557,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(event_status, REALSERVER_CONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信データ残サイズ = 0,送信状態に送信済を設定する
 
-    cout << "[195]------------------------------------------" << endl;
-    //unit_test[195] 送信状態->SEND_OK,SEND_NG,送信可能データサイズ = 0/送信データ残サイズ > 0
-    //unit_test[195] test data: 遷移先ステータスを設定する
+    cout << "[202]------------------------------------------" << endl;
+    //unit_test[202] 送信状態->SEND_OK,SEND_NG,送信可能データサイズ = 0/送信データ残サイズ > 0
+    //unit_test[202] test data: 遷移先ステータスを設定する
     real_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     real_send_status.status = SEND_OK; //送信状態->SEND_OK
     real_send_status.send_rest_size = 1u; //送信データ残サイズ > 0
@@ -4585,9 +4578,9 @@ void handle_realserver_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[196]------------------------------------------" << endl;
-    //unit_test[196] 送信状態->SEND_OK,SEND_NG,送信可能データサイズ = 0/送信データ残サイズ = 0
-    //unit_test[196] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
+    cout << "[203]------------------------------------------" << endl;
+    //unit_test[203] 送信状態->SEND_OK,SEND_NG,送信可能データサイズ = 0/送信データ残サイズ = 0
+    //unit_test[203] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
     real_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     real_send_status.status = SEND_OK; //送信状態->SEND_OK
     real_send_status.send_rest_size = 0u; //送信データ残サイズ = 0
@@ -4608,9 +4601,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信データ残サイズ = 0,送信状態に送信済を設定する
 
-    cout << "[197]------------------------------------------" << endl;
-    //unit_test[197] 送信状態->SEND_END,SEND_OK,送信可能データサイズ > 0
-    //unit_test[197] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
+    cout << "[204]------------------------------------------" << endl;
+    //unit_test[204] 送信状態->SEND_END,SEND_OK,送信可能データサイズ > 0
+    //unit_test[204] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
     real_send_status.status = SEND_END; //送信状態->SEND_OK
     real_send_status1.send_possible_size = 1u;
     real_send_status1.status = SEND_OK;
@@ -4630,9 +4623,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(event_status, REALSERVER_CONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信データ残サイズ > 0,送信状態に送信継続を設定する
 
-    cout << "[198]------------------------------------------" << endl;
-    //unit_test[198] 送信状態->SEND_END,SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0
-    //unit_test[198] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
+    cout << "[205]------------------------------------------" << endl;
+    //unit_test[205] 送信状態->SEND_END,SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0
+    //unit_test[205] test data: 送信状態に送信継続を設定,遷移先ステータスを設定する
     real_send_status.status = SEND_END; //送信状態->SEND_END
     real_send_status1.send_rest_size = 1u; //送信データ残サイズ > 0
     real_send_status1.send_possible_size = 0u;//送信可能データサイズ = 0
@@ -4653,9 +4646,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信データ残サイズ > 0,送信状態に送信済を設定する
 
-    cout << "[199]------------------------------------------" << endl;
-    //unit_test[199] 送信状態->SEND_END
-    //unit_test[199] test data:遷移先ステータスを設定する
+    cout << "[206]------------------------------------------" << endl;
+    //unit_test[206] 送信状態->SEND_END
+    //unit_test[206] test data:遷移先ステータスを設定する
     real_send_status.status = SEND_END; //送信状態->SEND_END
     real_recive_data.send_status_list.clear();
     real_recive_data.send_status_list.push_back(real_send_status);
@@ -4670,8 +4663,8 @@ void handle_realserver_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[200]------------------------------------------" << endl;
-    //unit_test[200]  送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0
+    cout << "[207]------------------------------------------" << endl;
+    //unit_test[207]  送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0
     real_send_status.status = SEND_END; //送信状態->SEND_END
     real_send_status1.status = SEND_OK; //送信状態->SEND_OK
     real_send_status1.send_possible_size  = 0u;
@@ -4692,9 +4685,9 @@ void handle_realserver_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信済を設定する
 
-    cout << "[201]------------------------------------------" << endl;
-    //unit_test[201] 送信状態->SEND_CONTINUE,SEND_OK/送信データ残サイズ > 0
-    //unit_test[201] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[208]------------------------------------------" << endl;
+    //unit_test[208] 送信状態->SEND_CONTINUE,SEND_OK/送信データ残サイズ > 0
+    //unit_test[208] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     real_send_status.status = SEND_CONTINUE; //送信状態->SEND_CONTINUE
     real_send_status.send_rest_size = 1u; //送信データ残サイズ > 0
     real_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
@@ -4723,9 +4716,9 @@ void handle_realserver_send_test_thread(){
     recive_data real_recive_data;
     thread_data_ptr data_pro(new session_thread_data_sessionless);
 
-    cout << "[191]------------------------------------------\n";
-    //unit_test[191] 多スレッドテスト/送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
-    //unit_test[191] test data: 送信状態に送信待を設定
+    cout << "[209]------------------------------------------\n";
+    //unit_test[209] 多スレッドテスト/送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
+    //unit_test[209] test data: 送信状態に送信待を設定
     real_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     real_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     real_send_status.status = SEND_OK;
@@ -4743,14 +4736,17 @@ void handle_realserver_send_test_thread(){
     EVENT_TAG event_status = this->handle_realserver_send(boost::this_thread::get_id());
     SEND_STATUS_TAG send_status = data_pro->recive_data_map[endpoint].send_status_list.front().status;
 
-    BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
-    BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
+        BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
+    }
 }
 
 //handle_sorryserver_select 馮家純
 void handle_sorryserver_select_test(){
-    cout << "[202]------------------------------------------" << endl;
-    //unit_test[202] 該当スレッドの送信可能データを取得する,下りスレッドにsorryserver受信バッファを確保する,送信先endpoint,遷移先ステータス
+    cout << "[210]------------------------------------------" << endl;
+    //unit_test[210] 該当スレッドの送信可能データを取得する,下りスレッドにsorryserver受信バッファを確保する,送信先endpoint,遷移先ステータス
     boost::thread downt(down_thread_func);
     boost::asio::ip::tcp::endpoint ep;
 
@@ -4780,32 +4776,32 @@ void handle_sorryserver_select_test(){
     //遷移先ステータス status = SORRYSERVER_CONNECT
     BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT);
 
-    cout << "[203]------------------------------------------" << endl;
-    //unit_test[203]   session_thread_data_map中に上りスレッド中にThreadID対応のデータがない
+    cout << "[211]------------------------------------------" << endl;
+    //unit_test[211]   session_thread_data_map中に上りスレッド中にThreadID対応のデータがない
     this->session_thread_data_map[boost::this_thread::get_id()].reset();
     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中に上りスレッドのデータ無し場合のテスト
+    cout << "[212]------------------------------------------" << endl;
+    //unit_test[212]   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);
 
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[205]------------------------------------------" << endl;
-    //unit_test[205]   session_thread_data_map中に上りスレッドと下りスレッドのデータ無し場合のテスト
+    cout << "[213]------------------------------------------" << endl;
+    //unit_test[213]   session_thread_data_map中に上りスレッドと下りスレッドのデータ無し場合のテスト
     this->session_thread_data_map.clear();
     ret = this->handle_sorryserver_select(boost::this_thread::get_id(), ep);
 
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[206]------------------------------------------" << endl;
-    //unit_test[206]   session_thread_data_map中に下りスレッドのデータ無し場合のテスト
+    cout << "[214]------------------------------------------" << endl;
+    //unit_test[214]   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);
@@ -4817,8 +4813,8 @@ void handle_sorryserver_select_test(){
 
 
 void handle_sorryserver_select_test_thread(){
-    cout << "[202]------------------------------------------\n";
-    //unit_test[202] 該当スレッドの送信可能データを取得する,下りスレッドにsorryserver受信バッファを確保する,送信先endpoint,遷移先ステータス
+    cout << "[215]------------------------------------------\n";
+    //unit_test[215] 該当スレッドの送信可能データを取得する,下りスレッドにsorryserver受信バッファを確保する,送信先endpoint,遷移先ステータス
     boost::thread downt(down_thread_func);
     boost::asio::ip::tcp::endpoint ep;
 
@@ -4847,10 +4843,13 @@ void handle_sorryserver_select_test_thread(){
 
     EVENT_TAG ret = this->handle_sorryserver_select(boost::this_thread::get_id(), ep);
 
-    //送信先endpointにendpointを設定する
-    BOOST_CHECK_EQUAL(dataup->target_endpoint, ep);
-    //遷移先ステータス status = SORRYSERVER_CONNECT
-    BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        //送信先endpointにendpointを設定する
+        BOOST_CHECK_EQUAL(dataup->target_endpoint, ep);
+        //遷移先ステータス status = SORRYSERVER_CONNECT
+        BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT);
+    }
 }
 
 //handle_sorryserver_connect 郎希倹
@@ -4882,14 +4881,14 @@ void handle_sorryserver_connect_test(){
     this->forwarded_for = 1;
     memcpy(sorry_uri.c_array(), "/sorry.htm", 10);
 
-    cout << "[207]------------------------------------------" << endl;
-    // unit_test[207] boost::this_thread::get_id()対応のデータなし
+    cout << "[216]------------------------------------------" << endl;
+    // unit_test[216] boost::this_thread::get_id()対応のデータなし
     this->session_thread_data_map.clear();
     ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[208]------------------------------------------" << endl;
-    // unit_test[208] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
+    cout << "[217]------------------------------------------" << endl;
+    // unit_test[217] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
     this->session_thread_data_map.clear();
     thread_data_ptr p;
     this->session_thread_data_map[boost::this_thread::get_id()] = p;
@@ -4899,8 +4898,8 @@ void handle_sorryserver_connect_test(){
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()] = psession_thread_data;
 
-    cout << "[209]------------------------------------------" << endl;
-    // unit_test[209] endpoint対応のrecive_dataなし
+    cout << "[218]------------------------------------------" << endl;
+    // unit_test[218] endpoint対応のrecive_dataなし
     psession_thread_data->recive_data_map.clear();
     send_buffer_len = 0;
     memset(send_buffer.c_array(), 0, MAX_BUFFER_SIZE);
@@ -4913,8 +4912,8 @@ void handle_sorryserver_connect_test(){
                 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
+    cout << "[219]------------------------------------------" << endl;
+    // unit_test[219] recive_data.recive_buffer=Null
     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;
@@ -4928,8 +4927,8 @@ void handle_sorryserver_connect_test(){
     ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[211]------------------------------------------" << endl;
-    // unit_test[211] 送信状態リストが空の場合
+    cout << "[220]------------------------------------------" << endl;
+    // unit_test[220] 送信状態リストが空の場合
     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;
@@ -4942,8 +4941,8 @@ void handle_sorryserver_connect_test(){
     ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[212]------------------------------------------" << endl;
-    // unit_test[212] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
+    cout << "[221]------------------------------------------" << endl;
+    // unit_test[221] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
     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;
@@ -4991,8 +4990,8 @@ void handle_sorryserver_connect_test(){
     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:送信不可の場合
+    cout << "[222]------------------------------------------" << endl;
+    // unit_test[222] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
     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;
@@ -5040,8 +5039,8 @@ void handle_sorryserver_connect_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 34u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 30u);
 
-    cout << "[214]------------------------------------------" << endl;
-    // unit_test[214] 送信状態リストの要素の送信状態が1:送信待の場合
+    cout << "[223]------------------------------------------" << endl;
+    // unit_test[223] 送信状態リストの要素の送信状態が1:送信待の場合
     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;
@@ -5084,9 +5083,9 @@ void handle_sorryserver_connect_test(){
     const int not_exist_leave_len = 65483;
     const int not_exist_len = 52;
 
-    cout << "[215]------------------------------------------" << endl;
-    // unit_test[215] 編集区分 = 編集あり、編集データリストが空の場合
-    // unit_test[215] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当あり。
+    cout << "[224]------------------------------------------" << endl;
+    // unit_test[224] 編集区分 = 編集あり、編集データリストが空の場合
+    // unit_test[224] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当あり。
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5131,9 +5130,9 @@ 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_NO_EDIT);
 
-    cout << "[216]------------------------------------------" << endl;
-    // unit_test[216] 編集区分 = 編集あり、編集データリストが空の場合
-    // unit_test[216] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当なし。
+    cout << "[225]------------------------------------------" << endl;
+    // unit_test[225] 編集区分 = 編集あり、編集データリストが空の場合
+    // unit_test[225] ●送信可能データからHTTPヘッダ(X-Forwarded-For)の検索結果 = 該当なし。
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5175,8 +5174,8 @@ 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_NO_EDIT);
 
-    cout << "[217]------------------------------------------" << endl;
-    // unit_test[217] 編集区分 = 編集あり、編集データリストが空でないの場合
+    cout << "[226]------------------------------------------" << endl;
+    // unit_test[226] 編集区分 = 編集あり、編集データリストが空でないの場合
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 32;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5227,10 +5226,10 @@ 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_NO_EDIT);
 
-    cout << "[218]------------------------------------------" << endl;
-    // unit_test[218] 編集データリストが空の場合
-    // unit_test[218] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[218] ●送信バッファ残サイズ > 送信可能データサイズ
+    cout << "[227]------------------------------------------" << endl;
+    // unit_test[227] 編集データリストが空の場合
+    // unit_test[227] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[227] ●送信バッファ残サイズ > 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 32;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5281,10 +5280,10 @@ 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_NO_EDIT);
 
-    cout << "[219]------------------------------------------" << endl;
-    // unit_test[219] 編集データリストが空の場合
-    // unit_test[219] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[219] ●送信バッファ残サイズ = 送信可能データサイズ
+    cout << "[228]------------------------------------------" << endl;
+    // unit_test[228] 編集データリストが空の場合
+    // unit_test[228] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[228] ●送信バッファ残サイズ = 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE - 11;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5331,10 +5330,10 @@ 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_NO_EDIT);
 
-    cout << "[220]------------------------------------------" << endl;
-    // unit_test[220] 編集データリストが空の場合
-    // unit_test[220] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[220] ●送信バッファ残サイズ < 送信可能データサイズ
+    cout << "[229]------------------------------------------" << endl;
+    // unit_test[229] 編集データリストが空の場合
+    // unit_test[229] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[229] ●送信バッファ残サイズ < 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5379,9 +5378,9 @@ 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_NO_EDIT);
 
-    cout << "[221]------------------------------------------" << endl;
-    // unit_test[221] 編集データリストが空の場合
-    // unit_test[221] ●送信バッファ残サイズ = 0
+    cout << "[230]------------------------------------------" << endl;
+    // unit_test[230] 編集データリストが空の場合
+    // unit_test[230] ●送信バッファ残サイズ = 0
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE - 9;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5425,9 +5424,9 @@ 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_NO_EDIT);
 
-    cout << "[222]------------------------------------------" << endl;
-    // unit_test[222] 編集データリストが空の場合
-    // unit_test[222] ●送信可能データサイズ = 0
+    cout << "[231]------------------------------------------" << endl;
+    // unit_test[231] 編集データリストが空の場合
+    // unit_test[231] ●送信可能データサイズ = 0
     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;
@@ -5464,10 +5463,10 @@ 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_NO_EDIT);
 
-    cout << "[223]------------------------------------------" << endl;
-    // unit_test[223] 編集データリストが空でない場合
-    // unit_test[223] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
-    // unit_test[223] ●送信バッファ残サイズ > 編集データサイズ
+    cout << "[232]------------------------------------------" << endl;
+    // unit_test[232] 編集データリストが空でない場合
+    // unit_test[232] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
+    // unit_test[232] ●送信バッファ残サイズ > 編集データサイズ
     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;
@@ -5505,10 +5504,10 @@ void handle_sorryserver_connect_test(){
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
 
-    cout << "[224]------------------------------------------" << endl;
-    // unit_test[224] 編集データリストが空でない場合
-    // unit_test[224] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
-    // unit_test[224] ●送信バッファ残サイズ = 編集データサイズ
+    cout << "[233]------------------------------------------" << endl;
+    // unit_test[233] 編集データリストが空でない場合
+    // unit_test[233] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
+    // unit_test[233] ●送信バッファ残サイズ = 編集データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE - 9;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5552,10 +5551,10 @@ 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_NO_EDIT);
 
-    cout << "[225]------------------------------------------" << endl;
-    // unit_test[225] 編集データリストが空でない場合
-    // unit_test[225] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
-    // unit_test[225] ●送信バッファ残サイズ < 編集データサイズ
+    cout << "[234]------------------------------------------" << endl;
+    // unit_test[234] 編集データリストが空でない場合
+    // unit_test[234] ●送信バッファ残サイズ > 編集データ設定位置 - 送信済サイズ
+    // unit_test[234] ●送信バッファ残サイズ < 編集データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 29;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5605,10 +5604,10 @@ void handle_sorryserver_connect_test(){
             MAX_BUFFER_SIZE - 1u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
 
-    cout << "[226]------------------------------------------" << endl;
-    // unit_test[226] 編集データリストが空でない場合
-    // unit_test[226] ●送信バッファ残サイズ = 編集データ設定位置 - 送信済サイズ
-    // unit_test[226] ●送信バッファ残サイズ < 編集データサイズ
+    cout << "[235]------------------------------------------" << endl;
+    // unit_test[235] 編集データリストが空でない場合
+    // unit_test[235] ●送信バッファ残サイズ = 編集データ設定位置 - 送信済サイズ
+    // unit_test[235] ●送信バッファ残サイズ < 編集データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 31;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5657,9 +5656,9 @@ void handle_sorryserver_connect_test(){
             MAX_BUFFER_SIZE + 1u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
 
-    cout << "[227]------------------------------------------" << endl;
-    // unit_test[227] 編集データリストが空でない場合
-    // unit_test[227] ●送信バッファ残サイズ < 編集データ設定位置 - 送信済サイズ
+    cout << "[236]------------------------------------------" << endl;
+    // unit_test[236] 編集データリストが空でない場合
+    // unit_test[236] ●送信バッファ残サイズ < 編集データ設定位置 - 送信済サイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 32;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5707,9 +5706,9 @@ void handle_sorryserver_connect_test(){
             MAX_BUFFER_SIZE + 2u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
 
-    cout << "[228]------------------------------------------" << endl;
-    // unit_test[228] 編集区分 = 編集なし
-    // unit_test[228] ●送信バッファサイズ > 送信可能データサイズ
+    cout << "[237]------------------------------------------" << endl;
+    // unit_test[237] 編集区分 = 編集なし
+    // unit_test[237] ●送信バッファサイズ > 送信可能データサイズ
     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;
@@ -5745,9 +5744,9 @@ 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_NO_EDIT);
 
-    cout << "[229]------------------------------------------" << endl;
-    // unit_test[229] 編集区分 = 編集なし
-    // unit_test[229] ●送信バッファサイズ = 送信可能データサイズ
+    cout << "[238]------------------------------------------" << endl;
+    // unit_test[238] 編集区分 = 編集なし
+    // unit_test[238] ●送信バッファサイズ = 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5783,9 +5782,9 @@ 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_NO_EDIT);
 
-    cout << "[230]------------------------------------------" << endl;
-    // unit_test[230] 編集区分 = 編集なし
-    // unit_test[230] ●送信バッファサイズ < 送信可能データサイズ
+    cout << "[239]------------------------------------------" << endl;
+    // unit_test[239] 編集区分 = 編集なし
+    // unit_test[239] ●送信バッファサイズ < 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE + 1;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5821,8 +5820,8 @@ 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_NO_EDIT);
 
-    cout << "[231]------------------------------------------" << endl;
-    // unit_test[231] forwarded_forを設定するの場合、編集区分が1である。
+    cout << "[240]------------------------------------------" << endl;
+    // unit_test[240] forwarded_forを設定するの場合、編集区分が1である。
     this->forwarded_for = 1;
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
@@ -5862,8 +5861,8 @@ 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_NO_EDIT);
 
-    cout << "[232]------------------------------------------" << endl;
-    // unit_test[232] forwarded_forを設定しないの場合、編集区分が1である。
+    cout << "[241]------------------------------------------" << endl;
+    // unit_test[241] forwarded_forを設定しないの場合、編集区分が1である。
     this->forwarded_for = 0;
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
@@ -5933,10 +5932,10 @@ void handle_sorryserver_connect_test_thread(){
     const int exist_len = 80;
     const int exist_leave_len = 65455;
 
-    cout << "[220]------------------------------------------\n";
-    // unit_test[220] 編集データリストが空の場合
-    // unit_test[220] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-    // unit_test[220] ●送信バッファ残サイズ < 送信可能データサイズ
+    cout << "[242]------------------------------------------\n";
+    // unit_test[242] 編集データリストが空の場合
+    // unit_test[242] ●送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
+    // unit_test[242] ●送信バッファ残サイズ < 送信可能データサイズ
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -5961,25 +5960,28 @@ void handle_sorryserver_connect_test_thread(){
 
     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, MAX_BUFFER_SIZE);
-    //送信バッファの内容をチェックする。
-    int cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm HTTP/1.0\r\nX-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 66);
-    BOOST_CHECK_EQUAL(cmp_ret, 0);
-    cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer, 5);
-    BOOST_CHECK_EQUAL(cmp_ret, 0);
-    cmp_ret = memcmp(send_buffer.c_array() + 66,
-                     recive_data_global.recive_buffer + 55 ,
-                     MAX_BUFFER_SIZE - 66);
-    BOOST_CHECK_EQUAL(cmp_ret, 0);
-
-    BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
-    BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 0u);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, MAX_BUFFER_SIZE - 11u);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 11u);
-    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_NO_EDIT);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
+        BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
+        //送信バッファの内容をチェックする。
+        int cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm HTTP/1.0\r\nX-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 66);
+        BOOST_CHECK_EQUAL(cmp_ret, 0);
+        cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer, 5);
+        BOOST_CHECK_EQUAL(cmp_ret, 0);
+        cmp_ret = memcmp(send_buffer.c_array() + 66,
+                         recive_data_global.recive_buffer + 55 ,
+                         MAX_BUFFER_SIZE - 66);
+        BOOST_CHECK_EQUAL(cmp_ret, 0);
+
+        BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
+        BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 0u);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, MAX_BUFFER_SIZE - 11u);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 11u);
+        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_NO_EDIT);
+    }
 }
 
 //handle_sorryserver_connection_fail 董作方
@@ -5987,21 +5989,21 @@ void handle_sorryserver_connection_fail_test() {
     boost::asio::ip::tcp::endpoint ep_tcp = string_to_endpoint<boost::asio::ip::tcp> ("10.10.100.100:8800");
     thread_data_ptr data_pro(new session_thread_data_sessionless);
 
-    cout << "[233]------------------------------------------" << endl;
-    //unit_test[233] session_thread_data_map中にthread_id無し
+    cout << "[243]------------------------------------------" << endl;
+    //unit_test[243] session_thread_data_map中にthread_id無し
     EVENT_TAG ret =    this->handle_sorryserver_connection_fail(boost::this_thread::get_id(), ep_tcp);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[234]------------------------------------------" << endl;
-    //unit_test[234] session_thread_data_map中にsession_thread_data無し
+    cout << "[244]------------------------------------------" << endl;
+    //unit_test[244] session_thread_data_map中にsession_thread_data無し
     thread_data_ptr thread_data1 ;
     this->session_thread_data_map[boost::this_thread::get_id()] = thread_data1;
     ret = this->handle_sorryserver_connection_fail(boost::this_thread::get_id(), ep_tcp);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[235]------------------------------------------" << endl;
-    //unit_test[235] handle_sorryserver_connection_failメソッドのテスト
-    //unit_test[235] test data:end_flag = on
+    cout << "[245]------------------------------------------" << endl;
+    //unit_test[245] handle_sorryserver_connection_failメソッドのテスト
+    //unit_test[245] test data:end_flag = on
     data_pro->end_flag = END_FLAG_OFF;// 終了フラグを設定する
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()] = data_pro;
@@ -6016,19 +6018,22 @@ void handle_sorryserver_connection_fail_test_thread() {
     boost::asio::ip::tcp::endpoint ep_tcp = string_to_endpoint<boost::asio::ip::tcp> ("10.10.100.100:8800");
     thread_data_ptr data_pro(new session_thread_data_sessionless);
 
-    cout << "[235]------------------------------------------\n";
-    //unit_test[235] 多スレッドテスト/handle_sorryserver_connection_failメソッドの多スレッドテスト
-    //unit_test[235] test data:end_flag = on
+    cout << "[246]------------------------------------------\n";
+    //unit_test[246] 多スレッドテスト/handle_sorryserver_connection_failメソッドの多スレッドテスト
+    //unit_test[246] test data:end_flag = on
     data_pro->end_flag = END_FLAG_OFF;// 終了フラグを設定する
-    
+
     {
         boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
         this->session_thread_data_map[boost::this_thread::get_id()] = data_pro;
     }
     EVENT_TAG ret = this->handle_sorryserver_connection_fail(boost::this_thread::get_id(),ep_tcp);
 
-    BOOST_CHECK_EQUAL(data_pro->end_flag, END_FLAG_ON);
-    BOOST_CHECK_EQUAL(ret, CLIENT_DISCONNECT );
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(data_pro->end_flag, END_FLAG_ON);
+        BOOST_CHECK_EQUAL(ret, CLIENT_DISCONNECT );
+    }
 }
 
 //handle_sorryserver_send 郎希倹
@@ -6038,27 +6043,27 @@ void handle_sorryserver_send_test() {
     recive_data sorr_recive_data;
     thread_data_ptr data_pro(new session_thread_data_sessionless);
 
-    cout << "[236]------------------------------------------" << endl;
-    //unit_test[236] session_thread_data_map中にthread_id無し
+    cout << "[247]------------------------------------------" << endl;
+    //unit_test[247] session_thread_data_map中にthread_id無し
     EVENT_TAG event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[237]------------------------------------------" << endl;
-    //unit_test[237] session_thread_data_map中にsession_thread_data_sessionless無し
+    cout << "[248]------------------------------------------" << endl;
+    //unit_test[248] session_thread_data_map中にsession_thread_data_sessionless無し
     thread_data_ptr data_pro1;
     this->session_thread_data_map[boost::this_thread::get_id()] = data_pro1;
     event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[238]------------------------------------------" << endl;
-    //unit_test[238] recive_data_map中にendpoint無し
+    cout << "[249]------------------------------------------" << endl;
+    //unit_test[249] recive_data_map中にendpoint無し
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()] = data_pro;
     event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[239]------------------------------------------" << endl;
-    //unit_test[239] send_status_list中にsend_status無し
+    cout << "[250]------------------------------------------" << endl;
+    //unit_test[250] send_status_list中にsend_status無し
     sorr_recive_data.send_status_list.clear();
     data_pro->recive_data_map[endpoint] = sorr_recive_data;
     this->session_thread_data_map.clear();
@@ -6067,9 +6072,9 @@ void handle_sorryserver_send_test() {
     event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[240]------------------------------------------" << endl;
-    //unit_test[240] 送信状態->SEND_OK,送信可能データサイズ > 0/送信可能データあり
-    //unit_test[240] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
+    cout << "[251]------------------------------------------" << endl;
+    //unit_test[251] 送信状態->SEND_OK,送信可能データサイズ > 0/送信可能データあり
+    //unit_test[251] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
     sorr_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
     sorr_send_status.send_offset = 0u;
     sorr_send_status.send_end_size = 1u;
@@ -6092,9 +6097,9 @@ void handle_sorryserver_send_test() {
     BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
     BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
 
-    cout << "[241]------------------------------------------" << endl;
-    //unit_test[241] 送信状態->SEND_NG
-    //unit_test[241] test data: 遷移先ステータスを設定する
+    cout << "[252]------------------------------------------" << endl;
+    //unit_test[252] 送信状態->SEND_NG
+    //unit_test[252] 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);
@@ -6109,9 +6114,9 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[242]------------------------------------------" << endl;
-    //unit_test[242] 送信状態->SEND_CONTINUE
-    //unit_test[242] test data: 遷移先ステータスを設定する
+    cout << "[253]------------------------------------------" << endl;
+    //unit_test[253] 送信状態->SEND_CONTINUE
+    //unit_test[253] 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);
@@ -6126,9 +6131,9 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[243]------------------------------------------" << endl;
-    //unit_test[243] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
-    //unit_test[243] test data: 送信状態に送信待を設定
+    cout << "[254]------------------------------------------" << endl;
+    //unit_test[254] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
+    //unit_test[254] test data: 送信状態に送信待を設定
     sorr_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     sorr_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     sorr_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -6147,9 +6152,9 @@ void handle_sorryserver_send_test() {
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
 
-    cout << "[244]------------------------------------------" << endl;
-    //unit_test[244] 送信状態->SNED_NG,SEND_OK,/送信データ残サイズ > 0
-    //unit_test[244] test data: 送信状態に送信待を設定
+    cout << "[255]------------------------------------------" << endl;
+    //unit_test[255] 送信状態->SNED_NG,SEND_OK,/送信データ残サイズ > 0
+    //unit_test[255] test data: 送信状態に送信待を設定
     sorr_send_status.status = SEND_NG;
     sorr_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     sorr_send_status1.status = SEND_OK;//送信状態->SEND_OK
@@ -6167,9 +6172,9 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[245]------------------------------------------" << endl;
-    //unit_test[245] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし
-    //unit_test[245] test data: 送信状態に送信待を設定
+    cout << "[256]------------------------------------------" << endl;
+    //unit_test[256] 送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし
+    //unit_test[256] test data: 送信状態に送信待を設定
     sorr_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     sorr_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
     sorr_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -6188,9 +6193,9 @@ void handle_sorryserver_send_test() {
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
 
-    cout << "[246]------------------------------------------" << endl;
-    //unit_test[246] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0
-    //unit_test[246] test data: 遷移先ステータスを設定する
+    cout << "[257]------------------------------------------" << endl;
+    //unit_test[257] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0
+    //unit_test[257] test data: 遷移先ステータスを設定する
     sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     sorr_send_status.status = SEND_OK;
     sorr_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
@@ -6209,9 +6214,9 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[247]------------------------------------------" << endl;
-    //unit_test[247] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
-    //unit_test[247] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[258]------------------------------------------" << endl;
+    //unit_test[258] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
+    //unit_test[258] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     sorr_send_status.status = SEND_OK;
     sorr_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
@@ -6232,9 +6237,9 @@ void handle_sorryserver_send_test() {
     BOOST_CHECK_EQUAL(event_status, SORRYSERVER_CONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
 
-    cout << "[248]------------------------------------------" << endl;
-    //unit_test[248] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ > 0
-    //unit_test[248] test data: 遷移先ステータスを設定する
+    cout << "[259]------------------------------------------" << endl;
+    //unit_test[259] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ > 0
+    //unit_test[259] test data: 遷移先ステータスを設定する
     sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     sorr_send_status.status = SEND_OK;
     sorr_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
@@ -6254,9 +6259,9 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[249]------------------------------------------" << endl;
-    //unit_test[249] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
-    //unit_test[249] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[260]------------------------------------------" << endl;
+    //unit_test[260] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
+    //unit_test[260] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
     sorr_send_status.status = SEND_OK;
     sorr_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
@@ -6277,9 +6282,9 @@ void handle_sorryserver_send_test() {
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
 
-    cout << "[250]------------------------------------------" << endl;
-    //unit_test[250] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0
-    //unit_test[250] test data: 遷移先ステータスを設定する
+    cout << "[261]------------------------------------------" << endl;
+    //unit_test[261] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0
+    //unit_test[261] test data: 遷移先ステータスを設定する
     sorr_send_status.status = SEND_END;
     sorr_send_status1.send_possible_size = 1u;//送信可能データサイズ > 0
     sorr_send_status1.status = SEND_OK;//送信状態->SEND_CONTINUE
@@ -6297,9 +6302,9 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, SORRYSERVER_CONNECT); //遷移先ステータスを設定する
 
-    cout << "[251]------------------------------------------" << endl;
-    //unit_test[251] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0
-    //unit_test[251] test data: 遷移先ステータスを設定する
+    cout << "[262]------------------------------------------" << endl;
+    //unit_test[262] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0
+    //unit_test[262] test data: 遷移先ステータスを設定する
     sorr_send_status.status = SEND_END;
     sorr_send_status1.send_rest_size = 1u;//送信データ残サイズ > 0
     sorr_send_status1.send_possible_size = 0u;//送信可能データサイズ = 0
@@ -6318,9 +6323,9 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
 
-    cout << "[252]------------------------------------------" << endl;
-    //unit_test[252] 送信状態->SEND_END
-    //unit_test[252] test data: 遷移先ステータスを設定する
+    cout << "[263]------------------------------------------" << endl;
+    //unit_test[263] 送信状態->SEND_END
+    //unit_test[263] test data: 遷移先ステータスを設定する
     sorr_send_status.status = SEND_END;
     sorr_recive_data.send_status_list.clear();
     sorr_recive_data.send_status_list.push_back(sorr_send_status);
@@ -6334,8 +6339,8 @@ void handle_sorryserver_send_test() {
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[253]------------------------------------------" << endl;
-    //unit_test[253]  送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0
+    cout << "[264]------------------------------------------" << endl;
+    //unit_test[264]  送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0
     sorr_send_status.status = SEND_END; //送信状態->SEND_END
     sorr_send_status1.status = SEND_OK; //送信状態->SEND_OK
     sorr_send_status1.send_rest_size = 0u;//送信データ残サイズ = 0
@@ -6356,9 +6361,9 @@ void handle_sorryserver_send_test() {
     BOOST_CHECK_EQUAL(event_status,  CLIENT_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信済を設定する
 
-    cout << "[254]------------------------------------------" << endl;
-    //unit_test[254] 送信状態->SEND_CONTINUE,SEND_OK/送信可能データサイズ > 0
-    //unit_test[254] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[265]------------------------------------------" << endl;
+    //unit_test[265] 送信状態->SEND_CONTINUE,SEND_OK/送信可能データサイズ > 0
+    //unit_test[265] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     sorr_send_status.status = SEND_CONTINUE; //送信状態->SEND_CONTINUE
     sorr_send_status.send_possible_size = 1u;//送信可能データサイズ = 1
     sorr_send_status.send_offset = 0u;
@@ -6386,9 +6391,9 @@ void handle_sorryserver_send_test_thread() {
     recive_data sorr_recive_data;
     thread_data_ptr data_pro(new session_thread_data_sessionless);
 
-    cout << "[243]------------------------------------------\n";
-    //unit_test[243] 多スレッドテスト/送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
-    //unit_test[243] test data: 送信状態に送信待を設定
+    cout << "[266]------------------------------------------\n";
+    //unit_test[266] 多スレッドテスト/送信状態->SEND_OK,送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし
+    //unit_test[266] test data: 送信状態に送信待を設定
     sorr_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     sorr_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     sorr_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -6405,8 +6410,11 @@ void handle_sorryserver_send_test_thread() {
     EVENT_TAG event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
     SEND_STATUS_TAG send_status = data_pro->recive_data_map[endpoint].send_status_list.front().status;
 
-    BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
-    BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
+        BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
+    }
 }
 
 //handle_realserver_recv(tcp) 郎希倹
@@ -6437,14 +6445,14 @@ void handle_realserver_recv_tcp_test() {
     psession_thread_data->recive_data_map[rs_endpoint] = recive_data_tmp;
     this->forwarded_for = 1;
 
-    cout << "[255]------------------------------------------" << endl;
-    // unit_test[255] boost::this_thread::get_id()対応のデータなし
+    cout << "[267]------------------------------------------" << endl;
+    // unit_test[267] boost::this_thread::get_id()対応のデータなし
     this->session_thread_data_map.clear();
     ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[256]------------------------------------------" << endl;
-    // unit_test[256] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
+    cout << "[268]------------------------------------------" << endl;
+    // unit_test[268] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
     this->session_thread_data_map.clear();
     thread_data_ptr p;
     this->session_thread_data_map[boost::this_thread::get_id()] = p;
@@ -6460,8 +6468,8 @@ void handle_realserver_recv_tcp_test() {
                 psession_thread_data->recive_data_map.find(rs_endpoint);
     recive_data& recive_data_global = it->second;
 
-    cout << "[258]------------------------------------------" << endl;
-    // unit_test[258] recive_data.recive_buffer=Null
+    cout << "[269]------------------------------------------" << endl;
+    // unit_test[269] recive_data.recive_buffer=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
@@ -6470,8 +6478,8 @@ void handle_realserver_recv_tcp_test() {
     ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[259]------------------------------------------" << endl;
-    // unit_test[259] recive_data.recive_buffer1=Null
+    cout << "[270]------------------------------------------" << endl;
+    // unit_test[270] recive_data.recive_buffer1=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 20;
     delete[] recive_data_global.recive_buffer1;
@@ -6487,8 +6495,8 @@ void handle_realserver_recv_tcp_test() {
     ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[260]------------------------------------------" << endl;
-    // unit_test[260] recive_data.recive_buffer2=Null
+    cout << "[271]------------------------------------------" << endl;
+    // unit_test[271] recive_data.recive_buffer2=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 20;
     delete[] recive_data_global.recive_buffer2;
@@ -6503,8 +6511,8 @@ void handle_realserver_recv_tcp_test() {
     ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[261]------------------------------------------" << endl;
-    // unit_test[261] new失敗の場合
+    cout << "[272]------------------------------------------" << endl;
+    // unit_test[272] new失敗の場合
     recive_data_global.recive_buffer_max_size = 0;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer2;
@@ -6523,8 +6531,8 @@ void handle_realserver_recv_tcp_test() {
     this->getloglevel = &stb_getloglevel;
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[262]------------------------------------------" << endl;
-    // unit_test[262] レスポンスサイズが0である
+    cout << "[273]------------------------------------------" << endl;
+    // unit_test[273] レスポンスサイズが0である
     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;
@@ -6537,8 +6545,8 @@ void handle_realserver_recv_tcp_test() {
     ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, 0);
     BOOST_CHECK_EQUAL(ret, REALSERVER_RECV);
 
-    cout << "[263]------------------------------------------" << endl;
-    // unit_test[263] レスポンスサイズがUINT_MAXである レスポンス実際にサイズがMAX_BUFFER_SIZEである
+    cout << "[274]------------------------------------------" << endl;
+    // unit_test[274] レスポンスサイズがUINT_MAXである レスポンス実際にサイズがMAX_BUFFER_SIZEである
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = MAX_BUFFER_SIZE;
     delete[] recive_data_global.recive_buffer1;
@@ -6552,8 +6560,8 @@ void handle_realserver_recv_tcp_test() {
     ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, UINT_MAX);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[264]------------------------------------------" << endl;
-    // unit_test[264] レスポンスサイズがMAX_BUFFER_SIZEである レスポンス実際にサイズがMAX_BUFFER_SIZEである
+    cout << "[275]------------------------------------------" << endl;
+    // unit_test[275] レスポンスサイズがMAX_BUFFER_SIZEである レスポンス実際にサイズがMAX_BUFFER_SIZEである
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = MAX_BUFFER_SIZE;
     delete[] recive_data_global.recive_buffer1;
@@ -6602,59 +6610,59 @@ void handle_realserver_recv_tcp_test() {
     send_status* send_status_NG[27][3]
     = {
         // unit_test 入力の送信状態リストは下記の通り:(異常系)
-        // unit_test[265] 送信状態リストの要素の送信状態が1:送信待の場合
+        // unit_test[276] 送信状態リストの要素の送信状態が1:送信待の場合
         {&status_OK,NULL,NULL},
-        // unit_test[266] 送信状態リストの要素の送信状態が1:送信済 2:送信待の場合
+        // unit_test[277] 送信状態リストの要素の送信状態が1:送信済 2:送信待の場合
         {&status_END,&status_OK,NULL},
-        // unit_test[267] 送信状態リストの要素の送信状態が1:送信継続 2:送信継続の場合
+        // unit_test[278] 送信状態リストの要素の送信状態が1:送信継続 2:送信継続の場合
         {&status_CONTINUE,&status_CONTINUE,NULL},
-        // unit_test[268] 送信状態リストの要素の送信状態が1:送信継続 2:送信不可の場合
+        // unit_test[279] 送信状態リストの要素の送信状態が1:送信継続 2:送信不可の場合
         {&status_CONTINUE,&status_NG,NULL},
-        // unit_test[269] 送信状態リストの要素の送信状態が1:送信継続 2:送信済の場合
+        // unit_test[280] 送信状態リストの要素の送信状態が1:送信継続 2:送信済の場合
         {&status_CONTINUE,&status_END,NULL},
-        // unit_test[270] 送信状態リストの要素の送信状態が1:送信継続 2:送信待の場合
+        // unit_test[281] 送信状態リストの要素の送信状態が1:送信継続 2:送信待の場合
         {&status_CONTINUE,&status_OK,NULL},
-        // unit_test[271] 送信状態リストの要素の送信状態が1:送信不可 2:送信継続の場合
+        // unit_test[282] 送信状態リストの要素の送信状態が1:送信不可 2:送信継続の場合
         {&status_NG,&status_CONTINUE,NULL},
-        // unit_test[272] 送信状態リストの要素の送信状態が1:送信不可 2:送信不可の場合
+        // unit_test[283] 送信状態リストの要素の送信状態が1:送信不可 2:送信不可の場合
         {&status_NG,&status_NG,NULL},
-        // unit_test[273] 送信状態リストの要素の送信状態が1:送信不可 2:送信済の場合
+        // unit_test[284] 送信状態リストの要素の送信状態が1:送信不可 2:送信済の場合
         {&status_NG,&status_END,NULL},
-        // unit_test[274] 送信状態リストの要素の送信状態が1:送信不可 2:送信待の場合
+        // unit_test[285] 送信状態リストの要素の送信状態が1:送信不可 2:送信待の場合
         {&status_NG,&status_OK,NULL},
-        // unit_test[275] 送信状態リストの要素の送信状態が1:送信待 2:送信継続の場合
+        // unit_test[286] 送信状態リストの要素の送信状態が1:送信待 2:送信継続の場合
         {&status_OK,&status_CONTINUE,NULL},
-        // unit_test[276] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
+        // unit_test[287] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
         {&status_OK,&status_NG,NULL},
-        // unit_test[277] 送信状態リストの要素の送信状態が1:送信待 2:送信済の場合
+        // unit_test[288] 送信状態リストの要素の送信状態が1:送信待 2:送信済の場合
         {&status_OK,&status_END,NULL},
-        // unit_test[278] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
+        // unit_test[289] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
         {&status_OK,&status_OK,NULL},
-        // unit_test[279] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信継続の場合
+        // unit_test[290] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信継続の場合
         {&status_END,&status_CONTINUE,&status_CONTINUE},
-        // unit_test[280] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信不可の場合
+        // unit_test[291] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信不可の場合
         {&status_END,&status_CONTINUE,&status_NG},
-        // unit_test[281] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信済の場合
+        // unit_test[292] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信済の場合
         {&status_END,&status_CONTINUE,&status_END},
-        // unit_test[282] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信待の場合
+        // unit_test[293] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信待の場合
         {&status_END,&status_CONTINUE,&status_OK},
-        // unit_test[283] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信継続の場合
+        // unit_test[294] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信継続の場合
         {&status_END,&status_NG,&status_CONTINUE},
-        // unit_test[284] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信不可の場合
+        // unit_test[295] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信不可の場合
         {&status_END,&status_NG,&status_NG},
-        // unit_test[285] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信済の場合
+        // unit_test[296] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信済の場合
         {&status_END,&status_NG,&status_END},
-        // unit_test[286] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信待の場合
+        // unit_test[297] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信待の場合
         {&status_END,&status_NG,&status_OK},
-        // unit_test[287] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信待の場合
+        // unit_test[298] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信待の場合
         {&status_END,&status_END,&status_OK},
-        // unit_test[288] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信継続の場合
+        // unit_test[299] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信継続の場合
         {&status_END,&status_OK,&status_CONTINUE},
-        // unit_test[289] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信不可の場合
+        // unit_test[300] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信不可の場合
         {&status_END,&status_OK,&status_NG},
-        // unit_test[290] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信済の場合
+        // unit_test[301] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信済の場合
         {&status_END,&status_OK,&status_END},
-        // unit_test[291] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信待の場合
+        // unit_test[302] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信待の場合
         {&status_END,&status_OK,&status_OK},
     };
 
@@ -6685,12 +6693,12 @@ void handle_realserver_recv_tcp_test() {
         }
 
         ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
-        std::cout << "[" << 265 + i << "]------------------------------------------" << std::endl;
+        std::cout << "[" << 276 + i << "]------------------------------------------" << std::endl;
         BOOST_CHECK_EQUAL(ret, FINALIZE);
     }
 
-    cout << "[292]------------------------------------------" << endl;
-    // unit_test[292] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信継続の場合
+    cout << "[303]------------------------------------------" << endl;
+    // unit_test[303] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -6736,8 +6744,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 39u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 11u);
 
-    cout << "[293]------------------------------------------" << endl;
-    // unit_test[293] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信不可の場合
+    cout << "[304]------------------------------------------" << endl;
+    // unit_test[304] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     recive_data_global.send_status_list.clear();
@@ -6775,8 +6783,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[294]------------------------------------------" << endl;
-    // unit_test[294] 送信状態リストの要素の送信状態が1:送信済 2:送信不可の場合
+    cout << "[305]------------------------------------------" << endl;
+    // unit_test[305] 送信状態リストの要素の送信状態が1:送信済 2:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -6813,8 +6821,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[295]------------------------------------------" << endl;
-    // unit_test[295] 送信状態リストの要素の送信状態が1:送信済 2:送信継続の場合
+    cout << "[306]------------------------------------------" << endl;
+    // unit_test[306] 送信状態リストの要素の送信状態が1:送信済 2:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -6854,8 +6862,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 39u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 11u);
 
-    cout << "[296]------------------------------------------" << endl;
-    // unit_test[296] 送信状態リストの要素の送信状態が1:送信済 2:送信済の場合
+    cout << "[307]------------------------------------------" << endl;
+    // unit_test[307] 送信状態リストの要素の送信状態が1:送信済 2:送信済の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -6889,8 +6897,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[297]------------------------------------------" << endl;
-    // unit_test[297] 送信状態リストの要素の送信状態が1:送信不可の場合
+    cout << "[308]------------------------------------------" << endl;
+    // unit_test[308] 送信状態リストの要素の送信状態が1:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -6920,8 +6928,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[298]------------------------------------------" << endl;
-    // unit_test[298] 送信状態リストの要素の送信状態が1:送信継続の場合
+    cout << "[309]------------------------------------------" << endl;
+    // unit_test[309] 送信状態リストの要素の送信状態が1:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -6961,8 +6969,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 30u);
 
-    cout << "[299]------------------------------------------" << endl;
-    // unit_test[299] 送信状態リストの要素の送信状態が1:送信済の場合
+    cout << "[310]------------------------------------------" << endl;
+    // unit_test[310] 送信状態リストの要素の送信状態が1:送信済の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -6990,8 +6998,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[300]------------------------------------------" << endl;
-    // unit_test[300] 送信状態リストの要素数が0である場合
+    cout << "[311]------------------------------------------" << endl;
+    // unit_test[311] 送信状態リストの要素数が0である場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -7014,10 +7022,10 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
     // unit_test_part2 begin:
-    cout << "[301]------------------------------------------" << endl;
-    // unit_test[301] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[301]  ●データバッファMAXサイズ < 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[301]  ●メモリの内容をチェックする
+    cout << "[312]------------------------------------------" << endl;
+    // unit_test[312] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[312]  ●データバッファMAXサイズ < 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[312]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 80;
     delete[] recive_data_global.recive_buffer1;
@@ -7048,10 +7056,10 @@ void handle_realserver_recv_tcp_test() {
     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, 112u);
 
-    cout << "[302]------------------------------------------" << endl;
-    // unit_test[302] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[302]  ●データバッファMAXサイズ < 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[302]  ●メモリの内容をチェックする
+    cout << "[313]------------------------------------------" << endl;
+    // unit_test[313] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[313]  ●データバッファMAXサイズ < 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[313]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -7096,10 +7104,10 @@ void handle_realserver_recv_tcp_test() {
     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, MAX_BUFFER_SIZE + 20);
 
-    cout << "[303]------------------------------------------" << endl;
-    // unit_test[303] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[303]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[303]  ●メモリの内容をチェックする
+    cout << "[314]------------------------------------------" << endl;
+    // unit_test[314] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[314]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[314]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -7129,10 +7137,10 @@ void handle_realserver_recv_tcp_test() {
     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, 72u);
 
-    cout << "[304]------------------------------------------" << endl;
-    // unit_test[304] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[304]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[304]  ●メモリの内容をチェックする
+    cout << "[315]------------------------------------------" << endl;
+    // unit_test[315] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[315]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[315]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -7162,10 +7170,10 @@ void handle_realserver_recv_tcp_test() {
     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, 90u);
 
-    cout << "[305]------------------------------------------" << endl;
-    // unit_test[305] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[305]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[305]  ●メモリの内容をチェックする
+    cout << "[316]------------------------------------------" << endl;
+    // unit_test[316] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[316]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[316]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7204,10 +7212,10 @@ void handle_realserver_recv_tcp_test() {
     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, 72u);
 
-    cout << "[306]------------------------------------------" << endl;
-    // unit_test[306] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[306]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[306]  ●メモリの内容をチェックする
+    cout << "[317]------------------------------------------" << endl;
+    // unit_test[317] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[317]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[317]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7246,10 +7254,10 @@ void handle_realserver_recv_tcp_test() {
     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, 90u);
 
-    cout << "[307]------------------------------------------" << endl;
-    // unit_test[307] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[307]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[307]  ●メモリの内容をチェックする
+    cout << "[318]------------------------------------------" << endl;
+    // unit_test[318] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[318]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[318]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7276,10 +7284,10 @@ void handle_realserver_recv_tcp_test() {
     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, 72u);
 
-    cout << "[308]------------------------------------------" << endl;
-    // unit_test[308] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[308]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[308]  ●メモリの内容をチェックする
+    cout << "[319]------------------------------------------" << endl;
+    // unit_test[319] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[319]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[319]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7307,10 +7315,10 @@ void handle_realserver_recv_tcp_test() {
     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, 90u);
 
-    cout << "[309]------------------------------------------" << endl;
-    // unit_test[309] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[309]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[309]  ●メモリの内容をチェックする
+    cout << "[320]------------------------------------------" << endl;
+    // unit_test[320] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[320]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[320]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7349,10 +7357,10 @@ void handle_realserver_recv_tcp_test() {
     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, 72u);
 
-    cout << "[310]------------------------------------------" << endl;
-    // unit_test[310] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[310]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[310]  ●メモリの内容をチェックする
+    cout << "[321]------------------------------------------" << endl;
+    // unit_test[321] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[321]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[321]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7391,9 +7399,9 @@ void handle_realserver_recv_tcp_test() {
     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, 90u);
 
-    cout << "[311]------------------------------------------" << endl;
-    // unit_test[311] データバッファ残サイズ > レスポンスデータサイズ
-    // unit_test[311]  ●メモリの内容をチェックする
+    cout << "[322]------------------------------------------" << endl;
+    // unit_test[322] データバッファ残サイズ > レスポンスデータサイズ
+    // unit_test[322]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7420,9 +7428,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 62u);
 
-    cout << "[312]------------------------------------------" << endl;
-    // unit_test[312] データバッファ残サイズ = レスポンスデータサイズ
-    // unit_test[312]  ●メモリの内容をチェックする
+    cout << "[323]------------------------------------------" << endl;
+    // unit_test[323] データバッファ残サイズ = レスポンスデータサイズ
+    // unit_test[323]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7450,9 +7458,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 70u);
 
     // unit_test_part3 begin:
-    cout << "[313]------------------------------------------" << endl;
-    // unit_test[313] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[313]  ●送信データ残サイズ < レスポンスデータ残サイズ
+    cout << "[324]------------------------------------------" << endl;
+    // unit_test[324] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[324]  ●送信データ残サイズ < レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -7489,9 +7497,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 30u);
 
-    cout << "[314]------------------------------------------" << endl;
-    // unit_test[314] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[314]  ●送信データ残サイズ = レスポンスデータ残サイズ
+    cout << "[325]------------------------------------------" << endl;
+    // unit_test[325] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[325]  ●送信データ残サイズ = レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -7522,9 +7530,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[315]------------------------------------------" << endl;
-    // unit_test[315] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[315]  ●送信データ残サイズ > レスポンスデータ残サイズ
+    cout << "[326]------------------------------------------" << endl;
+    // unit_test[326] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[326]  ●送信データ残サイズ > レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7552,9 +7560,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[316]------------------------------------------" << endl;
-    // unit_test[316] 送信状態が送信不可の場合
-    // unit_test[316]  ●HTTPバージョンの妥当性をチェックして、異常の場合
+    cout << "[327]------------------------------------------" << endl;
+    // unit_test[327] 送信状態が送信不可の場合
+    // unit_test[327]  ●HTTPバージョンの妥当性をチェックして、異常の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -7583,9 +7591,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[317]------------------------------------------" << endl;
-    // unit_test[317] 送信状態が送信不可の場合
-    // unit_test[317]  ●HTTPバージョンの妥当性をチェックして、チェック不可の場合
+    cout << "[328]------------------------------------------" << endl;
+    // unit_test[328] 送信状態が送信不可の場合
+    // unit_test[328]  ●HTTPバージョンの妥当性をチェックして、チェック不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -7614,9 +7622,9 @@ void handle_realserver_recv_tcp_test() {
     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, 11u);
 
-    cout << "[318]------------------------------------------" << endl;
-    // unit_test[318] 送信状態が送信不可の場合
-    // unit_test[318]  ●HTTPヘッダの妥当性をチェックして、不可の場合
+    cout << "[329]------------------------------------------" << endl;
+    // unit_test[329] 送信状態が送信不可の場合
+    // unit_test[329]  ●HTTPヘッダの妥当性をチェックして、不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -7644,9 +7652,9 @@ void handle_realserver_recv_tcp_test() {
     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, 51u);
 
-    cout << "[319]------------------------------------------" << endl;
-    // unit_test[319] 送信状態が送信不可の場合
-    // unit_test[319]  ●HTTPヘッダ(ContentLength)があり
+    cout << "[330]------------------------------------------" << endl;
+    // unit_test[330] 送信状態が送信不可の場合
+    // unit_test[330]  ●HTTPヘッダ(ContentLength)があり
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -7675,9 +7683,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 3u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[320]------------------------------------------" << endl;
-    // unit_test[320] 送信状態が送信不可の場合
-    // unit_test[320]  ●HTTPヘッダ(ContentLength)なし
+    cout << "[331]------------------------------------------" << endl;
+    // unit_test[331] 送信状態が送信不可の場合
+    // unit_test[331]  ●HTTPヘッダ(ContentLength)なし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -7706,9 +7714,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[321]------------------------------------------" << endl;
-    // unit_test[321] 送信状態が送信不可の場合
-    // unit_test[321]  ●送信データ残サイズ > 未送信データサイズ + レスポンスデータ残サイズ
+    cout << "[332]------------------------------------------" << endl;
+    // unit_test[332] 送信状態が送信不可の場合
+    // unit_test[332]  ●送信データ残サイズ > 未送信データサイズ + レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7745,9 +7753,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
 
-    cout << "[322]------------------------------------------" << endl;
-    // unit_test[322] 送信状態が送信不可の場合
-    // unit_test[322]  ●送信データ残サイズ < 未送信データサイズ + レスポンスデータ残サイズ
+    cout << "[333]------------------------------------------" << endl;
+    // unit_test[333] 送信状態が送信不可の場合
+    // unit_test[333]  ●送信データ残サイズ < 未送信データサイズ + レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7779,9 +7787,9 @@ void handle_realserver_recv_tcp_test() {
     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);
 
-    cout << "[323]------------------------------------------" << endl;
-    // unit_test[323] 送信状態が送信不可の場合
-    // unit_test[323]  ●送信データ残サイズ = 未送信データサイズ + レスポンスデータ残サイズ
+    cout << "[334]------------------------------------------" << endl;
+    // unit_test[334] 送信状態が送信不可の場合
+    // unit_test[334]  ●送信データ残サイズ = 未送信データサイズ + レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7812,8 +7820,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 70u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
 
-    cout << "[324]------------------------------------------" << endl;
-    // unit_test[324] レスポンスデータ残サイズ < 0
+    cout << "[335]------------------------------------------" << endl;
+    // unit_test[335] レスポンスデータ残サイズ < 0
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7851,8 +7859,8 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
 
-    cout << "[325]------------------------------------------" << endl;
-    // unit_test[325] レスポンスデータ残サイズ = 0
+    cout << "[336]------------------------------------------" << endl;
+    // unit_test[336] レスポンスデータ残サイズ = 0
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -7884,9 +7892,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
 
     // unit_test_part4 begin:
-    cout << "[326]------------------------------------------" << endl;
-    // unit_test[326] レスポンスデータ残サイズ > 0
-    // unit_test[326]  ●HTTPバージョンの妥当性をチェックして、不可の場合
+    cout << "[337]------------------------------------------" << endl;
+    // unit_test[337] レスポンスデータ残サイズ > 0
+    // unit_test[337]  ●HTTPバージョンの妥当性をチェックして、不可の場合
     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;
@@ -7916,9 +7924,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 49u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 1u);
 
-    cout << "[327]------------------------------------------" << endl;
-    // unit_test[327] レスポンスデータ残サイズ > 0
-    // unit_test[327]  ●HTTPバージョンの妥当性をチェックして、異常の場合
+    cout << "[338]------------------------------------------" << endl;
+    // unit_test[338] レスポンスデータ残サイズ > 0
+    // unit_test[338]  ●HTTPバージョンの妥当性をチェックして、異常の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7935,9 +7943,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[328]------------------------------------------" << endl;
-    // unit_test[328] レスポンスデータ残サイズ > 0
-    // unit_test[328]  ●HTTPヘッダの妥当性をチェックして、不可の場合
+    cout << "[339]------------------------------------------" << endl;
+    // unit_test[339] レスポンスデータ残サイズ > 0
+    // unit_test[339]  ●HTTPヘッダの妥当性をチェックして、不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7954,9 +7962,9 @@ void handle_realserver_recv_tcp_test() {
     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);
 
-    cout << "[329]------------------------------------------" << endl;
-    // unit_test[329] レスポンスデータ残サイズ > 0
-    // unit_test[329]  ●HTTPヘッダ(ContentLength)があり
+    cout << "[340]------------------------------------------" << endl;
+    // unit_test[340] レスポンスデータ残サイズ > 0
+    // unit_test[340]  ●HTTPヘッダ(ContentLength)があり
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7974,9 +7982,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 4u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[330]------------------------------------------" << endl;
-    // unit_test[330] レスポンスデータ残サイズ > 0
-    // unit_test[330]  ●HTTPヘッダ(ContentLength)なし
+    cout << "[341]------------------------------------------" << endl;
+    // unit_test[341] レスポンスデータ残サイズ > 0
+    // unit_test[341]  ●HTTPヘッダ(ContentLength)なし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -7994,9 +8002,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[331]------------------------------------------" << endl;
-    // unit_test[331] レスポンスデータ残サイズ > 0
-    // unit_test[331]  ●送信データ残サイズ = レスポンスデータ残サイズ
+    cout << "[342]------------------------------------------" << endl;
+    // unit_test[342] レスポンスデータ残サイズ > 0
+    // unit_test[342]  ●送信データ残サイズ = レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -8014,9 +8022,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[332]------------------------------------------" << endl;
-    // unit_test[332] レスポンスデータ残サイズ > 0
-    // unit_test[332]  ●送信データ残サイズ < レスポンスデータ残サイズ
+    cout << "[343]------------------------------------------" << endl;
+    // unit_test[343] レスポンスデータ残サイズ > 0
+    // unit_test[343]  ●送信データ残サイズ < レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -8039,9 +8047,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 12u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
 
-    cout << "[333]------------------------------------------" << endl;
-    // unit_test[333] レスポンスデータ残サイズ > 0
-    // unit_test[333]  ●送信データ残サイズ > レスポンスデータ残サイズ
+    cout << "[344]------------------------------------------" << endl;
+    // unit_test[344] レスポンスデータ残サイズ > 0
+    // unit_test[344]  ●送信データ残サイズ > レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -8059,9 +8067,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, REQUEST_BUFFER_SIZE);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[334]------------------------------------------" << endl;
-    // unit_test[334] レスポンスデータ残サイズ > 0
-    // unit_test[334]  ●出力の送信状態リスト: 1:送信待 2:送信待
+    cout << "[345]------------------------------------------" << endl;
+    // unit_test[345] レスポンスデータ残サイズ > 0
+    // unit_test[345]  ●出力の送信状態リスト: 1:送信待 2:送信待
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 76;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -8094,9 +8102,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_possible_size, 32u);
     BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 32u);
 
-    cout << "[335]------------------------------------------" << endl;
-    // unit_test[335] レスポンスデータ残サイズ > 0
-    // unit_test[335]  ●出力の送信状態リスト: 1:送信待 2:送信不可
+    cout << "[346]------------------------------------------" << endl;
+    // unit_test[346] レスポンスデータ残サイズ > 0
+    // unit_test[346]  ●出力の送信状態リスト: 1:送信待 2:送信不可
     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;
@@ -8126,9 +8134,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 1u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 49u);
 
-    cout << "[336]------------------------------------------" << endl;
-    // unit_test[336] レスポンスデータ残サイズ > 0
-    // unit_test[336]  ●出力の送信状態リスト: 1:送信待
+    cout << "[347]------------------------------------------" << endl;
+    // unit_test[347] レスポンスデータ残サイズ > 0
+    // unit_test[347]  ●出力の送信状態リスト: 1:送信待
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -8146,9 +8154,9 @@ void handle_realserver_recv_tcp_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 4u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[337]------------------------------------------" << endl;
-    // unit_test[337] レスポンスデータ残サイズ > 0
-    // unit_test[337]  ●出力の送信状態リスト: 1:送信不可
+    cout << "[348]------------------------------------------" << endl;
+    // unit_test[348] レスポンスデータ残サイズ > 0
+    // unit_test[348]  ●出力の送信状態リスト: 1:送信不可
     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;
@@ -8169,8 +8177,8 @@ void handle_realserver_recv_tcp_test() {
     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);
 
-    cout << "[338]------------------------------------------" << endl;
-    // unit_test[338] 送信可能データがあり
+    cout << "[349]------------------------------------------" << endl;
+    // unit_test[349] 送信可能データがあり
     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;
@@ -8187,8 +8195,8 @@ void handle_realserver_recv_tcp_test() {
 
     BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
 
-    cout << "[339]------------------------------------------" << endl;
-    // unit_test[339] 送信可能データなし
+    cout << "[350]------------------------------------------" << endl;
+    // unit_test[350] 送信可能データなし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -8233,9 +8241,9 @@ void handle_realserver_recv_tcp_test_thread(){
                 psession_thread_data->recive_data_map.find(rs_endpoint);
     recive_data& recive_data_global = it->second;
 
-    cout << "[334]------------------------------------------\n";
-    // unit_test[334] レスポンスデータ残サイズ > 0
-    // unit_test[334]  ●出力の送信状態リスト: 1:送信待 2:送信不可
+    cout << "[351]------------------------------------------\n";
+    // unit_test[351] レスポンスデータ残サイズ > 0
+    // unit_test[351]  ●出力の送信状態リスト: 1:送信待 2:送信不可
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 76;
     recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
@@ -8258,17 +8266,20 @@ void handle_realserver_recv_tcp_test_thread(){
 
     ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
 
-    BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
-    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_rest_size, 0u);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 32u);
-    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_NG);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_rest_size, 0u);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->unsend_size, 31u);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 32u);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
+        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_rest_size, 0u);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 32u);
+        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_NG);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_rest_size, 0u);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->unsend_size, 31u);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 32u);
+    }
 }
 
 //handle_realserver_recv(udp) 郎希倹
@@ -8277,8 +8288,8 @@ void handle_realserver_recv_udp_test() {
     boost::array<char,MAX_BUFFER_SIZE> recvbuffer;
     size_t recvlen = 0;
 
-    cout << "[340]------------------------------------------" << endl;
-    // unit_test[340] 異常系で必ずSTOPを返す
+    cout << "[352]------------------------------------------" << endl;
+    // unit_test[352] 異常系で必ずSTOPを返す
     BOOST_CHECK_EQUAL(this->handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, recvbuffer, recvlen), STOP);
 }
 
@@ -8310,14 +8321,14 @@ void handle_sorryserver_recv_test() {
     psession_thread_data->recive_data_map[sorry_endpoint] = recive_data_tmp;
     this->forwarded_for = 1;
 
-    cout << "[341]------------------------------------------" << endl;
-    // unit_test[341] boost::this_thread::get_id()対応のデータなし
+    cout << "[353]------------------------------------------" << endl;
+    // unit_test[353] boost::this_thread::get_id()対応のデータなし
     this->session_thread_data_map.clear();
     ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[342]------------------------------------------" << endl;
-    // unit_test[342] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
+    cout << "[354]------------------------------------------" << endl;
+    // unit_test[354] boost::this_thread::get_id()対応のデータsession_thread_dataがNULL
     this->session_thread_data_map.clear();
     thread_data_ptr p;
     this->session_thread_data_map[boost::this_thread::get_id()] = p;
@@ -8333,8 +8344,8 @@ void handle_sorryserver_recv_test() {
                 psession_thread_data->recive_data_map.find(sorry_endpoint);
     recive_data& recive_data_global = it->second;
 
-    cout << "[344]------------------------------------------" << endl;
-    // unit_test[344] recive_data.recive_buffer=Null
+    cout << "[355]------------------------------------------" << endl;
+    // unit_test[355] recive_data.recive_buffer=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
@@ -8343,8 +8354,8 @@ void handle_sorryserver_recv_test() {
     ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[345]------------------------------------------" << endl;
-    // unit_test[345] recive_data.recive_buffer1=Null
+    cout << "[356]------------------------------------------" << endl;
+    // unit_test[356] recive_data.recive_buffer1=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 20;
     delete[] recive_data_global.recive_buffer1;
@@ -8360,8 +8371,8 @@ void handle_sorryserver_recv_test() {
     ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[346]------------------------------------------" << endl;
-    // unit_test[346] recive_data.recive_buffer2=Null
+    cout << "[357]------------------------------------------" << endl;
+    // unit_test[357] recive_data.recive_buffer2=Null
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 20;
     delete[] recive_data_global.recive_buffer2;
@@ -8376,8 +8387,8 @@ void handle_sorryserver_recv_test() {
     ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[347]------------------------------------------" << endl;
-    // unit_test[347] new失敗の場合
+    cout << "[358]------------------------------------------" << endl;
+    // unit_test[358] new失敗の場合
     recive_data_global.recive_buffer_max_size = 0;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer2;
@@ -8396,8 +8407,8 @@ void handle_sorryserver_recv_test() {
     this->getloglevel = &stb_getloglevel;
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[348]------------------------------------------" << endl;
-    // unit_test[348] レスポンスサイズが0である
+    cout << "[359]------------------------------------------" << endl;
+    // unit_test[359] レスポンスサイズが0である
     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;
@@ -8410,8 +8421,8 @@ void handle_sorryserver_recv_test() {
     ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, 0);
     BOOST_CHECK_EQUAL(ret, SORRYSERVER_RECV);
 
-    cout << "[349]------------------------------------------" << endl;
-    // unit_test[349] レスポンスサイズがUINT_MAXである レスポンス実際にサイズがMAX_BUFFER_SIZEである
+    cout << "[360]------------------------------------------" << endl;
+    // unit_test[360] レスポンスサイズがUINT_MAXである レスポンス実際にサイズがMAX_BUFFER_SIZEである
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = MAX_BUFFER_SIZE;
     delete[] recive_data_global.recive_buffer1;
@@ -8425,8 +8436,8 @@ void handle_sorryserver_recv_test() {
     ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, UINT_MAX);
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[350]------------------------------------------" << endl;
-    // unit_test[350] レスポンスサイズがMAX_BUFFER_SIZEである レスポンス実際にサイズがMAX_BUFFER_SIZEである
+    cout << "[361]------------------------------------------" << endl;
+    // unit_test[361] レスポンスサイズがMAX_BUFFER_SIZEである レスポンス実際にサイズがMAX_BUFFER_SIZEである
     recive_data_global.recive_buffer_max_size = MAX_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = MAX_BUFFER_SIZE;
     delete[] recive_data_global.recive_buffer1;
@@ -8475,59 +8486,59 @@ void handle_sorryserver_recv_test() {
     send_status* send_status_NG[27][3]
     = {
         // unit_test 入力の送信状態リストは下記の通り:(異常系)
-        // unit_test[351] 送信状態リストの要素の送信状態が1:送信待の場合
+        // unit_test[362] 送信状態リストの要素の送信状態が1:送信待の場合
         {&status_OK,NULL,NULL},
-        // unit_test[352] 送信状態リストの要素の送信状態が1:送信済 2:送信待の場合
+        // unit_test[363] 送信状態リストの要素の送信状態が1:送信済 2:送信待の場合
         {&status_END,&status_OK,NULL},
-        // unit_test[353] 送信状態リストの要素の送信状態が1:送信継続 2:送信継続の場合
+        // unit_test[364] 送信状態リストの要素の送信状態が1:送信継続 2:送信継続の場合
         {&status_CONTINUE,&status_CONTINUE,NULL},
-        // unit_test[354] 送信状態リストの要素の送信状態が1:送信継続 2:送信不可の場合
+        // unit_test[365] 送信状態リストの要素の送信状態が1:送信継続 2:送信不可の場合
         {&status_CONTINUE,&status_NG,NULL},
-        // unit_test[355] 送信状態リストの要素の送信状態が1:送信継続 2:送信済の場合
+        // unit_test[366] 送信状態リストの要素の送信状態が1:送信継続 2:送信済の場合
         {&status_CONTINUE,&status_END,NULL},
-        // unit_test[356] 送信状態リストの要素の送信状態が1:送信継続 2:送信待の場合
+        // unit_test[367] 送信状態リストの要素の送信状態が1:送信継続 2:送信待の場合
         {&status_CONTINUE,&status_OK,NULL},
-        // unit_test[357] 送信状態リストの要素の送信状態が1:送信不可 2:送信継続の場合
+        // unit_test[368] 送信状態リストの要素の送信状態が1:送信不可 2:送信継続の場合
         {&status_NG,&status_CONTINUE,NULL},
-        // unit_test[358] 送信状態リストの要素の送信状態が1:送信不可 2:送信不可の場合
+        // unit_test[369] 送信状態リストの要素の送信状態が1:送信不可 2:送信不可の場合
         {&status_NG,&status_NG,NULL},
-        // unit_test[359] 送信状態リストの要素の送信状態が1:送信不可 2:送信済の場合
+        // unit_test[370] 送信状態リストの要素の送信状態が1:送信不可 2:送信済の場合
         {&status_NG,&status_END,NULL},
-        // unit_test[360] 送信状態リストの要素の送信状態が1:送信不可 2:送信待の場合
+        // unit_test[371] 送信状態リストの要素の送信状態が1:送信不可 2:送信待の場合
         {&status_NG,&status_OK,NULL},
-        // unit_test[361] 送信状態リストの要素の送信状態が1:送信待 2:送信継続の場合
+        // unit_test[372] 送信状態リストの要素の送信状態が1:送信待 2:送信継続の場合
         {&status_OK,&status_CONTINUE,NULL},
-        // unit_test[362] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
+        // unit_test[373] 送信状態リストの要素の送信状態が1:送信待 2:送信不可の場合
         {&status_OK,&status_NG,NULL},
-        // unit_test[363] 送信状態リストの要素の送信状態が1:送信待 2:送信済の場合
+        // unit_test[374] 送信状態リストの要素の送信状態が1:送信待 2:送信済の場合
         {&status_OK,&status_END,NULL},
-        // unit_test[364] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
+        // unit_test[375] 送信状態リストの要素の送信状態が1:送信待 2:送信待の場合
         {&status_OK,&status_OK,NULL},
-        // unit_test[365] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信継続の場合
+        // unit_test[376] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信継続の場合
         {&status_END,&status_CONTINUE,&status_CONTINUE},
-        // unit_test[366] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信不可の場合
+        // unit_test[377] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信不可の場合
         {&status_END,&status_CONTINUE,&status_NG},
-        // unit_test[367] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信済の場合
+        // unit_test[378] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信済の場合
         {&status_END,&status_CONTINUE,&status_END},
-        // unit_test[368] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信待の場合
+        // unit_test[379] 送信状態リストの要素の送信状態が1:送信済 2:送信継続 3:送信待の場合
         {&status_END,&status_CONTINUE,&status_OK},
-        // unit_test[369] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信継続の場合
+        // unit_test[380] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信継続の場合
         {&status_END,&status_NG,&status_CONTINUE},
-        // unit_test[370] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信不可の場合
+        // unit_test[381] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信不可の場合
         {&status_END,&status_NG,&status_NG},
-        // unit_test[371] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信済の場合
+        // unit_test[382] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信済の場合
         {&status_END,&status_NG,&status_END},
-        // unit_test[372] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信待の場合
+        // unit_test[383] 送信状態リストの要素の送信状態が1:送信済 2:送信不可 3:送信待の場合
         {&status_END,&status_NG,&status_OK},
-        // unit_test[373] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信待の場合
+        // unit_test[384] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信待の場合
         {&status_END,&status_END,&status_OK},
-        // unit_test[374] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信継続の場合
+        // unit_test[385] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信継続の場合
         {&status_END,&status_OK,&status_CONTINUE},
-        // unit_test[375] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信不可の場合
+        // unit_test[386] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信不可の場合
         {&status_END,&status_OK,&status_NG},
-        // unit_test[376] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信済の場合
+        // unit_test[387] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信済の場合
         {&status_END,&status_OK,&status_END},
-        // unit_test[377] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信待の場合
+        // unit_test[388] 送信状態リストの要素の送信状態が1:送信済 2:送信待 3:送信待の場合
         {&status_END,&status_OK,&status_OK},
     };
 
@@ -8558,12 +8569,12 @@ void handle_sorryserver_recv_test() {
         }
 
         ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
-        std::cout << "[" << 352 + i << "]------------------------------------------" << std::endl;
+        std::cout << "[" << 362 + i << "]------------------------------------------" << std::endl;
         BOOST_CHECK_EQUAL(ret, FINALIZE);
     }
 
-    cout << "[378]------------------------------------------" << endl;
-    // unit_test[378] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信継続の場合
+    cout << "[389]------------------------------------------" << endl;
+    // unit_test[389] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -8609,8 +8620,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 39u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 11u);
 
-    cout << "[379]------------------------------------------" << endl;
-    // unit_test[379] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信不可の場合
+    cout << "[390]------------------------------------------" << endl;
+    // unit_test[390] 送信状態リストの要素の送信状態が1:送信済 2:送信済 3:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     recive_data_global.send_status_list.clear();
@@ -8648,8 +8659,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[380]------------------------------------------" << endl;
-    // unit_test[380] 送信状態リストの要素の送信状態が1:送信済 2:送信不可の場合
+    cout << "[391]------------------------------------------" << endl;
+    // unit_test[391] 送信状態リストの要素の送信状態が1:送信済 2:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -8686,8 +8697,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[381]------------------------------------------" << endl;
-    // unit_test[381] 送信状態リストの要素の送信状態が1:送信済 2:送信継続の場合
+    cout << "[392]------------------------------------------" << endl;
+    // unit_test[392] 送信状態リストの要素の送信状態が1:送信済 2:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -8727,8 +8738,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 39u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 11u);
 
-    cout << "[382]------------------------------------------" << endl;
-    // unit_test[382] 送信状態リストの要素の送信状態が1:送信済 2:送信済の場合
+    cout << "[393]------------------------------------------" << endl;
+    // unit_test[393] 送信状態リストの要素の送信状態が1:送信済 2:送信済の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -8762,8 +8773,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[383]------------------------------------------" << endl;
-    // unit_test[383] 送信状態リストの要素の送信状態が1:送信不可の場合
+    cout << "[394]------------------------------------------" << endl;
+    // unit_test[394] 送信状態リストの要素の送信状態が1:送信不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 40;
     delete[] recive_data_global.recive_buffer1;
@@ -8793,8 +8804,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 60u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[384]------------------------------------------" << endl;
-    // unit_test[384] 送信状態リストの要素の送信状態が1:送信継続の場合
+    cout << "[395]------------------------------------------" << endl;
+    // unit_test[395] 送信状態リストの要素の送信状態が1:送信継続の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -8834,8 +8845,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 30u);
 
-    cout << "[385]------------------------------------------" << endl;
-    // unit_test[385] 送信状態リストの要素の送信状態が1:送信済の場合
+    cout << "[396]------------------------------------------" << endl;
+    // unit_test[396] 送信状態リストの要素の送信状態が1:送信済の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -8863,8 +8874,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[386]------------------------------------------" << endl;
-    // unit_test[386] 送信状態リストの要素数が0である場合
+    cout << "[397]------------------------------------------" << endl;
+    // unit_test[397] 送信状態リストの要素数が0である場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 10;
     delete[] recive_data_global.recive_buffer1;
@@ -8887,10 +8898,10 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
     // unit_test_part2 begin:
-    cout << "[387]------------------------------------------" << endl;
-    // unit_test[387] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[387]  ●データバッファMAXサイズ < 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[387]  ●メモリの内容をチェックする
+    cout << "[398]------------------------------------------" << endl;
+    // unit_test[398] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[398]  ●データバッファMAXサイズ < 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[398]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 80;
     delete[] recive_data_global.recive_buffer1;
@@ -8921,10 +8932,10 @@ void handle_sorryserver_recv_test() {
     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, 112u);
 
-    cout << "[388]------------------------------------------" << endl;
-    // unit_test[388] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[388]  ●データバッファMAXサイズ < 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[388]  ●メモリの内容をチェックする
+    cout << "[399]------------------------------------------" << endl;
+    // unit_test[399] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[399]  ●データバッファMAXサイズ < 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[399]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -8969,10 +8980,10 @@ void handle_sorryserver_recv_test() {
     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, MAX_BUFFER_SIZE + 20);
 
-    cout << "[389]------------------------------------------" << endl;
-    // unit_test[389] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[389]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[389]  ●メモリの内容をチェックする
+    cout << "[400]------------------------------------------" << endl;
+    // unit_test[400] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[400]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[400]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -9002,10 +9013,10 @@ void handle_sorryserver_recv_test() {
     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, 72u);
 
-    cout << "[390]------------------------------------------" << endl;
-    // unit_test[390] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[390]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[390]  ●メモリの内容をチェックする
+    cout << "[401]------------------------------------------" << endl;
+    // unit_test[401] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[401]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[401]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     delete[] recive_data_global.recive_buffer1;
@@ -9035,10 +9046,10 @@ void handle_sorryserver_recv_test() {
     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, 90u);
 
-    cout << "[391]------------------------------------------" << endl;
-    // unit_test[391] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[391]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[391]  ●メモリの内容をチェックする
+    cout << "[402]------------------------------------------" << endl;
+    // unit_test[402] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[402]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[402]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9077,10 +9088,10 @@ void handle_sorryserver_recv_test() {
     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, 72u);
 
-    cout << "[392]------------------------------------------" << endl;
-    // unit_test[392] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[392]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[392]  ●メモリの内容をチェックする
+    cout << "[403]------------------------------------------" << endl;
+    // unit_test[403] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[403]  ●使用中データバッファがデータバッファ1の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[403]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9119,10 +9130,10 @@ void handle_sorryserver_recv_test() {
     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, 90u);
 
-    cout << "[393]------------------------------------------" << endl;
-    // unit_test[393] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[393]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[393]  ●メモリの内容をチェックする
+    cout << "[404]------------------------------------------" << endl;
+    // unit_test[404] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[404]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[404]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9149,10 +9160,10 @@ void handle_sorryserver_recv_test() {
     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, 72u);
 
-    cout << "[394]------------------------------------------" << endl;
-    // unit_test[394] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[394]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
-    // unit_test[394]  ●メモリの内容をチェックする
+    cout << "[405]------------------------------------------" << endl;
+    // unit_test[405] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[405]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(0) + レスポンスデータサイズ。
+    // unit_test[405]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9180,10 +9191,10 @@ void handle_sorryserver_recv_test() {
     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, 90u);
 
-    cout << "[395]------------------------------------------" << endl;
-    // unit_test[395] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[395]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[395]  ●メモリの内容をチェックする
+    cout << "[406]------------------------------------------" << endl;
+    // unit_test[406] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[406]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ > 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[406]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9222,10 +9233,10 @@ void handle_sorryserver_recv_test() {
     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, 72u);
 
-    cout << "[396]------------------------------------------" << endl;
-    // unit_test[396] データバッファ残サイズ < レスポンスデータサイズ
-    // unit_test[396]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
-    // unit_test[396]  ●メモリの内容をチェックする
+    cout << "[407]------------------------------------------" << endl;
+    // unit_test[407] データバッファ残サイズ < レスポンスデータサイズ
+    // unit_test[407]  ●使用中データバッファがデータバッファ2の場合、データバッファMAXサイズ = 未送信データサイズ(20) + レスポンスデータサイズ。
+    // unit_test[407]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 50;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9264,9 +9275,9 @@ void handle_sorryserver_recv_test() {
     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, 90u);
 
-    cout << "[397]------------------------------------------" << endl;
-    // unit_test[397] データバッファ残サイズ > レスポンスデータサイズ
-    // unit_test[397]  ●メモリの内容をチェックする
+    cout << "[408]------------------------------------------" << endl;
+    // unit_test[408] データバッファ残サイズ > レスポンスデータサイズ
+    // unit_test[408]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9293,9 +9304,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 62u);
 
-    cout << "[398]------------------------------------------" << endl;
-    // unit_test[398] データバッファ残サイズ = レスポンスデータサイズ
-    // unit_test[398]  ●メモリの内容をチェックする
+    cout << "[409]------------------------------------------" << endl;
+    // unit_test[409] データバッファ残サイズ = レスポンスデータサイズ
+    // unit_test[409]  ●メモリの内容をチェックする
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9323,9 +9334,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 70u);
 
     // unit_test_part3 begin:
-    cout << "[399]------------------------------------------" << endl;
-    // unit_test[399] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[399]  ●送信データ残サイズ < レスポンスデータ残サイズ
+    cout << "[410]------------------------------------------" << endl;
+    // unit_test[410] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[410]  ●送信データ残サイズ < レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -9362,9 +9373,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 20u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 30u);
 
-    cout << "[400]------------------------------------------" << endl;
-    // unit_test[400] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[400]  ●送信データ残サイズ = レスポンスデータ残サイズ
+    cout << "[411]------------------------------------------" << endl;
+    // unit_test[411] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[411]  ●送信データ残サイズ = レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     delete[] recive_data_global.recive_buffer1;
@@ -9395,9 +9406,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[401]------------------------------------------" << endl;
-    // unit_test[401] 送信状態リストの要素の送信状態が送信継続
-    // unit_test[401]  ●送信データ残サイズ > レスポンスデータ残サイズ
+    cout << "[412]------------------------------------------" << endl;
+    // unit_test[412] 送信状態リストの要素の送信状態が送信継続
+    // unit_test[412]  ●送信データ残サイズ > レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 11;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9425,9 +9436,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[402]------------------------------------------" << endl;
-    // unit_test[402] 送信状態が送信不可の場合
-    // unit_test[402]  ●HTTPバージョンの妥当性をチェックして、異常の場合
+    cout << "[413]------------------------------------------" << endl;
+    // unit_test[413] 送信状態が送信不可の場合
+    // unit_test[413]  ●HTTPバージョンの妥当性をチェックして、異常の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -9456,9 +9467,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[403]------------------------------------------" << endl;
-    // unit_test[403] 送信状態が送信不可の場合
-    // unit_test[403]  ●HTTPバージョンの妥当性をチェックして、チェック不可の場合
+    cout << "[414]------------------------------------------" << endl;
+    // unit_test[414] 送信状態が送信不可の場合
+    // unit_test[414]  ●HTTPバージョンの妥当性をチェックして、チェック不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -9487,9 +9498,9 @@ void handle_sorryserver_recv_test() {
     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, 11u);
 
-    cout << "[404]------------------------------------------" << endl;
-    // unit_test[404] 送信状態が送信不可の場合
-    // unit_test[404]  ●HTTPヘッダの妥当性をチェックして、不可の場合
+    cout << "[415]------------------------------------------" << endl;
+    // unit_test[415] 送信状態が送信不可の場合
+    // unit_test[415]  ●HTTPヘッダの妥当性をチェックして、不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -9517,9 +9528,9 @@ void handle_sorryserver_recv_test() {
     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, 51u);
 
-    cout << "[405]------------------------------------------" << endl;
-    // unit_test[405] 送信状態が送信不可の場合
-    // unit_test[405]  ●HTTPヘッダ(ContentLength)があり
+    cout << "[416]------------------------------------------" << endl;
+    // unit_test[416] 送信状態が送信不可の場合
+    // unit_test[416]  ●HTTPヘッダ(ContentLength)があり
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -9548,9 +9559,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 3u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[406]------------------------------------------" << endl;
-    // unit_test[406] 送信状態が送信不可の場合
-    // unit_test[406]  ●HTTPヘッダ(ContentLength)なし
+    cout << "[417]------------------------------------------" << endl;
+    // unit_test[417] 送信状態が送信不可の場合
+    // unit_test[417]  ●HTTPヘッダ(ContentLength)なし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     delete[] recive_data_global.recive_buffer1;
@@ -9579,9 +9590,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
 
-    cout << "[407]------------------------------------------" << endl;
-    // unit_test[407] 送信状態が送信不可の場合
-    // unit_test[407]  ●送信データ残サイズ > 未送信データサイズ + レスポンスデータ残サイズ
+    cout << "[418]------------------------------------------" << endl;
+    // unit_test[418] 送信状態が送信不可の場合
+    // unit_test[418]  ●送信データ残サイズ > 未送信データサイズ + レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9618,9 +9629,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
 
-    cout << "[408]------------------------------------------" << endl;
-    // unit_test[408] 送信状態が送信不可の場合
-    // unit_test[408]  ●送信データ残サイズ < 未送信データサイズ + レスポンスデータ残サイズ
+    cout << "[419]------------------------------------------" << endl;
+    // unit_test[419] 送信状態が送信不可の場合
+    // unit_test[419]  ●送信データ残サイズ < 未送信データサイズ + レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9652,9 +9663,9 @@ void handle_sorryserver_recv_test() {
     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);
 
-    cout << "[409]------------------------------------------" << endl;
-    // unit_test[409] 送信状態が送信不可の場合
-    // unit_test[409]  ●送信データ残サイズ = 未送信データサイズ + レスポンスデータ残サイズ
+    cout << "[420]------------------------------------------" << endl;
+    // unit_test[420] 送信状態が送信不可の場合
+    // unit_test[420]  ●送信データ残サイズ = 未送信データサイズ + レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9685,8 +9696,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 70u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
 
-    cout << "[410]------------------------------------------" << endl;
-    // unit_test[410] レスポンスデータ残サイズ < 0
+    cout << "[421]------------------------------------------" << endl;
+    // unit_test[421] レスポンスデータ残サイズ < 0
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9724,8 +9735,8 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
 
-    cout << "[411]------------------------------------------" << endl;
-    // unit_test[411] レスポンスデータ残サイズ = 0
+    cout << "[422]------------------------------------------" << endl;
+    // unit_test[422] レスポンスデータ残サイズ = 0
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 70;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer2;
@@ -9757,9 +9768,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
 
     // unit_test_part4 begin:
-    cout << "[412]------------------------------------------" << endl;
-    // unit_test[412] レスポンスデータ残サイズ > 0
-    // unit_test[412]  ●HTTPバージョンの妥当性をチェックして、不可の場合
+    cout << "[423]------------------------------------------" << endl;
+    // unit_test[423] レスポンスデータ残サイズ > 0
+    // unit_test[423]  ●HTTPバージョンの妥当性をチェックして、不可の場合
     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;
@@ -9789,9 +9800,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 49u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 1u);
 
-    cout << "[413]------------------------------------------" << endl;
-    // unit_test[413] レスポンスデータ残サイズ > 0
-    // unit_test[413]  ●HTTPバージョンの妥当性をチェックして、異常の場合
+    cout << "[424]------------------------------------------" << endl;
+    // unit_test[424] レスポンスデータ残サイズ > 0
+    // unit_test[424]  ●HTTPバージョンの妥当性をチェックして、異常の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9808,9 +9819,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[414]------------------------------------------" << endl;
-    // unit_test[414] レスポンスデータ残サイズ > 0
-    // unit_test[414]  ●HTTPヘッダの妥当性をチェックして、不可の場合
+    cout << "[425]------------------------------------------" << endl;
+    // unit_test[425] レスポンスデータ残サイズ > 0
+    // unit_test[425]  ●HTTPヘッダの妥当性をチェックして、不可の場合
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9827,9 +9838,9 @@ void handle_sorryserver_recv_test() {
     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);
 
-    cout << "[415]------------------------------------------" << endl;
-    // unit_test[415] レスポンスデータ残サイズ > 0
-    // unit_test[415]  ●HTTPヘッダ(ContentLength)があり
+    cout << "[426]------------------------------------------" << endl;
+    // unit_test[426] レスポンスデータ残サイズ > 0
+    // unit_test[426]  ●HTTPヘッダ(ContentLength)があり
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9847,9 +9858,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 4u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[416]------------------------------------------" << endl;
-    // unit_test[416] レスポンスデータ残サイズ > 0
-    // unit_test[416]  ●HTTPヘッダ(ContentLength)なし
+    cout << "[427]------------------------------------------" << endl;
+    // unit_test[427] レスポンスデータ残サイズ > 0
+    // unit_test[427]  ●HTTPヘッダ(ContentLength)なし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9867,9 +9878,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[417]------------------------------------------" << endl;
-    // unit_test[417] レスポンスデータ残サイズ > 0
-    // unit_test[417]  ●送信データ残サイズ = レスポンスデータ残サイズ
+    cout << "[428]------------------------------------------" << endl;
+    // unit_test[428] レスポンスデータ残サイズ > 0
+    // unit_test[428]  ●送信データ残サイズ = レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9887,9 +9898,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[418]------------------------------------------" << endl;
-    // unit_test[418] レスポンスデータ残サイズ > 0
-    // unit_test[418]  ●送信データ残サイズ < レスポンスデータ残サイズ
+    cout << "[429]------------------------------------------" << endl;
+    // unit_test[429] レスポンスデータ残サイズ > 0
+    // unit_test[429]  ●送信データ残サイズ < レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 0;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9912,9 +9923,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 12u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
 
-    cout << "[419]------------------------------------------" << endl;
-    // unit_test[419] レスポンスデータ残サイズ > 0
-    // unit_test[419]  ●送信データ残サイズ > レスポンスデータ残サイズ
+    cout << "[430]------------------------------------------" << endl;
+    // unit_test[430] レスポンスデータ残サイズ > 0
+    // unit_test[430]  ●送信データ残サイズ > レスポンスデータ残サイズ
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9932,9 +9943,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, REQUEST_BUFFER_SIZE);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
 
-    cout << "[420]------------------------------------------" << endl;
-    // unit_test[420] レスポンスデータ残サイズ > 0
-    // unit_test[420]  ●出力の送信状態リスト: 1:送信待 2:送信待
+    cout << "[431]------------------------------------------" << endl;
+    // unit_test[431] レスポンスデータ残サイズ > 0
+    // unit_test[431]  ●出力の送信状態リスト: 1:送信待 2:送信待
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 76;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -9967,9 +9978,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_possible_size, 32u);
     BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 32u);
 
-    cout << "[421]------------------------------------------" << endl;
-    // unit_test[421] レスポンスデータ残サイズ > 0
-    // unit_test[421]  ●出力の送信状態リスト: 1:送信待 2:送信不可
+    cout << "[432]------------------------------------------" << endl;
+    // unit_test[432] レスポンスデータ残サイズ > 0
+    // unit_test[432]  ●出力の送信状態リスト: 1:送信待 2:送信不可
     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;
@@ -9999,9 +10010,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 1u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 49u);
 
-    cout << "[422]------------------------------------------" << endl;
-    // unit_test[422] レスポンスデータ残サイズ > 0
-    // unit_test[422]  ●出力の送信状態リスト: 1:送信待
+    cout << "[433]------------------------------------------" << endl;
+    // unit_test[433] レスポンスデータ残サイズ > 0
+    // unit_test[433]  ●出力の送信状態リスト: 1:送信待
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -10019,9 +10030,9 @@ void handle_sorryserver_recv_test() {
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 4u);
     BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
 
-    cout << "[423]------------------------------------------" << endl;
-    // unit_test[423] レスポンスデータ残サイズ > 0
-    // unit_test[423]  ●出力の送信状態リスト: 1:送信不可
+    cout << "[434]------------------------------------------" << endl;
+    // unit_test[434] レスポンスデータ残サイズ > 0
+    // unit_test[434]  ●出力の送信状態リスト: 1:送信不可
     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;
@@ -10042,8 +10053,8 @@ void handle_sorryserver_recv_test() {
     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);
 
-    cout << "[424]------------------------------------------" << endl;
-    // unit_test[424] 送信可能データがあり
+    cout << "[435]------------------------------------------" << endl;
+    // unit_test[435] 送信可能データがあり
     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;
@@ -10060,8 +10071,8 @@ void handle_sorryserver_recv_test() {
 
     BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
 
-    cout << "[425]------------------------------------------" << endl;
-    // unit_test[425] 送信可能データなし
+    cout << "[436]------------------------------------------" << endl;
+    // unit_test[436] 送信可能データなし
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
@@ -10106,9 +10117,9 @@ void handle_sorryserver_recv_test_thread(){
                 psession_thread_data->recive_data_map.find(sorry_endpoint);
     recive_data& recive_data_global = it->second;
 
-    cout << "[334]------------------------------------------\n";
-    // unit_test[334] レスポンスデータ残サイズ > 0
-    // unit_test[334]  ●出力の送信状態リスト: 1:送信待 2:送信不可
+    cout << "[437]------------------------------------------\n";
+    // unit_test[437] レスポンスデータ残サイズ > 0
+    // unit_test[437]  ●出力の送信状態リスト: 1:送信待 2:送信不可
     recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
     recive_data_global.recive_buffer_rest_size = 76;
     recive_data_global.recive_buffer1 = new char[recive_data_global.recive_buffer_max_size];
@@ -10131,25 +10142,27 @@ void handle_sorryserver_recv_test_thread(){
 
     ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
 
-    BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
-    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_rest_size, 0u);
-    BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 32u);
-    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_NG);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_rest_size, 0u);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->unsend_size, 31u);
-    BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 32u);
-
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
+        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_rest_size, 0u);
+        BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 32u);
+        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_NG);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_rest_size, 0u);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->unsend_size, 31u);
+        BOOST_CHECK_EQUAL((recive_data_global.send_status_list.rbegin())->send_offset, 32u);
+    }
 }
 
 //handle_response_send_inform 馮家純
 void handle_response_send_inform_test(){
 
-    cout << "[426]------------------------------------------" << endl;
-    //unit_test[426] handle_response_send_inform 戻り値が「STOP」に設定する。
+    cout << "[438]------------------------------------------" << endl;
+    //unit_test[438] handle_response_send_inform 戻り値が「STOP」に設定する。
     EVENT_TAG ret = this->handle_response_send_inform(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(ret, STOP);
 }
@@ -10157,8 +10170,8 @@ void handle_response_send_inform_test(){
 //handle_client_connection_check 馮家純
 void handle_client_connection_check_test(){
     EVENT_TAG ret;
-    cout << "[427]------------------------------------------" << endl;
-    //unit_test[427] 異常系 session_thread_data_map中にThreadID対応のデータがない
+    cout << "[439]------------------------------------------" << endl;
+    //unit_test[439] 異常系 session_thread_data_map中にThreadID対応のデータがない
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()].reset();
     boost::array<char, MAX_BUFFER_SIZE> sbf_err1;
@@ -10168,8 +10181,8 @@ void handle_client_connection_check_test(){
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[428]------------------------------------------" << endl;
-    //unit_test[428] 異常系 session_thread_data_map中にThreadIDなし場合のテスト
+    cout << "[440]------------------------------------------" << endl;
+    //unit_test[440] 異常系 session_thread_data_map中にThreadIDなし場合のテスト
     this->session_thread_data_map.clear();
 
     ret = this->handle_client_connection_check(boost::this_thread::get_id(), sbf_err1, d_err1);
@@ -10177,8 +10190,8 @@ void handle_client_connection_check_test(){
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[429]------------------------------------------" << endl;
-    //unit_test[429] 送信バッファサイズ > 送信可能データサイズ
+    cout << "[441]------------------------------------------" << endl;
+    //unit_test[441] 送信バッファサイズ > 送信可能データサイズ
     boost::array<char, MAX_BUFFER_SIZE> sbf1;
     std::size_t d1;
     boost::asio::ip::tcp::endpoint ep1;
@@ -10211,8 +10224,8 @@ void handle_client_connection_check_test(){
     //遷移先ステータスを設定する status = CLIENT_SEND
     BOOST_CHECK_EQUAL(ret, CLIENT_SEND);
 
-    cout << "[430]------------------------------------------" << endl;
-    //unit_test[430] 送信バッファサイズ < 送信可能データサイズ
+    cout << "[442]------------------------------------------" << endl;
+    //unit_test[442] 送信バッファサイズ < 送信可能データサイズ
     this->session_thread_data_map.clear();
 
     boost::array<char, MAX_BUFFER_SIZE> sbf2;
@@ -10249,8 +10262,8 @@ void handle_client_connection_check_test(){
     //遷移先ステータスを設定する status = CLIENT_SEND
     BOOST_CHECK_EQUAL(ret, CLIENT_SEND);
 
-    cout << "[431]------------------------------------------" << endl;
-    //unit_test[431] 送信バッファサイズ = 送信可能データサイズ
+    cout << "[443]------------------------------------------" << endl;
+    //unit_test[443] 送信バッファサイズ = 送信可能データサイズ
     this->session_thread_data_map.clear();
 
     boost::array<char, MAX_BUFFER_SIZE> sbf3;
@@ -10293,8 +10306,8 @@ void handle_client_connection_check_test(){
 
 void handle_client_connection_check_test_thread(){
     EVENT_TAG ret;
-    cout << "[429]------------------------------------------\n";
-    //unit_test[429] 送信バッファサイズ > 送信可能データサイズ
+    cout << "[444]------------------------------------------\n";
+    //unit_test[444] 送信バッファサイズ > 送信可能データサイズ
     boost::array<char, MAX_BUFFER_SIZE> sbf1;
     std::size_t d1;
     boost::asio::ip::tcp::endpoint ep1;
@@ -10323,21 +10336,24 @@ void handle_client_connection_check_test_thread(){
     ret = this->handle_client_connection_check(boost::this_thread::get_id(), sbf1, d1);
 
     std::string chk1 = "bc";
-    //送信可能データを先頭から送信可能データサイズ分、送信バッファにコピーする
-    BOOST_CHECK_EQUAL(memcmp(sbf1.data(), chk1.c_str(), 2u), 0);
-    //送信済データサイズに送信可能データサイズを設定する
-    BOOST_CHECK_EQUAL(data1->recive_data_map[ep1].send_status_list.rbegin()->send_end_size, 2u);
-    //送信可能データサイズに0を設定する
-    BOOST_CHECK_EQUAL(data1->recive_data_map[ep1].send_status_list.rbegin()->send_possible_size, 0u);
-    //遷移先ステータスを設定する status = CLIENT_SEND
-    BOOST_CHECK_EQUAL(ret, CLIENT_SEND);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        //送信可能データを先頭から送信可能データサイズ分、送信バッファにコピーする
+        BOOST_CHECK_EQUAL(memcmp(sbf1.data(), chk1.c_str(), 2u), 0);
+        //送信済データサイズに送信可能データサイズを設定する
+        BOOST_CHECK_EQUAL(data1->recive_data_map[ep1].send_status_list.rbegin()->send_end_size, 2u);
+        //送信可能データサイズに0を設定する
+        BOOST_CHECK_EQUAL(data1->recive_data_map[ep1].send_status_list.rbegin()->send_possible_size, 0u);
+        //遷移先ステータスを設定する status = CLIENT_SEND
+        BOOST_CHECK_EQUAL(ret, CLIENT_SEND);
+    }
 }
 
 //handle_client_select 馮家純
 void handle_client_select_test(){
 
-    cout << "[432]------------------------------------------" << endl;
-    //unit_test[432] handle_client_select 戻り値が「STOP」に設定する。
+    cout << "[445]------------------------------------------" << endl;
+    //unit_test[445] handle_client_select 戻り値が「STOP」に設定する。
     boost::asio::ip::udp::endpoint ep;
     boost::array<char, MAX_BUFFER_SIZE> sbf;
     std::size_t d;
@@ -10353,27 +10369,27 @@ void handle_client_send_test(){
     recive_data client_recive_data;
     thread_data_ptr data_pro(new session_thread_data_sessionless) ;
 
-    cout << "[433]------------------------------------------" << endl;
-    //unit_test[433] session_thread_data_map中にthread_id無し
+    cout << "[446]------------------------------------------" << endl;
+    //unit_test[446] session_thread_data_map中にthread_id無し
     EVENT_TAG event_status = this->handle_client_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[434]------------------------------------------" << endl;
-    //unit_test[434] session_thread_data_map中にsession_thread_data_sessionless無し
+    cout << "[447]------------------------------------------" << endl;
+    //unit_test[447] session_thread_data_map中にsession_thread_data_sessionless無し
     thread_data_ptr thread_data1 ;
     this->session_thread_data_map[boost::this_thread::get_id()] = thread_data1;
     event_status = this->handle_client_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[435]------------------------------------------" << endl;
-    //unit_test[435] recive_data_map中にendpoint無し
+    cout << "[448]------------------------------------------" << endl;
+    //unit_test[448] recive_data_map中にendpoint無し
     this->session_thread_data_map.clear();
     this->session_thread_data_map[boost::this_thread::get_id()] = data_pro;
     event_status = this->handle_client_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[436]------------------------------------------" << endl;
-    //unit_test[436] send_status_list中にsend_status無し
+    cout << "[449]------------------------------------------" << endl;
+    //unit_test[449] send_status_list中にsend_status無し
     client_recive_data.send_status_list.clear();
     data_pro->recive_data_map[endpoint] = client_recive_data;
     this->session_thread_data_map.clear();
@@ -10382,9 +10398,9 @@ void handle_client_send_test(){
     event_status = this->handle_client_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(event_status, FINALIZE);
 
-    cout << "[437]------------------------------------------" << endl;
-    //unit_test[437] 送信状態->SEND_OK/送信可能データサイズ > 0/送信可能データあり
-    //unit_test[437] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
+    cout << "[450]------------------------------------------" << endl;
+    //unit_test[450] 送信状態->SEND_OK/送信可能データサイズ > 0/送信可能データあり
+    //unit_test[450] test data: 送信状態に送信待を設定,送信データオフセットに送信済データサイズを加算する,送信済データサイズに0を設定する,遷移先ステータスを設定する
     client_send_status.send_possible_size = 1u;//送信可能データサイズ > 0
     client_send_status.edit_data_list.clear();//編集データリスト=0
     client_send_status.status = SEND_OK; //送信状態->SEND_OK
@@ -10408,9 +10424,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(offset,1u); //送信データオフセットに送信済データサイズを加算する
     BOOST_CHECK_EQUAL(end_size,0u); //送信済データサイズに0を設定する
 
-    cout << "[438]------------------------------------------" << endl;
-    //unit_test[438] 送信状態->SEND_NG
-    //unit_test[438] test data:遷移先ステータスを設定する
+    cout << "[451]------------------------------------------" << endl;
+    //unit_test[451] 送信状態->SEND_NG
+    //unit_test[451] 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);
@@ -10425,9 +10441,9 @@ void handle_client_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[439]------------------------------------------" << endl;
-    //unit_test[439] 送信状態->SEND_CONTINUE
-    //unit_test[439] test data:遷移先ステータスを設定する
+    cout << "[452]------------------------------------------" << endl;
+    //unit_test[452] 送信状態->SEND_CONTINUE
+    //unit_test[452] 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);
@@ -10442,9 +10458,9 @@ void handle_client_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[440]------------------------------------------" << endl;
-    //unit_test[440] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
-    //unit_test[440] test data: 送信状態に送信待を設定
+    cout << "[453]------------------------------------------" << endl;
+    //unit_test[453] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
+    //unit_test[453] test data: 送信状態に送信待を設定
     client_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     client_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     client_send_status.status = SEND_OK; //送信状態->SEND_OK
@@ -10464,9 +10480,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_DISCONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
 
-    cout << "[441]------------------------------------------" << endl;
-    //unit_test[441] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがOFFの場合/sorry状態の場合
-    //unit_test[441] test data: 送信状態に送信待を設定
+    cout << "[454]------------------------------------------" << endl;
+    //unit_test[454] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがOFFの場合/sorry状態の場合
+    //unit_test[454] test data: 送信状態に送信待を設定
     client_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     client_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -10487,9 +10503,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, SORRYSERVER_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
 
-    cout << "[442]------------------------------------------" << endl;
-    //unit_test[442] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがOFFの場合/sorry状態以外の場合
-    //unit_test[442] test data: 送信状態に送信待を設定
+    cout << "[455]------------------------------------------" << endl;
+    //unit_test[455] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがOFFの場合/sorry状態以外の場合
+    //unit_test[455] test data: 送信状態に送信待を設定
     client_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     client_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
     client_send_status.status = SEND_OK; //送信状態->SEND_OK
@@ -10510,9 +10526,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, REALSERVER_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信状態に送信待を設定する
 
-    cout << "[443]------------------------------------------" << endl;
-    //unit_test[443] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがONの場合
-    //unit_test[443] test data: 送信状態に送信待を設定
+    cout << "[456]------------------------------------------" << endl;
+    //unit_test[456] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがONの場合
+    //unit_test[456] test data: 送信状態に送信待を設定
     client_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     client_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -10532,9 +10548,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_DISCONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
 
-    cout << "[444]------------------------------------------" << endl;
-    //unit_test[444] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがOFFの場合/sorry状態の場合
-    //unit_test[444] test data: 送信状態に送信待を設定
+    cout << "[457]------------------------------------------" << endl;
+    //unit_test[457] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがOFFの場合/sorry状態の場合
+    //unit_test[457] test data: 送信状態に送信待を設定
     client_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     client_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
     client_send_status.status = SEND_OK; //送信状態->SEND_OK
@@ -10555,9 +10571,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, SORRYSERVER_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
 
-    cout << "[445]------------------------------------------" << endl;
-    //unit_test[445] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがOFFの場合/sorry状態以外の場合
-    //unit_test[445] test data: 送信状態に送信待を設定
+    cout << "[458]------------------------------------------" << endl;
+    //unit_test[458] 送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがOFFの場合/sorry状態以外の場合
+    //unit_test[458] test data: 送信状態に送信待を設定
     client_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     client_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -10578,9 +10594,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, REALSERVER_RECV); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
 
-    cout << "[446]------------------------------------------" << endl;
-    //unit_test[446] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0
-    //unit_test[446] test data: 遷移先ステータスを設定する
+    cout << "[459]------------------------------------------" << endl;
+    //unit_test[459] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0
+    //unit_test[459] test data: 遷移先ステータスを設定する
     client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
     client_send_status.send_rest_size = 1u; //送信データ残サイズ > 0
@@ -10599,9 +10615,9 @@ void handle_client_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[447]------------------------------------------" << endl;
-    //unit_test[447] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
-    //unit_test[447] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[460]------------------------------------------" << endl;
+    //unit_test[460] 送信状態->SEND_OK,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データあり
+    //unit_test[460] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
     client_send_status.send_rest_size = 0u; //送信データ残サイズ = 0
@@ -10622,9 +10638,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_CONNECTION_CHECK); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
 
-    cout << "[448]------------------------------------------" << endl;
-    //unit_test[448] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0
-    //unit_test[448] test data: 遷移先ステータスを設定する
+    cout << "[461]------------------------------------------" << endl;
+    //unit_test[461] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0
+    //unit_test[461] test data: 遷移先ステータスを設定する
     client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
     client_send_status.send_rest_size = 1u; //送信データ残サイズ > 0
@@ -10645,9 +10661,9 @@ void handle_client_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[449]------------------------------------------" << endl;
-    //unit_test[449] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがONの場合
-    //unit_test[449] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[462]------------------------------------------" << endl;
+    //unit_test[462] 送信状態->SEND_OK,SEND_NG/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがONの場合
+    //unit_test[462] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     client_send_status.send_possible_size = 0u; //送信可能データサイズ = 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
     client_send_status.send_rest_size = 0u; //送信データ残サイズ = 0
@@ -10669,9 +10685,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_DISCONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信可能データサイズ = 0,送信データ残サイズ = 0,送信状態に送信待を設定する
 
-    cout << "[450]------------------------------------------" << endl;
-    //unit_test[450] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0
-    //unit_test[450] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[463]------------------------------------------" << endl;
+    //unit_test[463] 送信状態->SEND_END,SEND_OK/送信可能データサイズ > 0
+    //unit_test[463] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     client_send_status.status = SEND_END;//送信状態->SEND_END
     client_send_status1.send_possible_size = 1u;
     client_send_status1.status = SEND_OK;
@@ -10692,9 +10708,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status,  CLIENT_CONNECTION_CHECK); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_OK);
 
-    cout << "[451]------------------------------------------" << endl;
-    //unit_test[451] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
-    //unit_test[451] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[464]------------------------------------------" << endl;
+    //unit_test[464] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
+    //unit_test[464] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     client_send_status.status = SEND_END;//送信状態->SEND_END
     client_send_status1.send_rest_size = 1u; //送信データ残サイズ > 0
     client_send_status1.send_possible_size = 0u; //送信可能データサイズ = 0
@@ -10716,9 +10732,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_DISCONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信可能データサイズ = 0,送信データ残サイズ > 0,送信状態に送信待を設定する
 
-    cout << "[452]------------------------------------------" << endl;
-    //unit_test[452] 送信状態->SEND_END
-    //unit_test[452] test data: 遷移先ステータスを設定する
+    cout << "[465]------------------------------------------" << endl;
+    //unit_test[465] 送信状態->SEND_END
+    //unit_test[465] test data: 遷移先ステータスを設定する
     client_send_status.status = SEND_END;//送信状態->SEND_END
     client_recive_data.send_status_list.clear();
     client_recive_data.send_status_list.push_back(client_send_status);
@@ -10734,9 +10750,9 @@ void handle_client_send_test(){
 
     BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
 
-    cout << "[453]------------------------------------------" << endl;
-    //unit_test[453] 送信状態->SEND_END,SEND_OK/終了フラグがONの場合
-    //unit_test[453] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
+    cout << "[466]------------------------------------------" << endl;
+    //unit_test[466] 送信状態->SEND_END,SEND_OK/終了フラグがONの場合
+    //unit_test[466] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
     client_send_status.status = SEND_END;// 送信状態->SEND_END
     client_send_status1.status = SEND_OK; //送信状態->SEND_OK
     client_send_status1.send_possible_size = 0u;
@@ -10758,9 +10774,9 @@ void handle_client_send_test(){
     BOOST_CHECK_EQUAL(event_status, CLIENT_DISCONNECT); //遷移先ステータスを設定する
     BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
 
-    cout << "[454]------------------------------------------" << endl;
-    //unit_test[454] 送信状態->SEND_CONTINUE,SEND_OK/送信可能データサイズ > 0
-    //unit_test[454] test data: 遷移先ステータスを設定する
+    cout << "[467]------------------------------------------" << endl;
+    //unit_test[467] 送信状態->SEND_CONTINUE,SEND_OK/送信可能データサイズ > 0
+    //unit_test[467] test data: 遷移先ステータスを設定する
     client_send_status.status = SEND_CONTINUE; //送信状態->SEND_CONTINUE
     client_send_status1.status = SEND_OK; //送信状態->SEND_OK
     client_recive_data.send_status_list.clear();
@@ -10785,9 +10801,9 @@ void handle_client_send_test_thread(){
     recive_data client_recive_data;
     thread_data_ptr data_pro(new session_thread_data_sessionless) ;
 
-     cout << "[445]------------------------------------------\n";
-    //unit_test[445] 多スレッドテスト/送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがOFFの場合/sorry状態以外の場合
-    //unit_test[445] test data: 送信状態に送信待を設定
+     cout << "[468]------------------------------------------\n";
+    //unit_test[468] 多スレッドテスト/送信状態->SEND_OK/送信可能データサイズ = 0/送信データ残サイズ = 0/送信可能データなし/終了フラグがOFFの場合/sorry状態以外の場合
+    //unit_test[468] test data: 送信状態に送信待を設定
     client_send_status.send_possible_size = 0u;//送信可能データサイズ=0
     client_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
     client_send_status.status = SEND_OK;//送信状態->SEND_OK
@@ -10807,20 +10823,23 @@ void handle_client_send_test_thread(){
     EVENT_TAG event_status = this->handle_client_send(boost::this_thread::get_id());
     SEND_STATUS_TAG send_status = data_pro->recive_data_map[endpoint].send_status_list.front().status;
 
-    BOOST_CHECK_EQUAL(event_status, REALSERVER_RECV); //遷移先ステータスを設定する
-    BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(event_status, REALSERVER_RECV); //遷移先ステータスを設定する
+        BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
+    }
 }
 
 //handle_client_disconnect 馮家純
 void handle_client_disconnect_test(){
 
-    cout << "[455]------------------------------------------" << endl;
-    //unit_test[455] 遷移先ステータスを設定する status = FINALIZE
+    cout << "[469]------------------------------------------" << endl;
+    //unit_test[469] 遷移先ステータスを設定する status = FINALIZE
     EVENT_TAG ret = this->handle_client_disconnect(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[456]------------------------------------------" << endl;
-    //unit_test[456] 上りスレッドと下りスレッドの場合
+    cout << "[470]------------------------------------------" << endl;
+    //unit_test[470] 上りスレッドと下りスレッドの場合
     boost::thread tdown_for_get_id(down_thread_func);
     boost::thread_group threads;
     threads.create_thread(bind(&protocol_module_sessionless_test_class::handle_client_disconnect_test_thread_func,
@@ -10834,7 +10853,10 @@ void handle_client_disconnect_test(){
 
 void handle_client_disconnect_test_thread_func(const boost::thread::id thread_id){
     EVENT_TAG ret = this->handle_client_disconnect(thread_id);
-    BOOST_CHECK_EQUAL(ret, FINALIZE);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, FINALIZE);
+    }
 }
 
 //handle_sorry_enable 馬翠翠
@@ -10853,8 +10875,8 @@ void handle_sorry_enable_test() {
                                thread_data_ptr> (boost::this_thread::get_id(),
                                thread_data));
 
-    cout << "[457]------------------------------------------" << endl;
-       // unit_test[457] accept完了フラグOFFの場合,sorry状態をON,status = ACCEPT
+    cout << "[471]------------------------------------------" << endl;
+       // unit_test[471] accept完了フラグOFFの場合,sorry状態をON,status = ACCEPT
        this->session_thread_data_map[boost::this_thread::get_id()]->accept_end_flag = ACCEPT_END_FLAG_OFF;
        this->session_thread_data_map[boost::this_thread::get_id()]->client_endpoint_tcp
                                = string_to_endpoint<boost::asio::ip::tcp> ("192.168.120.109:8800");
@@ -10867,8 +10889,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, ACCEPT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[458]------------------------------------------" << endl;
-       // unit_test[458] accept完了フラグON,sorry状態,送信可能データあり list 1件の場合,status =SORRYSERVER_SELECT
+    cout << "[472]------------------------------------------" << endl;
+       // unit_test[472] accept完了フラグON,sorry状態,送信可能データあり list 1件の場合,status =SORRYSERVER_SELECT
        this->session_thread_data_map[boost::this_thread::get_id()]->accept_end_flag = ACCEPT_END_FLAG_ON;
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_ON;
        sendstatus.status = SEND_OK;
@@ -10882,8 +10904,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, SORRYSERVER_SELECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[459]------------------------------------------" << endl;
-       // unit_test[459] 送信可能データあり list 2件 1件あり場合,status =SORRYSERVER_SELECT
+    cout << "[473]------------------------------------------" << endl;
+       // unit_test[473] 送信可能データあり list 2件 1件あり場合,status =SORRYSERVER_SELECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_OK;
@@ -10899,8 +10921,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, SORRYSERVER_SELECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[460]------------------------------------------" << endl;
-       // unit_test[460] 送信可能データなし list 3件の場合,status =CLIENT_RECV
+    cout << "[474]------------------------------------------" << endl;
+       // unit_test[474] 送信可能データなし list 3件の場合,status =CLIENT_RECV
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -10918,8 +10940,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status,CLIENT_RECV);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[461]------------------------------------------" << endl;
-       // unit_test[461] sorry状態以外,送信継続データあり list 1件の場合,終了フラグをON,status = REALSERVER_DISCONNECT
+    cout << "[475]------------------------------------------" << endl;
+       // unit_test[475] sorry状態以外,送信継続データあり list 1件の場合,終了フラグをON,status = REALSERVER_DISCONNECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -10934,8 +10956,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, REALSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[462]------------------------------------------" << endl;
-       // unit_test[462] 送信継続データあり list 2件 1件あり場合,終了フラグをON,status = REALSERVER_DISCONNECT
+    cout << "[476]------------------------------------------" << endl;
+       // unit_test[476] 送信継続データあり list 2件 1件あり場合,終了フラグをON,status = REALSERVER_DISCONNECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -10952,8 +10974,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, REALSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[463]------------------------------------------" << endl;
-       // unit_test[463] 送信継続データなし list 3件の場合,sorryserver切替中フラグON,sorry状態をON,status = REALSERVER_DISCONNECT
+    cout << "[477]------------------------------------------" << endl;
+       // unit_test[477] 送信継続データなし list 3件の場合,sorryserver切替中フラグON,sorry状態をON,status = REALSERVER_DISCONNECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -10982,8 +11004,8 @@ void handle_sorry_enable_test() {
        this->session_thread_data_map[boost::this_thread::get_id()]->target_endpoint
                                                = string_to_endpoint<boost::asio::ip::tcp> ("192.168.120.243:8800");
 
-    cout << "[464]------------------------------------------" << endl;
-       // unit_test[464] sorry状態,送信可能データあり list 1件の場合,status =CLIENT_CONNECTION_CHECK
+    cout << "[478]------------------------------------------" << endl;
+       // unit_test[478] sorry状態,送信可能データあり list 1件の場合,status =CLIENT_CONNECTION_CHECK
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_ON;
@@ -10998,8 +11020,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[465]------------------------------------------" << endl;
-       // unit_test[465] 送信可能データあり list 2件 1件あり場合,status =CLIENT_CONNECTION_CHECK
+    cout << "[479]------------------------------------------" << endl;
+       // unit_test[479] 送信可能データあり list 2件 1件あり場合,status =CLIENT_CONNECTION_CHECK
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11015,8 +11037,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[466]------------------------------------------" << endl;
-       // unit_test[466] 送信可能データなし list 3件の場合,status =SORRYSERVER_RECV
+    cout << "[480]------------------------------------------" << endl;
+       // unit_test[480] 送信可能データなし list 3件の場合,status =SORRYSERVER_RECV
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11033,8 +11055,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, SORRYSERVER_RECV);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[467]------------------------------------------" << endl;
-       // unit_test[467] sorry状態以外,送信不可データあり list 1件の場合,終了フラグをON,status = REALSERVER_DISCONNECT
+    cout << "[481]------------------------------------------" << endl;
+       // unit_test[481] sorry状態以外,送信不可データあり list 1件の場合,終了フラグをON,status = REALSERVER_DISCONNECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -11049,8 +11071,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, REALSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[468]------------------------------------------" << endl;
-       // unit_test[468] 送信データ残サイズ > 0 が存在する list 2件の場合,終了フラグをON,status = REALSERVER_DISCONNECT
+    cout << "[482]------------------------------------------" << endl;
+       // unit_test[482] 送信データ残サイズ > 0 が存在する list 2件の場合,終了フラグをON,status = REALSERVER_DISCONNECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -11069,8 +11091,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, REALSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[469]------------------------------------------" << endl;
-       // unit_test[469] 送信不可データなしかつ送信データ残サイズ > 0 が存在しない list 1件の場合,sorry状態をON
+    cout << "[483]------------------------------------------" << endl;
+       // unit_test[483] 送信不可データなしかつ送信データ残サイズ > 0 が存在しない list 1件の場合,sorry状態をON
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -11085,8 +11107,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag, SORRY_FLAG_ON);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[470]------------------------------------------" << endl;
-       // unit_test[470] 送信不可データなしかつ送信データ残サイズ > 0が存在しない,送信可能データなし list 1件の場合,status = SORRYSERVER_RECV
+    cout << "[484]------------------------------------------" << endl;
+       // unit_test[484] 送信不可データなしかつ送信データ残サイズ > 0が存在しない,送信可能データなし list 1件の場合,status = SORRYSERVER_RECV
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -11101,9 +11123,9 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, SORRYSERVER_RECV);
        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] test data:送信不可データなし かつ 送信データ残サイズ > 0が存在しない場合,送信可能データあり list 3件
+    cout << "[485]------------------------------------------" << endl;
+       // unit_test[485] status = CLIENT_CONNECTION_CHECK
+       // unit_test[485] test data:送信不可データなし かつ 送信データ残サイズ > 0が存在しない場合,送信可能データあり list 3件
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -11125,8 +11147,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[472]------------------------------------------" << endl;
-       // unit_test[472] endpoint対応のrecive_dataなし場合,status = FINALIZE
+    cout << "[486]------------------------------------------" << endl;
+       // unit_test[486] endpoint対応のrecive_dataなし場合,status = FINALIZE
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.insert(
@@ -11137,8 +11159,8 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, FINALIZE);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[473]------------------------------------------" << endl;
-       // unit_test[473] session_thread_data NULLの場合,status = FINALIZE
+    cout << "[487]------------------------------------------" << endl;
+       // unit_test[487] session_thread_data NULLの場合,status = FINALIZE
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        thread_data_ptr thread_data_null;
@@ -11146,8 +11168,8 @@ void handle_sorry_enable_test() {
        status = this->handle_sorry_enable(boost::this_thread::get_id());
        BOOST_CHECK_EQUAL(status, FINALIZE);
 
-    cout << "[474]------------------------------------------" << endl;
-       // unit_test[474] thread_id対応のsession_thread_dataなし場合,status = FINALIZE
+    cout << "[488]------------------------------------------" << endl;
+       // unit_test[488] thread_id対応のsession_thread_dataなし場合,status = FINALIZE
        this->session_thread_data_map.clear();
        thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
        thread_data->thread_id = thread_down.get_id();
@@ -11168,9 +11190,9 @@ void handle_sorry_enable_test() {
        BOOST_CHECK_EQUAL(status, FINALIZE);
        this->session_thread_data_map[thread_down.get_id()]->recive_data_map.clear();
 
-    cout << "[475]------------------------------------------" << endl;
-    // unit_test[475] 上りスレッドの戻り値が「ACCEPT」を設定する、下りスレッドの戻り値が「CLIENT_CONNECTION_CHECK」を設定する
-    // unit_test[475] test data:上りスレッドと下りスレッドの場合
+    cout << "[489]------------------------------------------" << endl;
+    // unit_test[489] 上りスレッドの戻り値が「ACCEPT」を設定する、下りスレッドの戻り値が「CLIENT_CONNECTION_CHECK」を設定する
+    // unit_test[489] test data:上りスレッドと下りスレッドの場合
     init_send_status(sendstatus);
        init_recive_data(receivedata);
     thread_data_ptr thread_data_up(new session_thread_data_sessionless);
@@ -11208,7 +11230,10 @@ void handle_sorry_enable_test() {
 void handle_sorry_enable_test_thread_func(const boost::thread::id thread_id,
                             EVENT_TAG check_value){
     EVENT_TAG ret = this->handle_sorry_enable(thread_id);
-    BOOST_CHECK_EQUAL(ret, check_value);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, check_value);
+    }
 }
 
 void handle_sorry_enable_test_thread(){
@@ -11226,8 +11251,8 @@ void handle_sorry_enable_test_thread(){
         this->session_thread_data_map[boost::this_thread::get_id()] = thread_data;
     }
 
-    cout << "[458]------------------------------------------\n";
-       // unit_test[458] accept完了フラグON,sorry状態,送信可能データあり list 1件の場合,status = SORRYSERVER_SELECT
+    cout << "[490]------------------------------------------\n";
+       // unit_test[490] accept完了フラグON,sorry状態,送信可能データあり list 1件の場合,status = SORRYSERVER_SELECT
        this->session_thread_data_map[boost::this_thread::get_id()]->accept_end_flag = ACCEPT_END_FLAG_ON;
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_ON;
        sendstatus.status = SEND_OK;
@@ -11238,7 +11263,10 @@ void handle_sorry_enable_test_thread(){
                                                this->session_thread_data_map[boost::this_thread::get_id()]->client_endpoint_tcp,
                                                receivedata));
        status = this->handle_sorry_enable(boost::this_thread::get_id());
-       BOOST_CHECK_EQUAL(status, SORRYSERVER_SELECT);
+       {
+           boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(status, SORRYSERVER_SELECT);
+       }
 
 }
 
@@ -11260,8 +11288,8 @@ void handle_sorry_disable_test(){
        this->session_thread_data_map[boost::this_thread::get_id()]->client_endpoint_tcp
                                        = string_to_endpoint<boost::asio::ip::tcp> ("192.168.120.109:8800");
 
-    cout << "[476]------------------------------------------" << endl;
-       // unit_test[476] accept完了フラグOFFの場合,sorry状態をOFF,status = ACCEPT
+    cout << "[491]------------------------------------------" << endl;
+       // unit_test[491] accept完了フラグOFFの場合,sorry状態をOFF,status = ACCEPT
        this->session_thread_data_map[boost::this_thread::get_id()]->accept_end_flag = ACCEPT_END_FLAG_OFF;
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.insert(
                                pair<boost::asio::ip::tcp::endpoint, recive_data> (
@@ -11272,9 +11300,9 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, ACCEPT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[477]------------------------------------------" << endl;
-       // unit_test[477] 終了フラグをON,status = SORRYSERVER_DISCONNECT
-       // unit_test[477] test data:accept完了フラグONの場合,sorry状態の場合,送信継続データあり list 1件
+    cout << "[492]------------------------------------------" << endl;
+       // unit_test[492] 終了フラグをON,status = SORRYSERVER_DISCONNECT
+       // unit_test[492] test data:accept完了フラグONの場合,sorry状態の場合,送信継続データあり list 1件
        this->session_thread_data_map[boost::this_thread::get_id()]->accept_end_flag = ACCEPT_END_FLAG_ON;
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_ON;
        sendstatus.status = SEND_CONTINUE;
@@ -11288,8 +11316,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, SORRYSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[478]------------------------------------------" << endl;
-       // unit_test[478] 送信継続データあり list 2件 1件あり場合,終了フラグをON,status = SORRYSERVER_DISCONNECT
+    cout << "[493]------------------------------------------" << endl;
+       // unit_test[493] 送信継続データあり list 2件 1件あり場合,終了フラグをON,status = SORRYSERVER_DISCONNECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_CONTINUE;
@@ -11305,8 +11333,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, SORRYSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[479]------------------------------------------" << endl;
-       // unit_test[479] 送信継続データなし list 3件の場合,realserver切替中,sorry状態をOFF,status = SORRYSERVER_DISCONNECT
+    cout << "[494]------------------------------------------" << endl;
+       // unit_test[494] 送信継続データなし list 3件の場合,realserver切替中,sorry状態をOFF,status = SORRYSERVER_DISCONNECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11325,8 +11353,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, SORRYSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[480]------------------------------------------" << endl;
-       // unit_test[480] sorry状態以外,送信可能データあり list 1件の場合,status = REALSERVER_SELECT
+    cout << "[495]------------------------------------------" << endl;
+       // unit_test[495] sorry状態以外,送信可能データあり list 1件の場合,status = REALSERVER_SELECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -11341,8 +11369,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, REALSERVER_SELECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[481]------------------------------------------" << endl;
-       // unit_test[481] 送信可能データあり list 2件 1件ありの場合,status = REALSERVER_SELECT
+    cout << "[496]------------------------------------------" << endl;
+       // unit_test[496] 送信可能データあり list 2件 1件ありの場合,status = REALSERVER_SELECT
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_OK;
@@ -11358,8 +11386,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, REALSERVER_SELECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[482]------------------------------------------" << endl;
-       // unit_test[482] 送信可能データなし list 3件の場合,status = CLIENT_RECV
+    cout << "[497]------------------------------------------" << endl;
+       // unit_test[497] 送信可能データなし list 3件の場合,status = CLIENT_RECV
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11387,9 +11415,9 @@ void handle_sorry_disable_test(){
                                        = string_to_endpoint<boost::asio::ip::tcp> ("192.168.120.109:8800");
 
 
-    cout << "[483]------------------------------------------" << endl;
-       // unit_test[483] 終了フラグをON,status = SORRYSERVER_DISCONNECT
-       // unit_test[483] test data:sorry状態の場合,送信不可データあり list 1件
+    cout << "[498]------------------------------------------" << endl;
+       // unit_test[498] 終了フラグをON,status = SORRYSERVER_DISCONNECT
+       // unit_test[498] test data:sorry状態の場合,送信不可データあり list 1件
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_ON;
@@ -11404,9 +11432,9 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, SORRYSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[484]------------------------------------------" << endl;
-       // unit_test[484] 終了フラグをON,status = SORRYSERVER_DISCONNECT
-       // unit_test[484] test data:送信データ残サイズ > 0 が存在する場合 list 2件
+    cout << "[499]------------------------------------------" << endl;
+       // unit_test[499] 終了フラグをON,status = SORRYSERVER_DISCONNECT
+       // unit_test[499] test data:送信データ残サイズ > 0 が存在する場合 list 2件
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11424,9 +11452,9 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, SORRYSERVER_DISCONNECT);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[485]------------------------------------------" << endl;
-       // unit_test[485] sorry状態をOFF
-       // unit_test[485] test data:送信不可データなし かつ 送信データ残サイズ > 0 が存在しない場合 list 1件
+    cout << "[500]------------------------------------------" << endl;
+       // unit_test[500] sorry状態をOFF
+       // unit_test[500] test data:送信不可データなし かつ 送信データ残サイズ > 0 が存在しない場合 list 1件
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11440,9 +11468,9 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag, SORRY_FLAG_OFF);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[486]------------------------------------------" << endl;
-       // unit_test[486] sorry状態をOFF,送信可能データなし status = REALSERVER_RECV
-       // unit_test[486] test data:送信不可データなし かつ 送信データ残サイズ > 0 が存在しない場合,送信可能データなし list 1件
+    cout << "[501]------------------------------------------" << endl;
+       // unit_test[501] sorry状態をOFF,送信可能データなし status = REALSERVER_RECV
+       // unit_test[501] test data:送信不可データなし かつ 送信データ残サイズ > 0 が存在しない場合,送信可能データなし list 1件
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11456,9 +11484,9 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, REALSERVER_RECV);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[487]------------------------------------------" << endl;
-       // unit_test[487] status = CLIENT_CONNECTION_CHECK
-       // unit_test[487] test data:送信不可データなし かつ 送信データ残サイズ > 0 が存在しない場合,送信可能データあり list 3件
+    cout << "[502]------------------------------------------" << endl;
+       // unit_test[502] status = CLIENT_CONNECTION_CHECK
+       // unit_test[502] test data:送信不可データなし かつ 送信データ残サイズ > 0 が存在しない場合,送信可能データあり list 3件
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_OK;
@@ -11479,8 +11507,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[488]------------------------------------------" << endl;
-       // unit_test[488] sorry状態以外,送信可能データあり list 1件の場合,status = CLIENT_CONNECTION_CHECK
+    cout << "[503]------------------------------------------" << endl;
+       // unit_test[503] sorry状態以外,送信可能データあり list 1件の場合,status = CLIENT_CONNECTION_CHECK
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_OFF;
@@ -11495,8 +11523,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[489]------------------------------------------" << endl;
-       // unit_test[489] 送信可能データあり list 2件 1件ありの場合,status = CLIENT_CONNECTION_CHECK
+    cout << "[504]------------------------------------------" << endl;
+       // unit_test[504] 送信可能データあり list 2件 1件ありの場合,status = CLIENT_CONNECTION_CHECK
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11512,8 +11540,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[490]------------------------------------------" << endl;
-       // unit_test[490] 送信可能データなし list 3件の場合,status =REALSERVER_RECV
+    cout << "[505]------------------------------------------" << endl;
+       // unit_test[505] 送信可能データなし list 3件の場合,status =REALSERVER_RECV
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        sendstatus.status = SEND_END;
@@ -11530,8 +11558,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, REALSERVER_RECV);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[491]------------------------------------------" << endl;
-       // unit_test[491] endpoint対応のrecive_dataなし場合,status = FINALIZE
+    cout << "[506]------------------------------------------" << endl;
+       // unit_test[506] endpoint対応のrecive_dataなし場合,status = FINALIZE
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.insert(
@@ -11542,8 +11570,8 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, FINALIZE);
        this->session_thread_data_map[boost::this_thread::get_id()]->recive_data_map.clear();
 
-    cout << "[492]------------------------------------------" << endl;
-       // unit_test[492] session_thread_data NULLの場合,status = FINALIZE
+    cout << "[507]------------------------------------------" << endl;
+       // unit_test[507] session_thread_data NULLの場合,status = FINALIZE
        init_send_status(sendstatus);
        init_recive_data(receivedata);
        thread_data_ptr thread_data_null;
@@ -11551,8 +11579,8 @@ void handle_sorry_disable_test(){
        status = this->handle_sorry_disable(boost::this_thread::get_id());
        BOOST_CHECK_EQUAL(status, FINALIZE);
 
-    cout << "[493]------------------------------------------" << endl;
-       // unit_test[493] thread_id対応のsession_thread_dataなし場合,status =FINALIZE
+    cout << "[508]------------------------------------------" << endl;
+       // unit_test[508] thread_id対応のsession_thread_dataなし場合,status =FINALIZE
        this->session_thread_data_map.clear();
        thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
        thread_data->thread_id = thread_down.get_id();
@@ -11573,9 +11601,9 @@ void handle_sorry_disable_test(){
        BOOST_CHECK_EQUAL(status, FINALIZE);
        this->session_thread_data_map[thread_down.get_id()]->recive_data_map.clear();
 
-    cout << "[494]------------------------------------------" << endl;
-    // unit_test[494] 上りスレッドの戻り値が「ACCEPT」を設定する、下りスレッドの戻り値が「CLIENT_CONNECTION_CHECK」を設定する
-    // unit_test[494] test data:上りスレッドと下りスレッドの場合
+    cout << "[509]------------------------------------------" << endl;
+    // unit_test[509] 上りスレッドの戻り値が「ACCEPT」を設定する、下りスレッドの戻り値が「CLIENT_CONNECTION_CHECK」を設定する
+    // unit_test[509] test data:上りスレッドと下りスレッドの場合
     init_send_status(sendstatus);
        init_recive_data(receivedata);
     thread_data_ptr thread_data_up(new session_thread_data_sessionless);
@@ -11615,7 +11643,10 @@ void handle_sorry_disable_test(){
 void handle_sorry_disable_test_thread_func(const boost::thread::id thread_id,
                             EVENT_TAG check_value){
     EVENT_TAG ret = this->handle_sorry_disable(thread_id);
-    BOOST_CHECK_EQUAL(ret, check_value);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, check_value);
+    }
 }
 
 void handle_sorry_disable_test_thread(){
@@ -11633,9 +11664,9 @@ void handle_sorry_disable_test_thread(){
         this->session_thread_data_map[boost::this_thread::get_id()] = thread_data;
     }
 
-    cout << "[477]------------------------------------------\n";
-       // unit_test[477] 終了フラグをON,status = SORRYSERVER_DISCONNECT
-       // unit_test[477] test data:accept完了フラグONの場合,sorry状態の場合,送信継続データあり list 1件
+    cout << "[510]------------------------------------------\n";
+       // unit_test[510] 終了フラグをON,status = SORRYSERVER_DISCONNECT
+       // unit_test[510] test data:accept完了フラグONの場合,sorry状態の場合,送信継続データあり list 1件
        this->session_thread_data_map[boost::this_thread::get_id()]->accept_end_flag = ACCEPT_END_FLAG_ON;
        this->session_thread_data_map[boost::this_thread::get_id()]->sorry_flag = SORRY_FLAG_ON;
        sendstatus.status = SEND_CONTINUE;
@@ -11645,45 +11676,48 @@ void handle_sorry_disable_test_thread(){
                                                this->session_thread_data_map[boost::this_thread::get_id()]->client_endpoint_tcp,
                                                receivedata));
        status = this->handle_sorry_disable(boost::this_thread::get_id());
-       BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->end_flag, END_FLAG_ON);
-       BOOST_CHECK_EQUAL(status, SORRYSERVER_DISCONNECT);
+       {
+           boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->end_flag, END_FLAG_ON);
+        BOOST_CHECK_EQUAL(status, SORRYSERVER_DISCONNECT);
+       }
 }
 
 //handle_realserver_disconnect(tcp) 馮家純
 void handle_realserver_disconnect_tcp_test(){
     EVENT_TAG ret;
-    cout << "[495]------------------------------------------" << endl;
-    //unit_test[495] 異常系 上りスレッドsession_thread_data_map中にThreadID対応のデータがない
+    cout << "[511]------------------------------------------" << endl;
+    //unit_test[511] 異常系 上りスレッドsession_thread_data_map中にThreadID対応のデータがない
     this->session_thread_data_map[boost::this_thread::get_id()].reset();
     boost::asio::ip::tcp::endpoint ep_err;
     ret = this->handle_realserver_disconnect(boost::this_thread::get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[496]------------------------------------------" << endl;
-    //unit_test[496] 異常系 上りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
+    cout << "[512]------------------------------------------" << endl;
+    //unit_test[512] 異常系 上りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
     this->session_thread_data_map.clear();
     ret = this->handle_realserver_disconnect(boost::this_thread::get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[497]------------------------------------------" << endl;
-    //unit_test[497] 異常系 下りスレッドsession_thread_data_map中にThreadID対応のデータがない
+    cout << "[513]------------------------------------------" << endl;
+    //unit_test[513] 異常系 下りスレッドsession_thread_data_map中にThreadID対応のデータがない
     boost::thread t_err(down_thread_func);
     this->session_thread_data_map[t_err.get_id()].reset();
     ret = this->handle_realserver_disconnect(t_err.get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[498]------------------------------------------" << endl;
-    //unit_test[498] 異常系 下りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
+    cout << "[514]------------------------------------------" << endl;
+    //unit_test[514] 異常系 下りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
     this->session_thread_data_map.clear();
     ret = this->handle_realserver_disconnect(t_err.get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[499]------------------------------------------" << endl;
-    //unit_test[499] 上りスレッドの場合->終了フラグがONの場合
+    cout << "[515]------------------------------------------" << endl;
+    //unit_test[515] 上りスレッドの場合->終了フラグがONの場合
     boost::asio::ip::tcp::endpoint ep1, ep_d1;
 
     thread_data_ptr data1(new session_thread_data_sessionless);
@@ -11699,8 +11733,8 @@ void handle_realserver_disconnect_tcp_test(){
     //遷移先ステータスを設定する status = CLIENT_RECV
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[500]------------------------------------------" << endl;
-    //unit_test[500] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中の場合->送信可能データあり
+    cout << "[516]------------------------------------------" << endl;
+    //unit_test[516] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中の場合->送信可能データあり
     this->session_thread_data_map.clear();
 
     boost::asio::ip::tcp::endpoint ep2;
@@ -11724,8 +11758,8 @@ void handle_realserver_disconnect_tcp_test(){
     //遷移先ステータスを設定する status = SORRYSERVER_SELECT
     BOOST_CHECK_EQUAL(ret, SORRYSERVER_SELECT);
 
-    cout << "[501]------------------------------------------" << endl;
-    //unit_test[501] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中の場合->送信可能データなし
+    cout << "[517]------------------------------------------" << endl;
+    //unit_test[517] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中の場合->送信可能データなし
     this->session_thread_data_map.clear();
 
     boost::asio::ip::tcp::endpoint ep3;
@@ -11748,8 +11782,8 @@ void handle_realserver_disconnect_tcp_test(){
     //遷移先ステータスを設定する status = CLIENT_RECV
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[502]------------------------------------------" << endl;
-    //unit_test[502] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中でない場合
+    cout << "[518]------------------------------------------" << endl;
+    //unit_test[518] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中でない場合
     this->session_thread_data_map.clear();
 
     boost::asio::ip::tcp::endpoint ep4, ep_d4;
@@ -11771,8 +11805,8 @@ void handle_realserver_disconnect_tcp_test(){
     //遷移先ステータスを設定する status = CLIENT_RECV
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[503]------------------------------------------" << endl;
-    //unit_test[503] 下りスレッドの場合->送信可能データあり
+    cout << "[519]------------------------------------------" << endl;
+    //unit_test[519] 下りスレッドの場合->送信可能データあり
     this->session_thread_data_map.clear();
 
     boost::thread t5(down_thread_func);
@@ -11795,8 +11829,8 @@ void handle_realserver_disconnect_tcp_test(){
     //遷移先ステータスを設定する status = CLIENT_CONNECTION_CHECK
     BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
 
-    cout << "[504]------------------------------------------" << endl;
-    //unit_test[504] 下りスレッドの場合->送信可能データなし
+    cout << "[520]------------------------------------------" << endl;
+    //unit_test[520] 下りスレッドの場合->送信可能データなし
     this->session_thread_data_map.clear();
 
     boost::thread t6(down_thread_func);
@@ -11818,8 +11852,8 @@ void handle_realserver_disconnect_tcp_test(){
     //遷移先ステータスを設定する status = CLIENT_DISCONNECT
     BOOST_CHECK_EQUAL(ret, CLIENT_DISCONNECT);
 
-    cout << "[505]------------------------------------------" << endl;
-    //unit_test[505] 上りスレッドと下りスレッドの場合
+    cout << "[521]------------------------------------------" << endl;
+    //unit_test[521] 上りスレッドと下りスレッドの場合
     this->session_thread_data_map.clear();
 
     boost::thread tdown_for_get_id(down_thread_func);
@@ -11871,13 +11905,16 @@ void handle_realserver_disconnect_test_thread_func(const boost::thread::id threa
                             const boost::asio::ip::tcp::endpoint & rs_endpoint,
                             EVENT_TAG check_value){
     EVENT_TAG ret = this->handle_realserver_disconnect(thread_id, rs_endpoint);
-    BOOST_CHECK_EQUAL(ret, check_value);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, check_value);
+    }
 }
 
 void handle_realserver_disconnect_tcp_test_thread(){
     EVENT_TAG ret;
-    cout << "[501]------------------------------------------\n";
-    //unit_test[501] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中の場合->送信可能データなし
+    cout << "[522]------------------------------------------\n";
+    //unit_test[522] 上りスレッドの場合->終了フラグがOFFの場合->sorryserver切替中の場合->送信可能データなし
 
     boost::asio::ip::tcp::endpoint ep3;
 
@@ -11901,48 +11938,48 @@ void handle_realserver_disconnect_tcp_test_thread(){
     }
 
     ret = this->handle_realserver_disconnect(boost::this_thread::get_id(), ep3);
-    //遷移先ステータスを設定する status = CLIENT_RECV
-    BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
-}
-//handle_realserver_disconnect(udp) 馮家純
-void handle_realserver_disconnect_udp_test(){
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        //遷移先ステータスを設定する status = CLIENT_RECV
+        BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
+    }
 }
 
 //handle_sorryserver_disconnect 馮家純
 void handle_sorryserver_disconnect_test(){
     EVENT_TAG ret;
-    cout << "[506]------------------------------------------" << endl;
-    //unit_test[506] 異常系 上りスレッドsession_thread_data_map中にThreadID対応のデータなし
+    cout << "[523]------------------------------------------" << endl;
+    //unit_test[523] 異常系 上りスレッドsession_thread_data_map中にThreadID対応のデータなし
     this->session_thread_data_map[boost::this_thread::get_id()].reset();
     boost::asio::ip::tcp::endpoint ep_err;
     ret = this->handle_sorryserver_disconnect(boost::this_thread::get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[507]------------------------------------------" << endl;
-    //unit_test[507] 異常系 上りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
+    cout << "[524]------------------------------------------" << endl;
+    //unit_test[524] 異常系 上りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
     this->session_thread_data_map.clear();
     ret = this->handle_sorryserver_disconnect(boost::this_thread::get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[508]------------------------------------------" << endl;
-    //unit_test[508] 異常系 下りスレッドsession_thread_data_map中にThreadID対応のデータなし
+    cout << "[525]------------------------------------------" << endl;
+    //unit_test[525] 異常系 下りスレッドsession_thread_data_map中にThreadID対応のデータなし
     boost::thread t_err(down_thread_func);
     this->session_thread_data_map[t_err.get_id()].reset();
     ret = this->handle_sorryserver_disconnect(t_err.get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[509]------------------------------------------" << endl;
-    //unit_test[509] 異常系 下りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
+    cout << "[526]------------------------------------------" << endl;
+    //unit_test[526] 異常系 下りスレッドsession_thread_data_map中にThreadIDなしの場合のテスト
     this->session_thread_data_map.clear();
     ret = this->handle_sorryserver_disconnect(t_err.get_id(), ep_err);
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[510]------------------------------------------" << endl;
-    //unit_test[510] 異常系 recive_data_mapにendpointなしの場合のテスト
+    cout << "[527]------------------------------------------" << endl;
+    //unit_test[527] 異常系 recive_data_mapにendpointなしの場合のテスト
     boost::asio::ip::tcp::endpoint ep1, ep_d1;
 
     thread_data_ptr data1(new session_thread_data_sessionless);
@@ -11956,15 +11993,15 @@ void handle_sorryserver_disconnect_test(){
     //遷移先ステータスを設定する status = FINALIZE
     BOOST_CHECK_EQUAL(ret, FINALIZE);
 
-    cout << "[511]------------------------------------------" << endl;
-    //unit_test[511] 上りスレッドの場合->終了フラグがONの場合
+    cout << "[528]------------------------------------------" << endl;
+    //unit_test[528] 上りスレッドの場合->終了フラグがONの場合
     data1->recive_data_map[ep_d1];
     ret = this->handle_sorryserver_disconnect(boost::this_thread::get_id(), ep1);
     //遷移先ステータスを設定する status = CLIENT_RECV
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[512]------------------------------------------" << endl;
-    //unit_test[512] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中の場合->送信可能データあり
+    cout << "[529]------------------------------------------" << endl;
+    //unit_test[529] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中の場合->送信可能データあり
     this->session_thread_data_map.clear();
 
     boost::asio::ip::tcp::endpoint ep2;
@@ -11988,8 +12025,8 @@ void handle_sorryserver_disconnect_test(){
     //遷移先ステータスを設定する status = REALSERVER_SELECT
     BOOST_CHECK_EQUAL(ret, REALSERVER_SELECT);
 
-    cout << "[513]------------------------------------------" << endl;
-    //unit_test[513] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中の場合->送信可能データなし
+    cout << "[530]------------------------------------------" << endl;
+    //unit_test[530] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中の場合->送信可能データなし
     this->session_thread_data_map.clear();
 
     boost::asio::ip::tcp::endpoint ep3;
@@ -12012,8 +12049,8 @@ void handle_sorryserver_disconnect_test(){
     //遷移先ステータスを設定する status = CLIENT_RECV
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[514]------------------------------------------" << endl;
-    //unit_test[514] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中でない場合
+    cout << "[531]------------------------------------------" << endl;
+    //unit_test[531] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中でない場合
     this->session_thread_data_map.clear();
 
     boost::asio::ip::tcp::endpoint ep4, ep_d4;
@@ -12035,8 +12072,8 @@ void handle_sorryserver_disconnect_test(){
     //遷移先ステータスを設定する status = CLIENT_RECV
     BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
 
-    cout << "[515]------------------------------------------" << endl;
-    //unit_test[515] 下りスレッドの場合->送信可能データあり
+    cout << "[532]------------------------------------------" << endl;
+    //unit_test[532] 下りスレッドの場合->送信可能データあり
     this->session_thread_data_map.clear();
 
     boost::thread t5(down_thread_func);
@@ -12059,8 +12096,8 @@ void handle_sorryserver_disconnect_test(){
     //遷移先ステータスを設定する status = CLIENT_CONNECTION_CHECK
     BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
 
-    cout << "[516]------------------------------------------" << endl;
-    //unit_test[516] 下りスレッドの場合->送信可能データなし
+    cout << "[533]------------------------------------------" << endl;
+    //unit_test[533] 下りスレッドの場合->送信可能データなし
     this->session_thread_data_map.clear();
 
     boost::thread t6(down_thread_func);
@@ -12082,8 +12119,8 @@ void handle_sorryserver_disconnect_test(){
     //遷移先ステータスを設定する status = CLIENT_DISCONNECT
     BOOST_CHECK_EQUAL(ret, CLIENT_DISCONNECT);
 
-    cout << "[517]------------------------------------------" << endl;
-    //unit_test[517] 上りスレッドと下りスレッドの場合
+    cout << "[534]------------------------------------------" << endl;
+    //unit_test[534] 上りスレッドと下りスレッドの場合
     this->session_thread_data_map.clear();
 
     boost::thread tdown_for_get_id(down_thread_func);
@@ -12134,12 +12171,15 @@ void handle_sorryserver_disconnect_test(){
 void handle_sorryserver_disconnect_test_thread_func(const boost::thread::id thread_id,
                                    const boost::asio::ip::tcp::endpoint & rs_endpoint, EVENT_TAG check_value){
     EVENT_TAG ret = this->handle_sorryserver_disconnect(thread_id, rs_endpoint);
-    BOOST_CHECK_EQUAL(ret, check_value);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, check_value);
+    }
 }
 
 void handle_sorryserver_disconnect_test_thread(){
-    cout << "[513]------------------------------------------\n";
-    //unit_test[513] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中の場合->送信可能データなし
+    cout << "[535]------------------------------------------\n";
+    //unit_test[535] 上りスレッドの場合->終了フラグがOFFの場合->realserver切替中の場合->送信可能データなし
     EVENT_TAG ret;
     boost::asio::ip::tcp::endpoint ep3;
 
@@ -12163,14 +12203,17 @@ void handle_sorryserver_disconnect_test_thread(){
     }
 
     ret = this->handle_sorryserver_disconnect(boost::this_thread::get_id(), ep3);
-    //遷移先ステータスを設定する status = CLIENT_RECV
-    BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        //遷移先ステータスを設定する status = CLIENT_RECV
+        BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
+    }
 }
 
 //handle_realserver_close 馮家純
 void handle_realserver_close_test(){
-    cout << "[518]------------------------------------------" << endl;
-    //unit_test[518] handle_realserver_close 戻り値が「STOP」に設定する。
+    cout << "[536]------------------------------------------" << endl;
+    //unit_test[536] 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);
@@ -12187,12 +12230,6 @@ void protocol_module_sessionless_test(){
        obj.protocol_module_sessionless_test();
 }
 
-//~protocol_module_sessionless 馮家純
-void _protocol_module_sessionless_test(){
-    protocol_module_sessionless_test_class obj;
-       obj._protocol_module_sessionless_test();
-}
-
 //is_tcp 馮家純
 void is_tcp_test(){
     protocol_module_sessionless_test_class obj;
@@ -12247,24 +12284,12 @@ void add_parameter_test() {
     obj.add_parameter_test();
 }
 
-//handle_rslist_update 馬翠翠
-void handle_rslist_update_test(){
-    protocol_module_sessionless_test_class obj;
-    obj.handle_rslist_update_test();
-}
-
 //register_schedule(tcp) 董作方
 void register_schedule_tcp_test() {
     protocol_module_sessionless_test_class obj;
     obj.register_schedule_tcp_test();
 }
 
-//register_schedule(udp) 董作方
-void register_schedule_udp_test() {
-    protocol_module_sessionless_test_class obj;
-    obj.register_schedule_udp_test();
-}
-
 //handle_session_initialize 董作方
 void handle_session_initialize_test() {
     protocol_module_sessionless_test_class obj;
@@ -12338,6 +12363,12 @@ void handle_realserver_select_tcp_test(){
 //handle_realserver_select(tcp)_thread 馮家純
 void handle_realserver_select_tcp_test_thread(){
        protocol_module_sessionless_test_class obj;
+
+       //register function
+       protocol_module_sessionless_test_class::tcp_schedule_func_type func = &schedule_tcp_determinate;
+
+       obj.register_schedule(func);
+
        boost::thread_group threads;
        for(int i = 0; i < THREAD_COUNT; ++i){
                threads.create_thread(bind(&protocol_module_sessionless_test_class::handle_realserver_select_tcp_test_thread, &obj));
@@ -12597,12 +12628,6 @@ void handle_realserver_disconnect_tcp_test_thread(){
        threads.join_all();
 }
 
-//handle_realserver_disconnect(udp) 馮家純
-void handle_realserver_disconnect_udp_test(){
-    protocol_module_sessionless_test_class obj;
-    obj.handle_realserver_disconnect_udp_test();
-}
-
 //handle_sorryserver_disconnect 馮家純
 void handle_sorryserver_disconnect_test(){
     protocol_module_sessionless_test_class obj;
@@ -12630,7 +12655,6 @@ test_suite*     init_unit_test_suite( int argc, char* argv[] ){
        test_suite* ts = BOOST_TEST_SUITE( "sessionless test" );
 
        ts->add(BOOST_TEST_CASE(&protocol_module_sessionless_test));
-       ts->add(BOOST_TEST_CASE(&_protocol_module_sessionless_test));
        ts->add(BOOST_TEST_CASE(&is_tcp_test));
        ts->add(BOOST_TEST_CASE(&is_udp_test));
        ts->add(BOOST_TEST_CASE(&get_name_test));
@@ -12640,9 +12664,7 @@ test_suite*     init_unit_test_suite( int argc, char* argv[] ){
        ts->add(BOOST_TEST_CASE(&check_parameter_test));
        ts->add(BOOST_TEST_CASE(&set_parameter_test));
        ts->add(BOOST_TEST_CASE(&add_parameter_test));
-       ts->add(BOOST_TEST_CASE(&handle_rslist_update_test));
        ts->add(BOOST_TEST_CASE(&register_schedule_tcp_test));
-       ts->add(BOOST_TEST_CASE(&register_schedule_udp_test));
        ts->add(BOOST_TEST_CASE(&handle_session_initialize_test));
        ts->add(BOOST_TEST_CASE(&handle_session_initialize_test_thread));
        ts->add(BOOST_TEST_CASE(&handle_session_finalize_test));
@@ -12686,7 +12708,6 @@ test_suite*     init_unit_test_suite( int argc, char* argv[] ){
        ts->add(BOOST_TEST_CASE(&handle_sorry_disable_test_thread));
        ts->add(BOOST_TEST_CASE(&handle_realserver_disconnect_tcp_test));
        ts->add(BOOST_TEST_CASE(&handle_realserver_disconnect_tcp_test_thread));
-       ts->add(BOOST_TEST_CASE(&handle_realserver_disconnect_udp_test));
        ts->add(BOOST_TEST_CASE(&handle_sorryserver_disconnect_test));
        ts->add(BOOST_TEST_CASE(&handle_sorryserver_disconnect_test_thread));
        ts->add(BOOST_TEST_CASE(&handle_realserver_close_test));
index 1994cd0..684eef4 100644 (file)
@@ -11,53 +11,58 @@ using namespace l7vs;
 char hostname[] = "127.0.0.1";
 
 LOG_LEVEL_TAG  stb_getloglevel(){
-       //return LOG_LV_DEBUG;
+    //return LOG_LV_NONE;
+       return LOG_LV_DEBUG;
+}
+
+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"
-                               % LOG_LV_FATAL
-                               % message_id
-                               % message.c_str()
-                               % hostname;
-    cout << endl;
+//     cout << boost::format( "%s%d%06d %s %s" )
+//                             % "PM"
+//                             % LOG_LV_FATAL
+//                             % message_id
+//                             % message.c_str()
+//                             % hostname;
+//    cout << endl;
 }
 void   stb_putLogError( const unsigned int message_id, const std::string& message, const char* file, int line){
-       cout << boost::format( "%s%d%06d %s %s" )
-                               % "PM"
-                               % LOG_LV_ERROR
-                               % message_id
-                               % message.c_str()
-                               % hostname;
-    cout << endl;
+//     cout << boost::format( "%s%d%06d %s %s" )
+//                             % "PM"
+//                             % LOG_LV_ERROR
+//                             % message_id
+//                             % message.c_str()
+//                             % hostname;
+//    cout << endl;
 }
 void   stb_putLogWarn( const unsigned int message_id, const std::string& message, const char* file, int line){
-       cout << boost::format( "%s%d%06d %s %s" )
-                               % "PM"
-                               % LOG_LV_WARN
-                               % message_id
-                               % message.c_str()
-                               % hostname;
-    cout << endl;
+//     cout << boost::format( "%s%d%06d %s %s" )
+//                             % "PM"
+//                             % LOG_LV_WARN
+//                             % message_id
+//                             % message.c_str()
+//                             % hostname;
+//    cout << endl;
 }
 void   stb_putLogInfo( const unsigned int message_id, const std::string& message, const char* file, int line){
-       cout << boost::format( "%s%d%06d %s %s" )
-                               % "PM"
-                               % LOG_LV_INFO
-                               % message_id
-                               % message.c_str()
-                               % hostname;
-    cout << endl;
+//     cout << boost::format( "%s%d%06d %s %s" )
+//                             % "PM"
+//                             % LOG_LV_INFO
+//                             % message_id
+//                             % message.c_str()
+//                             % hostname;
+//    cout << endl;
 }
 void   stb_putLogDebug( const unsigned int message_id, const std::string& message, const char* file, int line){
-       cout << boost::format( "%s%d%06d %s %s" )
-                               % "PM"
-                               % LOG_LV_DEBUG
-                               % message_id
-                               % message.c_str()
-                               % hostname;
-    cout << endl;
+//     cout << boost::format( "%s%d%06d %s %s" )
+//                             % "PM"
+//                             % LOG_LV_DEBUG
+//                             % message_id
+//                             % message.c_str()
+//                             % hostname;
+//    cout << endl;
 }
 
 //new operator function
@@ -253,13 +258,37 @@ class sslid_replication_data_processor_stub : public sslid_replication_data_proc
                {
                        return temp_list;
                }
-
 };
 
 //test class
 class protocol_module_sslid_test_class: public protocol_module_sslid {
 public:
+boost::mutex check_mutex;
+
+void set_replication_data_processor(sslid_replication_data_processor* p)
+{
+    this->replication_data_processor = p;
+}
+
+void set_session_data_processor(sslid_session_data_processor* p)
+{
+    this->session_data_processor = p;
+}
+
+void set_reschedule(int i)
+{
+    this->reschedule = i;
+}
+
+sslid_replication_data_processor*& get_replication_data_processor()
+{
+    return this->replication_data_processor;
+}
 
+void set_schedule_tcp(tcp_schedule_func_type p)
+{
+    this->schedule_tcp = p;
+}
 void install_stb_log_func() {
     typedef boost::function<void(const unsigned int, const std::string&,
             const char*, int)> log_func_type;
@@ -1972,6 +2001,7 @@ void handle_session_initialize_test() {
     BOOST_CHECK_EQUAL(itr->second->current_record_rest_size, 0u);
     BOOST_CHECK_EQUAL(itr->second->selected_realserver, ep);
     BOOST_CHECK(!itr->second->hello_message_flag);
+
 }
 
 //handle_session_initialize
@@ -1982,8 +2012,8 @@ void handle_session_initialize_test_thread() {
     boost::asio::ip::tcp::endpoint client_endpoint_tcp;
     boost::asio::ip::udp::endpoint client_endpoint_udp;
 
-    cout << "[118]------------------------------------------\n";
-    // unit_test[118] パラメータが正常に入力去れた場合、戻り値にACCEPTを設定する。
+    cout << "[119]------------------------------------------\n";
+    // unit_test[119] パラメータが正常に入力去れた場合、戻り値にACCEPTを設定する。
     EVENT_TAG status =
             this->handle_session_initialize(boost::this_thread::get_id(),
                     down_thread.get_id(), client_endpoint_tcp,
@@ -1993,31 +2023,37 @@ void handle_session_initialize_test_thread() {
     {
         boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
         itr = this->session_thread_data_map.find(boost::this_thread::get_id());
-       BOOST_CHECK(itr != this->session_thread_data_map.end());
+        BOOST_CHECK(itr != this->session_thread_data_map.end());
+    }
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(itr->second->thread_division, THREAD_DIVISION_UP_STREAM);
+        BOOST_CHECK_EQUAL(itr->second->pair_thread_id, down_thread.get_id());
+        BOOST_CHECK_EQUAL(itr->second->end_flag, END_FLAG_OFF);
+        BOOST_CHECK_EQUAL(itr->second->realserver_connect_failed_count, 0);
+        BOOST_CHECK_EQUAL(itr->second->data_begain_offset, 0u);
+        BOOST_CHECK_EQUAL(itr->second->data_size, 0u);
+        BOOST_CHECK_EQUAL(itr->second->current_record_rest_size, 0u);
+        BOOST_CHECK_EQUAL(itr->second->selected_realserver, ep);
+        BOOST_CHECK(!itr->second->hello_message_flag);
     }
-    BOOST_CHECK_EQUAL(itr->second->thread_division, THREAD_DIVISION_UP_STREAM);
-    BOOST_CHECK_EQUAL(itr->second->pair_thread_id, down_thread.get_id());
-    BOOST_CHECK_EQUAL(itr->second->end_flag, END_FLAG_OFF);
-    BOOST_CHECK_EQUAL(itr->second->realserver_connect_failed_count, 0);
-    BOOST_CHECK_EQUAL(itr->second->data_begain_offset, 0u);
-    BOOST_CHECK_EQUAL(itr->second->data_size, 0u);
-    BOOST_CHECK_EQUAL(itr->second->current_record_rest_size, 0u);
-    BOOST_CHECK_EQUAL(itr->second->selected_realserver, ep);
-    BOOST_CHECK(!itr->second->hello_message_flag);
     {
         boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
         itr = this->session_thread_data_map.find(down_thread.get_id());
-       BOOST_CHECK(itr != this->session_thread_data_map.end());
+        BOOST_CHECK(itr != this->session_thread_data_map.end());
+    }
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(itr->second->thread_division, THREAD_DIVISION_DOWN_STREAM);
+        BOOST_CHECK_EQUAL(itr->second->pair_thread_id, boost::this_thread::get_id());
+        BOOST_CHECK_EQUAL(itr->second->end_flag, END_FLAG_OFF);
+        BOOST_CHECK_EQUAL(itr->second->realserver_connect_failed_count, 0);
+        BOOST_CHECK_EQUAL(itr->second->data_begain_offset, 0u);
+        BOOST_CHECK_EQUAL(itr->second->data_size, 0u);
+        BOOST_CHECK_EQUAL(itr->second->current_record_rest_size, 0u);
+        BOOST_CHECK_EQUAL(itr->second->selected_realserver, ep);
+        BOOST_CHECK(!itr->second->hello_message_flag);
     }
-    BOOST_CHECK_EQUAL(itr->second->thread_division, THREAD_DIVISION_DOWN_STREAM);
-    BOOST_CHECK_EQUAL(itr->second->pair_thread_id, boost::this_thread::get_id());
-    BOOST_CHECK_EQUAL(itr->second->end_flag, END_FLAG_OFF);
-    BOOST_CHECK_EQUAL(itr->second->realserver_connect_failed_count, 0);
-    BOOST_CHECK_EQUAL(itr->second->data_begain_offset, 0u);
-    BOOST_CHECK_EQUAL(itr->second->data_size, 0u);
-    BOOST_CHECK_EQUAL(itr->second->current_record_rest_size, 0u);
-    BOOST_CHECK_EQUAL(itr->second->selected_realserver, ep);
-    BOOST_CHECK(!itr->second->hello_message_flag);
 }
 
 //handle_session_finalize
@@ -2027,8 +2063,8 @@ void handle_session_finalize_test() {
     boost::asio::ip::tcp::endpoint client_endpoint_tcp;
     boost::asio::ip::udp::endpoint client_endpoint_udp;
 
-    cout << "[119]------------------------------------------" << endl;
-    // unit_test[119] パラメータが正常に入力された場合、戻り値にSTOPを設定する。
+    cout << "[120]------------------------------------------" << endl;
+    // unit_test[120] パラメータが正常に入力された場合、戻り値に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(),
@@ -2041,8 +2077,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());
 
-    cout << "[120]------------------------------------------" << endl;
-    // unit_test[120] 初期化しなくて、直接該当関数を呼び出す場合、戻り値にSTOPを設定する。
+    cout << "[121]------------------------------------------" << endl;
+    // unit_test[121] 初期化しなくて、直接該当関数を呼び出す場合、戻り値にSTOPを設定する。
     this->session_thread_data_map[boost::this_thread::get_id()] = thread_data_ptr(new session_thread_data_sslid);
     this->session_thread_data_map[down_thread.get_id()] = thread_data_ptr(new session_thread_data_sslid);
     status = this->handle_session_finalize(boost::this_thread::get_id(),
@@ -2061,8 +2097,8 @@ void handle_session_finalize_test_thread() {
     boost::asio::ip::tcp::endpoint client_endpoint_tcp;
     boost::asio::ip::udp::endpoint client_endpoint_udp;
 
-    cout << "[119]------------------------------------------\n";
-    // unit_test[119] パラメータが正常に入力された場合、戻り値にSTOPを設定する。
+    cout << "[122]------------------------------------------\n";
+    // unit_test[122] パラメータが正常に入力された場合、戻り値に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(),
@@ -2072,23 +2108,19 @@ void handle_session_finalize_test_thread() {
     {
         boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
         itr = this->session_thread_data_map.find(boost::this_thread::get_id());
-       BOOST_CHECK(itr == this->session_thread_data_map.end());
+        BOOST_CHECK(itr == this->session_thread_data_map.end());
     }
-    
     {
         boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
         itr = this->session_thread_data_map.find(down_thread.get_id());
-       BOOST_CHECK(itr == this->session_thread_data_map.end());
+        BOOST_CHECK(itr == this->session_thread_data_map.end());
     }
-    
-
-    cout << "[120]------------------------------------------" << endl;
 }
 
 //handle_accept
 void handle_accept_test(){
-    cout << "[121]------------------------------------------" << endl;
-       //unit_test[121] handle_accpet()メソッドのテスト,正常系で必ずCLIENT_RECVを返す
+    cout << "[123]------------------------------------------" << endl;
+       //unit_test[123] handle_accpet()メソッドのテスト,正常系で必ずCLIENT_RECVを返す
 
        boost::asio::ip::tcp::endpoint ep;
        session_thread_data_sslid* thread_up_data_value = new session_thread_data_sslid;
@@ -2105,8 +2137,8 @@ void handle_accept_test(){
 }
 
 void handle_accept_test_thread(){
-    cout << "[122]------------------------------------------\n";
-       //unit_test[121] handle_accpet()メソッドのテスト,正常系で必ずCLIENT_RECVを返す
+    cout << "[124]------------------------------------------\n";
+       //unit_test[124] handle_accpet()メソッドのテスト,正常系で必ずCLIENT_RECVを返す
 
        boost::asio::ip::tcp::endpoint ep;
        session_thread_data_sslid* thread_up_data_value = new session_thread_data_sslid;
@@ -2121,7 +2153,10 @@ void handle_accept_test_thread(){
            boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
         this->session_thread_data_map.insert(std::pair<const boost::thread::id,thread_data_ptr>(boost::this_thread::get_id(),thread_data));
        }
-       BOOST_CHECK_EQUAL(this->handle_accept(boost::this_thread::get_id()), protocol_module_base::CLIENT_RECV);
+       {
+           boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(this->handle_accept(boost::this_thread::get_id()), protocol_module_base::CLIENT_RECV);
+       }
 }
 
 //handle_client_recv
@@ -2134,8 +2169,8 @@ void handle_client_recv_test() {
     int mem_cmp_result;
        int mem_cmp_length;
 
-    cout << "[122]------------------------------------------" << endl;
-    // unit_test[122] 終了フラグがONの場合、戻り値にCLIENT_RECVを設定する。
+    cout << "[125]------------------------------------------" << endl;
+    // unit_test[125] 終了フラグがONの場合、戻り値にCLIENT_RECVを設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_ON;
@@ -2147,9 +2182,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[123]------------------------------------------" << endl;
-    // unit_test[123] 終了フラグがOFFで、且つ データサイズが0で、且つ 新SSLレコードでなくて、
-    // unit_test[123] 且つ受信データサイズ > 0、且つdata_begain_offset = 0の場合、戻り値をREALSERVER_SELECTに設定する。
+    cout << "[126]------------------------------------------" << endl;
+    // unit_test[126] 終了フラグがOFFで、且つ データサイズが0で、且つ 新SSLレコードでなくて、
+    // unit_test[126] 且つ受信データサイズ > 0、且つdata_begain_offset = 0の場合、戻り値をREALSERVER_SELECTに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2173,9 +2208,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[124]------------------------------------------" << endl;
-    // unit_test[124] 終了フラグがOFFで、且つ データサイズが0で、且つ 新SSLレコードでなくて、
-    // unit_test[124] 且つ受信データサイズ > 0、且つdata_begain_offset > 0の場合、戻り値をREALSERVER_SELECTに設定する。
+    cout << "[127]------------------------------------------" << endl;
+    // unit_test[127] 終了フラグがOFFで、且つ データサイズが0で、且つ 新SSLレコードでなくて、
+    // unit_test[127] 且つ受信データサイズ > 0、且つdata_begain_offset > 0の場合、戻り値をREALSERVER_SELECTに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2199,9 +2234,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[125]------------------------------------------" << endl;
-    // unit_test[125] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[125] 且つdata_begain_offset が 0で,且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合、戻り値をFINALIZEに設定する。
+    cout << "[128]------------------------------------------" << endl;
+    // unit_test[128] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[128] 且つdata_begain_offset が 0で,且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合、戻り値をFINALIZEに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2226,9 +2261,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[126]------------------------------------------" << endl;
-    // unit_test[126] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[126] 且つdata_begain_offset > 0で,且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合、戻り値をFINALIZEに設定する。
+    cout << "[129]------------------------------------------" << endl;
+    // unit_test[129] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[129] 且つdata_begain_offset > 0で,且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合、戻り値をFINALIZEに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2253,9 +2288,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[127]------------------------------------------" << endl;
-    // unit_test[127] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[127] 且つdata_begain_offset = 0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合、戻り値をCLIENT_RECVに設定する。
+    cout << "[130]------------------------------------------" << endl;
+    // unit_test[130] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[130] 且つdata_begain_offset = 0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合、戻り値をCLIENT_RECVに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2276,9 +2311,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[128]------------------------------------------" << endl;
-    // unit_test[128] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[128] 且つdata_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合、戻り値をCLIENT_RECVに設定する。
+    cout << "[131]------------------------------------------" << endl;
+    // unit_test[131] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[131] 且つdata_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合、戻り値をCLIENT_RECVに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2299,9 +2334,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[129]------------------------------------------" << endl;
-    // unit_test[129] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[129] 且つdata_begain_offset = 0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値をREALSERVER_SELECTに設定する。
+    cout << "[132]------------------------------------------" << endl;
+    // unit_test[132] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[132] 且つdata_begain_offset = 0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値をREALSERVER_SELECTに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2338,9 +2373,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[130]------------------------------------------" << endl;
-    // unit_test[130] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[130] 且つ、data_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値にREALSERVER_SELECTを設定する。
+    cout << "[133]------------------------------------------" << endl;
+    // unit_test[133] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[133] 且つ、data_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値にREALSERVER_SELECTを設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2377,9 +2412,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[131]------------------------------------------" << endl;
-    // unit_test[131] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[131] 且つ data_begain_offset = 0で、且つ且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値をREALSERVER_SELECTに設定する。
+    cout << "[134]------------------------------------------" << endl;
+    // unit_test[134] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[134] 且つ data_begain_offset = 0で、且つ且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値をREALSERVER_SELECTに設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2407,9 +2442,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[132]------------------------------------------" << endl;
-    // unit_test[132] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
-    // unit_test[132] 且つdata_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値がREALSERVER_SELECTで設定する。
+    cout << "[135]------------------------------------------" << endl;
+    // unit_test[135] 終了フラグがOFFで、 且つ データサイズが0で、 且つ 新SSLレコードで、
+    // unit_test[135] 且つdata_begain_offset > 0で、且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合、戻り値がREALSERVER_SELECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2437,9 +2472,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[133]------------------------------------------" << endl;
-    // unit_test[133] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードでなくて、且つdata_begain_offset > 0の場合
-    // unit_test[133] 戻り値がREALSERVER_SELECTで設定する。
+    cout << "[136]------------------------------------------" << endl;
+    // unit_test[136] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードでなくて、且つdata_begain_offset > 0の場合
+    // unit_test[136] 戻り値がREALSERVER_SELECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2468,9 +2503,9 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[134]------------------------------------------" << endl;
-    // unit_test[134] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードでなくて、且つdata_begain_offset = 0の場合
-    // unit_test[134] 戻り値がREALSERVER_SELECTで設定する。
+    cout << "[137]------------------------------------------" << endl;
+    // unit_test[137] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードでなくて、且つdata_begain_offset = 0の場合
+    // unit_test[137] 戻り値がREALSERVER_SELECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2499,10 +2534,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[138]------------------------------------------" << endl;
+    // unit_test[138] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで,且つdata_begain_offset > 0
+    // unit_test[138] 且つcheck_ssl_record_sendable()の戻り値が-1(異常)の場合
+    // unit_test[138] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2532,10 +2567,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[139]------------------------------------------" << endl;
+    // unit_test[139] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+    // unit_test[139] 且つcheck_ssl_record_sendable()の戻り値が-1 (異常)の場合
+    // unit_test[139] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2565,10 +2600,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[140]------------------------------------------" << endl;
+    // unit_test[140] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset > 0
+    // unit_test[140] 且つcheck_ssl_record_sendable()の戻り値が1 (送信不可)の場合
+    // unit_test[140] 戻り値が CLIENT_RECVで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2597,10 +2632,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[141]------------------------------------------" << endl;
+    // unit_test[141] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+    // unit_test[141] 且つcheck_ssl_record_sendable()の戻り値が1 (送信不可)の場合
+    // unit_test[141] 戻り値が CLIENT_RECVで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2629,10 +2664,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    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で設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2674,10 +2709,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[143]------------------------------------------" << endl;
+    // unit_test[143] 終了フラグがOFFで、 且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+    // unit_test[143] 且つheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+    // unit_test[143] 戻り値がREALSERVER_SELECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2719,10 +2754,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[144]------------------------------------------" << endl;
+    // unit_test[144] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset > 0
+    // unit_test[144] 且つheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+    // unit_test[144] 戻り値がREALSERVER_SELECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2758,10 +2793,10 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[145]------------------------------------------" << endl;
+    // unit_test[145] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset = 0
+    // unit_test[145] 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+    // unit_test[145] 戻り値がREALSERVER_SELECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2797,24 +2832,24 @@ void handle_client_recv_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[143]------------------------------------------" << endl;
-    // unit_test[143] 受信データサイズ > 受信バッファサイズの場合
-    // unit_test[143] 戻り値がFINALIZEで設定する。
+    cout << "[146]------------------------------------------" << endl;
+    // unit_test[146] 受信データサイズ > 受信バッファサイズの場合
+    // unit_test[146] 戻り値がFINALIZEで設定する。
     recvlen = recvbuffer.size() + 1;
     status = this->handle_client_recv(boost::this_thread::get_id(),
             recvbuffer, recvlen);
     BOOST_CHECK_EQUAL(status, FINALIZE);
 
-    cout << "[144]------------------------------------------" << endl;
-    // unit_test[144] スレッドIDがmapに存在しない場合
-    // unit_test[144] 戻り値がFINALIZEで設定する。
+    cout << "[147]------------------------------------------" << endl;
+    // unit_test[147] スレッドIDがmapに存在しない場合
+    // unit_test[147] 戻り値がFINALIZEで設定する。
     status = this->handle_client_recv(boost::this_thread::get_id(),
             recvbuffer, recvlen);
     BOOST_CHECK_EQUAL(status, FINALIZE);
 
-    cout << "[145]------------------------------------------" << endl;
-    // unit_test[145] 終了フラグがOFFで,且つ data_size+recvlen > MAX_SSLID_BUFFER_SIZEの場合
-    // unit_test[145] 戻り値がFINALIZEで設定する。
+    cout << "[148]------------------------------------------" << endl;
+    // unit_test[148] 終了フラグがOFFで,且つ data_size+recvlen > MAX_SSLID_BUFFER_SIZEの場合
+    // unit_test[148] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2843,10 +2878,10 @@ void handle_client_recv_test_thread() {
     int mem_cmp_result;
        int mem_cmp_length;
 
-    cout << "[141]------------------------------------------\n";
-    // unit_test[141] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset > 0
-    // unit_test[141] 且つheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
-    // unit_test[141] 戻り値がREALSERVER_SELECTで設定する。
+    cout << "[149]------------------------------------------\n";
+    // unit_test[149] 終了フラグがOFFで、且つ データサイズ > 0、且つ新SSLレコードで、且つdata_begain_offset > 0
+    // unit_test[149] 且つheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+    // unit_test[149] 戻り値がREALSERVER_SELECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->end_flag = END_FLAG_OFF;
@@ -2873,12 +2908,15 @@ void handle_client_recv_test_thread() {
         mem_cmp_length = up_thread_data->data_size + recvlen;
         status = this->handle_client_recv(boost::this_thread::get_id(), recvbuffer, recvlen);
         mem_cmp_result = memcmp(this->session_thread_data_map[boost::this_thread::get_id()]->data_buffer.c_array(), mem_cmp_buffer, mem_cmp_length);
-        BOOST_CHECK_EQUAL(mem_cmp_result, 0);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 9u);
-        BOOST_CHECK(!this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 0u);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
-        BOOST_CHECK_EQUAL(status, REALSERVER_SELECT);
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK_EQUAL(mem_cmp_result, 0);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 9u);
+            BOOST_CHECK(!this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 0u);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+            BOOST_CHECK_EQUAL(status, REALSERVER_SELECT);
+        }
         delete[] mem_cmp_buffer;
     }
 }
@@ -2910,8 +2948,8 @@ void handle_realserver_select_tcp_test() {
     boost::function<void(const unsigned int, const std::string&,
             const char*, int)> inputLogDebug = stb_putLogDebug;
 
-    cout << "[146]------------------------------------------" << endl;
-    // unit_test[146] realserver接続回数が最大回数の場合、戻り値がCLIENT_DISCONNECTで設定する。
+    cout << "[150]------------------------------------------" << endl;
+    // unit_test[150] realserver接続回数が最大回数の場合、戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count
@@ -2925,8 +2963,8 @@ void handle_realserver_select_tcp_test() {
          this->session_thread_data_map.clear();
     }
 
-    cout << "[147]------------------------------------------" << endl;
-    // unit_test[147] realserver接続回数が最大回数を越える場合、戻り値がCLIENT_DISCONNECTで設定する。
+    cout << "[151]------------------------------------------" << endl;
+    // unit_test[151] realserver接続回数が最大回数を越える場合、戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count
@@ -2940,9 +2978,9 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[148]------------------------------------------" << endl;
-    // unit_test[148] realserver接続回数が最大回数に未満で, reschedule が 1(ON)、endpointが決定の場合
-    // unit_test[148] 戻り値が REALSERVER_CONNECTで設定する。
+    cout << "[152]------------------------------------------" << endl;
+    // unit_test[152] realserver接続回数が最大回数に未満で, reschedule が 1(ON)、endpointが決定の場合
+    // unit_test[152] 戻り値が REALSERVER_CONNECTで設定する。
     {
         this->schedule_tcp = schedule_tcp_func1;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -2958,9 +2996,9 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[149]------------------------------------------" << endl;
-    // unit_test[149] realserver接続回数が最大回数に未満で, reschedule が 1(ON)、endpointが未決定の場合
-    // unit_test[149] 戻り値が CLIENT_DISCONNECTで設定する。
+    cout << "[153]------------------------------------------" << endl;
+    // unit_test[153] realserver接続回数が最大回数に未満で, reschedule が 1(ON)、endpointが未決定の場合
+    // unit_test[153] 戻り値が CLIENT_DISCONNECTで設定する。
     {
         this->schedule_tcp = schedule_tcp_func2;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -2976,9 +3014,9 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[150]------------------------------------------" << endl;
-    // unit_test[150] realserver接続回数が最大回数に未満で, 且つreschedule が 0 (OFF)の場合
-    // unit_test[150] 戻り値が CLIENT_DISCONNECTで設定する。
+    cout << "[154]------------------------------------------" << endl;
+    // unit_test[154] realserver接続回数が最大回数に未満で, 且つreschedule が 0 (OFF)の場合
+    // unit_test[154] 戻り値が CLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count
@@ -2993,9 +3031,9 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[151]------------------------------------------" << endl;
-    // unit_test[151] realserverの接続失敗回数が0, 且つselected_realserver が NULLでない場合
-    // unit_test[151] 戻り値がREALSERVER_CONNECTで設定する。
+    cout << "[155]------------------------------------------" << endl;
+    // unit_test[155] realserverの接続失敗回数が0, 且つselected_realserver が NULLでない場合
+    // unit_test[155] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = 0;
@@ -3008,9 +3046,9 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[152]------------------------------------------" << endl;
-    // unit_test[152] realserverの接続失敗回数が0, 且つselected_realserver が NULLで、 且つhello_message_flagがfalseの場合
-    // unit_test[152] 戻り値がFINALIZEで設定する。
+    cout << "[156]------------------------------------------" << endl;
+    // unit_test[156] realserverの接続失敗回数が0, 且つselected_realserver が NULLで、 且つhello_message_flagがfalseの場合
+    // unit_test[156] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = 0;
@@ -3026,10 +3064,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[153]------------------------------------------" << endl;
-    // unit_test[153] realserverの接続失敗回数が0, 且つselected_realserver が NULLで、 且つhello_message_flagがtrueで
-    // unit_test[153] 且つendpointが決定の場合
-    // unit_test[153] 戻り値がREALSERVER_CONNECTで設定する。
+    cout << "[157]------------------------------------------" << endl;
+    // unit_test[157] realserverの接続失敗回数が0, 且つselected_realserver が NULLで、 且つhello_message_flagがtrueで
+    // unit_test[157] 且つendpointが決定の場合
+    // unit_test[157] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = 0;
@@ -3048,10 +3086,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[158]------------------------------------------" << endl;
+    // unit_test[158] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+    // unit_test[158] 且つセッションIDがなくで、且つendpointが未決定の場合
+    // unit_test[158] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = 0;
@@ -3071,10 +3109,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[159]------------------------------------------" << endl;
+    // unit_test[159] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+    // unit_test[159] 且つセッションIDがあるで, 且つendpointが決定の場合
+    // unit_test[159] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = 0;
@@ -3109,10 +3147,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[160]------------------------------------------" << endl;
+    // unit_test[160] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+    // unit_test[160] 且つセッションIDがあり, endpointが未決定で、reschedule後、endpointが決定の場合
+    // unit_test[160] 戻り値がREALSERVER_CONNECTで設定する。
     {
         this->schedule_tcp = schedule_tcp_func1;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3141,10 +3179,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[161]------------------------------------------" << endl;
+    // unit_test[161] realserver接続失敗回数が0で, 且つselected_realserverがNULLで、且つhello_message_flagがtrueで
+    // unit_test[161] 且つセッションIDがあり, endpointが未決定で、reschedule後、endpointも未決定の場合
+    // unit_test[161] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         this->schedule_tcp = schedule_tcp_func2;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3173,10 +3211,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[162]------------------------------------------" << endl;
+    // unit_test[162] realserver接続失敗回数が0で, 且つselected_realserverがNULLで, 且つhello_message_flagがtrueで
+    // unit_test[162] 且つセッションIDがあり, endpointが未決定で、且つ no rescheduleの場合
+    // unit_test[162] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = 0;
@@ -3203,9 +3241,9 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[159]------------------------------------------" << endl;
-    // unit_test[159] realserver接続失敗回数が0で, 且つselected_realserver が NULLないの場合
-    // unit_test[159] 戻り値がREALSERVER_CONNECTで設定する。
+    cout << "[163]------------------------------------------" << endl;
+    // unit_test[163] realserver接続失敗回数が0で, 且つselected_realserver が NULLないの場合
+    // unit_test[163] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = -1;
@@ -3218,9 +3256,9 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[160]------------------------------------------" << endl;
-    // unit_test[160] realserver接続失敗回数が0で, 且つselected_realserver が NULLで, 且つhello_message_flag が falseの場合
-    // unit_test[160] 戻り値がFINALIZEで設定する。
+    cout << "[164]------------------------------------------" << endl;
+    // unit_test[164] realserver接続失敗回数が0で, 且つselected_realserver が NULLで, 且つhello_message_flag が falseの場合
+    // unit_test[164] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = -1;
@@ -3236,10 +3274,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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設定する。
+    cout << "[165]------------------------------------------" << endl;
+    // unit_test[165] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+    // unit_test[165] 且つセッションIDがなくで、且つendpointが決定の場合
+    // unit_test[165] 戻り値がREALSERVER_CONNECT設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = -1;
@@ -3258,10 +3296,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[166]------------------------------------------" << endl;
+    // unit_test[166] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+    // unit_test[166] 且つセッションIDがなくで、且つendpointが未決定の場合
+    // unit_test[166] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = -1;
@@ -3281,10 +3319,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[167]------------------------------------------" << endl;
+    // unit_test[167] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+    // unit_test[167] 且つセッションIDがあるで, 且つendpointが決定の場合
+    // unit_test[167] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = -1;
@@ -3319,10 +3357,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[168]------------------------------------------" << endl;
+    // unit_test[168] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+    // unit_test[168] 且つセッションIDがあるで, endpointが未決定で、reschedule後、endpointが決定の場合
+    // unit_test[168] 戻り値がREALSERVER_CONNECTで設定する。
     {
         this->schedule_tcp = schedule_tcp_func1;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3351,10 +3389,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[169]------------------------------------------" << endl;
+    // unit_test[169] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+    // unit_test[169] 且つセッションIDがあるで, endpointが未決定で、reschedule後、endpointも未決定の場合
+    // unit_test[169] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         this->schedule_tcp = schedule_tcp_func2;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3383,10 +3421,10 @@ void handle_realserver_select_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[170]------------------------------------------" << endl;
+    // unit_test[170] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+    // unit_test[170] セッションIDがあり、endpointが未決定でrescheduleしない場合
+    // unit_test[170] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->realserver_connect_failed_count = -1;
@@ -3424,35 +3462,36 @@ void handle_realserver_select_tcp_test_thread() {
     boost::asio::ip::tcp::endpoint
             ep1(boost::asio::ip::address::from_string("192.168.120.249"),
                     12345);
-    int maxlist = 1;
-    char* sslid_replication_area_begain = new char[10];
-    int sslid_replication_area_size = 0;
+//    int maxlist = 1;
+//    char* sslid_replication_area_begain = new char[10];
+//    int sslid_replication_area_size = 0;
     boost::asio::ip::tcp::endpoint ep2;
-    boost::asio::ip::tcp::endpoint virtual_service_endpoint;
-    std::string session_id;
-    boost::function<LOG_LEVEL_TAG(void)> ingetloglevel = stb_getloglevel;
-    boost::function<void(const unsigned int, const std::string&,
-            const char*, int)> inputLogFatal = stb_putLogFatal;
-    boost::function<void(const unsigned int, const std::string&,
-            const char*, int)> inputLogError = stb_putLogError;
-    boost::function<void(const unsigned int, const std::string&,
-            const char*, int)> inputLogWarn = stb_putLogWarn;
-    boost::function<void(const unsigned int, const std::string&,
-            const char*, int)> inputLogInfo = stb_putLogInfo;
-    boost::function<void(const unsigned int, const std::string&,
-            const char*, int)> inputLogDebug = stb_putLogDebug;
-
-    cout << "[164]------------------------------------------\n";
-    // unit_test[164] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
-    // unit_test[164] 且つセッションIDがあるで, endpointが未決定で、reschedule後、endpointが決定の場合
-    // unit_test[164] 戻り値がREALSERVER_CONNECTで設定する。
+//    boost::asio::ip::tcp::endpoint virtual_service_endpoint;
+//    std::string session_id;
+//    boost::function<LOG_LEVEL_TAG(void)> ingetloglevel = stb_getloglevel;
+//    boost::function<void(const unsigned int, const std::string&,
+//            const char*, int)> inputLogFatal = stb_putLogFatal;
+//    boost::function<void(const unsigned int, const std::string&,
+//            const char*, int)> inputLogError = stb_putLogError;
+//    boost::function<void(const unsigned int, const std::string&,
+//            const char*, int)> inputLogWarn = stb_putLogWarn;
+//    boost::function<void(const unsigned int, const std::string&,
+//            const char*, int)> inputLogInfo = stb_putLogInfo;
+//    boost::function<void(const unsigned int, const std::string&,
+//            const char*, int)> inputLogDebug = stb_putLogDebug;
+
+    cout << "[171]------------------------------------------\n";
+    // unit_test[171] realserver接続失敗回数 < 0で, 且つselected_realserver が NULLで, 且つhello_message_flag が trueで
+    // unit_test[171] 且つセッションIDがあるで, endpointが未決定で、reschedule後、endpointが決定の場合
+    // unit_test[171] 戻り値がREALSERVER_CONNECTで設定する。
     {
-        this->schedule_tcp = schedule_tcp_func1;
+        //this->schedule_tcp = schedule_tcp_func1;
         thread_data_ptr 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;
@@ -3460,25 +3499,28 @@ void handle_realserver_select_tcp_test_thread() {
         {
             boost::mutex::scoped_lock sclock(this->session_thread_data_map_mutex);
             this->session_thread_data_map[boost::this_thread::get_id()] = up_thread_data;
-            this->reschedule = 1;
-            this->replication_data_processor = new sslid_replication_data_processor(maxlist, sslid_replication_area_begain,
-                    sslid_replication_area_size, virtual_service_endpoint, ingetloglevel, inputLogFatal, inputLogError,
-                    inputLogWarn, inputLogInfo, inputLogDebug);
-            this->session_data_processor = new sslid_session_data_processor_stub(
-                    1024, 3600, this->replication_data_processor, ingetloglevel,
-                    inputLogFatal, inputLogError, inputLogWarn, inputLogInfo,
-                    inputLogDebug);
+//            this->reschedule = 1;
+//            this->replication_data_processor = new sslid_replication_data_processor(maxlist, sslid_replication_area_begain,
+//                    sslid_replication_area_size, virtual_service_endpoint, ingetloglevel, inputLogFatal, inputLogError,
+//                    inputLogWarn, inputLogInfo, inputLogDebug);
+//            this->session_data_processor = new sslid_session_data_processor_stub(
+//                    1024, 3600, this->replication_data_processor, ingetloglevel,
+//                    inputLogFatal, inputLogError, inputLogWarn, inputLogInfo,
+//                    inputLogDebug);
         }
         status = this->handle_realserver_select(boost::this_thread::get_id(),
                 rs_endpoint);
-        BOOST_CHECK_EQUAL(status, REALSERVER_CONNECT);
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK_EQUAL(status, REALSERVER_CONNECT);
+        }
     }
 }
 
 //handle_realserver_select(udp)
 void handle_realserver_select_udp_test(){
-    cout << "[167]------------------------------------------" << endl;
-    // unit_test[167] 戻り値が STOPで設定する。
+    cout << "[172]------------------------------------------" << endl;
+    // unit_test[172] 戻り値が STOPで設定する。
     EVENT_TAG status;
     boost::array<char,MAX_BUFFER_SIZE> sendbuffer;
     size_t datalen;
@@ -3498,9 +3540,9 @@ void handle_realserver_connect_test() {
        int mem_cmp_length;
        int mem_cmp_result;
 
-    cout << "[168]------------------------------------------" << endl;
-    // unit_test[168] current_record_rest_size>data_sizeで、且つdata_size<送信バッファサイズの場合
-    // unit_test[168] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[173]------------------------------------------" << endl;
+    // unit_test[173] current_record_rest_size>data_sizeで、且つdata_size<送信バッファサイズの場合
+    // unit_test[173] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3530,9 +3572,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[169]------------------------------------------" << endl;
-    // unit_test[169] current_record_rest_size>data_sizeで, 且つdata_sizeが送信バッファサイズの場合
-    // unit_test[169] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[174]------------------------------------------" << endl;
+    // unit_test[174] current_record_rest_size>data_sizeで, 且つdata_sizeが送信バッファサイズの場合
+    // unit_test[174] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3562,9 +3604,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[170]------------------------------------------" << endl;
-    // unit_test[170] current_record_rest_sizeがdata_sizeで, 且つdata_size<送信バッファサイズの場合
-    // unit_test[170] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[175]------------------------------------------" << endl;
+    // unit_test[175] current_record_rest_sizeがdata_sizeで, 且つdata_size<送信バッファサイズの場合
+    // unit_test[175] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3594,9 +3636,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[171]------------------------------------------" << endl;
-    // unit_test[171] current_record_rest_sizeがdata_sizeで, 且つdata_sizeが送信バッファサイズの場合
-    // unit_test[171] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[176]------------------------------------------" << endl;
+    // unit_test[176] current_record_rest_sizeがdata_sizeで, 且つdata_sizeが送信バッファサイズの場合
+    // unit_test[176] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3626,9 +3668,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[172]------------------------------------------" << endl;
-    // unit_test[172] current_record_rest_size>data_sizeで,且つdata_size>送信バッファサイズの場合
-    // unit_test[172] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[177]------------------------------------------" << endl;
+    // unit_test[177] current_record_rest_size>data_sizeで,且つdata_size>送信バッファサイズの場合
+    // unit_test[177] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3658,9 +3700,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[173]------------------------------------------" << endl;
-    // unit_test[173] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
-    // unit_test[173] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[178]------------------------------------------" << endl;
+    // unit_test[178] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
+    // unit_test[178] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3690,9 +3732,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[174]------------------------------------------" << endl;
-    // unit_test[174] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_size<送信バッファサイズの場合
-    // unit_test[174] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[179]------------------------------------------" << endl;
+    // unit_test[179] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_size<送信バッファサイズの場合
+    // unit_test[179] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3722,9 +3764,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[175]------------------------------------------" << endl;
-    // unit_test[175] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
-    // unit_test[175] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[180]------------------------------------------" << endl;
+    // unit_test[180] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
+    // unit_test[180] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3754,9 +3796,9 @@ void handle_realserver_connect_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[176]------------------------------------------" << endl;
-    // unit_test[176] current_record_rest_size<data_sizeで,且つcurrent_record_rest_size>送信バッファサイズの場合
-    // unit_test[176] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[181]------------------------------------------" << endl;
+    // unit_test[181] current_record_rest_size<data_sizeで,且つcurrent_record_rest_size>送信バッファサイズの場合
+    // unit_test[181] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3798,9 +3840,9 @@ void handle_realserver_connect_test_thread() {
        int mem_cmp_length;
        int mem_cmp_result;
 
-    cout << "[175]------------------------------------------\n";
-    // unit_test[175] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
-    // unit_test[175] 戻り値がREALSERVER_SENDで設定する。
+    cout << "[182]------------------------------------------\n";
+    // unit_test[182] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
+    // unit_test[182] 戻り値がREALSERVER_SENDで設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -3821,13 +3863,16 @@ void handle_realserver_connect_test_thread() {
         status = this->handle_realserver_connect(boost::this_thread::get_id(),
                 sendbuffer, datalen);
         mem_cmp_result = memcmp(sendbuffer.c_array(), mem_cmp_buffer, mem_cmp_length);
-        BOOST_CHECK_EQUAL(mem_cmp_result, 0);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 5u+static_cast<size_t>(MAX_BUFFER_SIZE));
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 10u);
-        BOOST_CHECK_EQUAL(status, REALSERVER_SEND);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->realserver_connect_failed_count, 0);
-        BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK_EQUAL(mem_cmp_result, 0);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 5u+static_cast<size_t>(MAX_BUFFER_SIZE));
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 10u);
+            BOOST_CHECK_EQUAL(status, REALSERVER_SEND);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->realserver_connect_failed_count, 0);
+            BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
+        }
     }
 }
 
@@ -3847,34 +3892,34 @@ void handle_realserver_connection_fail_test(){
        iter=this->session_thread_data_map.find(boost::this_thread::get_id());
        thread_data_ptr data=iter->second;
 
-    cout << "[177]------------------------------------------" << endl;
-       //unit_test[177] 終了フラグをON,遷移先ステータスを設定する,status = CLIENT_DISCONNECT
-       //unit_test[177] test data:no rescheduleモード、初めて失敗するの場合
+    cout << "[183]------------------------------------------" << endl;
+       //unit_test[183] 終了フラグをON,遷移先ステータスを設定する,status = CLIENT_DISCONNECT
+       //unit_test[183] 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);
 
-    cout << "[178]------------------------------------------" << endl;
-       //unit_test[178] realserver_connect_failed_count で1を加算する,遷移先ステータスを設定する,status = REALSERVER_SELECT
-       //unit_test[178] test data:rescheduleモード、初めて失敗するの場合
+    cout << "[184]------------------------------------------" << endl;
+       //unit_test[184] realserver_connect_failed_count で1を加算する,遷移先ステータスを設定する,status = REALSERVER_SELECT
+       //unit_test[184] 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);
 
-    cout << "[179]------------------------------------------" << endl;
-       //unit_test[179] realserver_connect_failed_count で1を加算する,遷移先ステータスにREALSERVER_SELECTを設定する
-       //unit_test[179] test data:rescheduleモード、3目失敗するの場合
+    cout << "[185]------------------------------------------" << endl;
+       //unit_test[185] realserver_connect_failed_count で1を加算する,遷移先ステータスにREALSERVER_SELECTを設定する
+       //unit_test[185] 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);
 
-    cout << "[180]------------------------------------------" << endl;
-       //unit_test[180] 終了フラグをON,遷移先ステータスにCLIENT_DISCONNECTを設定する
-       //unit_test[180] test data:no rescheduleモード、4目失敗するの場合
+    cout << "[186]------------------------------------------" << endl;
+       //unit_test[186] 終了フラグをON,遷移先ステータスにCLIENT_DISCONNECTを設定する
+       //unit_test[186] 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);
@@ -3903,14 +3948,17 @@ void handle_realserver_connection_fail_test_thread_reschedule(){
                this->reschedule=1;
        }
 
-    cout << "[179]------------------------------------------\n";
-       //unit_test[179] realserver_connect_failed_count で1を加算する,遷移先ステータスにREALSERVER_SELECTを設定する
-       //unit_test[179] test data:rescheduleモード、3目失敗するの場合
+    cout << "[187]------------------------------------------\n";
+       //unit_test[187] realserver_connect_failed_count で1を加算する,遷移先ステータスにREALSERVER_SELECTを設定する
+       //unit_test[187] test data:rescheduleモード、3目失敗するの場合
        EVENT_TAG schedule=this->handle_realserver_connection_fail(boost::this_thread::get_id(), ep);
        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);
+       {
+           boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(data->realserver_connect_failed_count,3);
+        BOOST_CHECK_EQUAL(schedule, protocol_module_base::REALSERVER_SELECT);
+       }
 }
 
 void handle_realserver_connection_fail_test_thread_noreschedule(){
@@ -3933,12 +3981,15 @@ void handle_realserver_connection_fail_test_thread_noreschedule(){
                this->reschedule=0;
        }
 
-    cout << "[177]------------------------------------------\n";
-       //unit_test[177] 終了フラグをON,遷移先ステータスを設定する,status = CLIENT_DISCONNECT
-       //unit_test[177] test data:no rescheduleモード、初めて失敗するの場合
+    cout << "[188]------------------------------------------\n";
+       //unit_test[188] 終了フラグをON,遷移先ステータスを設定する,status = CLIENT_DISCONNECT
+       //unit_test[188] test data:no rescheduleモード、初めて失敗するの場合
        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);
+       {
+           boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(data->end_flag,END_FLAG_ON);
+        BOOST_CHECK_EQUAL(schedule, protocol_module_base::CLIENT_DISCONNECT);
+       }
 }
 
 //handle_realserver_send
@@ -3946,9 +3997,9 @@ void handle_realserver_send_test() {
 
     EVENT_TAG status;
 
-    cout << "[181]------------------------------------------" << endl;
-    // unit_test[181] データサイズが0で、且つdata_begain_offsetが0の場合
-    // unit_test[181] 戻り値がCLIENT_RECVで設定する。
+    cout << "[189]------------------------------------------" << endl;
+    // unit_test[189] データサイズが0で、且つdata_begain_offsetが0の場合
+    // unit_test[189] 戻り値がCLIENT_RECVで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 0u;
@@ -3960,9 +4011,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[182]------------------------------------------" << endl;
-    // unit_test[182] データサイズが0で,且つdata_begain_offset >0の場合
-    // unit_test[182] 戻り値がCLIENT_RECVで設定する。
+    cout << "[190]------------------------------------------" << endl;
+    // unit_test[190] データサイズが0で,且つdata_begain_offset >0の場合
+    // unit_test[190] 戻り値がCLIENT_RECVで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 0u;
@@ -3974,9 +4025,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[183]------------------------------------------" << endl;
-    // unit_test[183] データサイズ > 0で, 且つcurrent_record_rest_size > 0で,且つdata_begain_offset=0の場合
-    // unit_test[183] 戻り値がREALSERVER_CONNECTで設定する。
+    cout << "[191]------------------------------------------" << endl;
+    // unit_test[191] データサイズ > 0で, 且つcurrent_record_rest_size > 0で,且つdata_begain_offset=0の場合
+    // unit_test[191] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 10u;
@@ -3989,9 +4040,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[184]------------------------------------------" << endl;
-    // unit_test[184] データサイズ > 0で, 且つcurrent_record_rest_size > 0で,且つdata_begain_offset>0の場合
-    // unit_test[184] 戻り値がREALSERVER_CONNECTで設定する。
+    cout << "[192]------------------------------------------" << endl;
+    // unit_test[192] データサイズ > 0で, 且つcurrent_record_rest_size > 0で,且つdata_begain_offset>0の場合
+    // unit_test[192] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 10u;
@@ -4004,9 +4055,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[193]------------------------------------------" << endl;
+    // unit_test[193] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offsetが0の場合
+    // unit_test[193] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 10u;
@@ -4022,9 +4073,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[194]------------------------------------------" << endl;
+    // unit_test[194] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offset>0の場合
+    // unit_test[194] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 10u;
@@ -4040,9 +4091,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[195]------------------------------------------" << endl;
+    // unit_test[195] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offsetが0の場合
+    // unit_test[195] 戻り値がCLIENT_RECVで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 1u;
@@ -4055,9 +4106,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[196]------------------------------------------" << endl;
+    // unit_test[196] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offset>0の場合
+    // unit_test[196] 戻り値がCLIENT_RECVで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 1u;
@@ -4070,9 +4121,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[197]------------------------------------------" << endl;
+    // unit_test[197] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset が0の場合
+    // unit_test[197] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 76u;
@@ -4096,9 +4147,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[198]------------------------------------------" << endl;
+    // unit_test[198] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset > 0の場合
+    // unit_test[198] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 76u;
@@ -4122,9 +4173,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[199]------------------------------------------" << endl;
+    // unit_test[199] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset が0の場合
+    // unit_test[199] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 10u;
@@ -4145,9 +4196,9 @@ void handle_realserver_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[200]------------------------------------------" << endl;
+    // unit_test[200] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset > 0の場合
+    // unit_test[200] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 10u;
@@ -4175,9 +4226,9 @@ void handle_realserver_send_test_thread() {
 
     EVENT_TAG status;
 
-    cout << "[190]------------------------------------------\n";
-    // unit_test[190] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset > 0の場合
-    // unit_test[190] 戻り値がREALSERVER_CONNECTで設定する。
+    cout << "[201]------------------------------------------\n";
+    // unit_test[201] データサイズ > 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_send()の戻り値が0(送信可能)で,且つdata_begain_offset > 0の場合
+    // unit_test[201] 戻り値がREALSERVER_CONNECTで設定する。
     {
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
         up_thread_data->data_size = 76u;
@@ -4197,9 +4248,12 @@ void handle_realserver_send_test_thread() {
             this->session_thread_data_map[boost::this_thread::get_id()] = up_thread_data;
         }
         status = this->handle_realserver_send(boost::this_thread::get_id());
-        BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
-        BOOST_CHECK_EQUAL(status, REALSERVER_CONNECT);
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+            BOOST_CHECK_EQUAL(status, REALSERVER_CONNECT);
+        }
     }
 }
 
@@ -4214,9 +4268,9 @@ void handle_realserver_recv_tcp_test() {
        int mem_cmp_length;
        char* mem_cmp_buffer;
 
-    cout << "[193]------------------------------------------" << endl;
-    // unit_test[193] データサイズ が 0で, 且つcurrent_record_rest_size > 0の場合
-    // unit_test[193] 戻り値がCLIENT_CONNECTION_CHECK設定する。
+    cout << "[202]------------------------------------------" << endl;
+    // unit_test[202] データサイズ が 0で, 且つcurrent_record_rest_size > 0の場合
+    // unit_test[202] 戻り値がCLIENT_CONNECTION_CHECK設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4229,9 +4283,9 @@ void handle_realserver_recv_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[194]------------------------------------------" << endl;
-    // unit_test[194] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が-1(異常)の場合
-    // unit_test[194] 戻り値がFINALIZEで設定する。
+    cout << "[203]------------------------------------------" << endl;
+    // unit_test[203] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が-1(異常)の場合
+    // unit_test[203] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4258,9 +4312,9 @@ void handle_realserver_recv_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[195]------------------------------------------" << endl;
-    // unit_test[195] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合
-    // unit_test[195] 戻り値がREALSERVER_RECVで設定する。
+    cout << "[204]------------------------------------------" << endl;
+    // unit_test[204] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が1(送信不可)の場合
+    // unit_test[204] 戻り値がREALSERVER_RECVで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4285,9 +4339,9 @@ void handle_realserver_recv_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[196]------------------------------------------" << endl;
-    // unit_test[196] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
-    // unit_test[196] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
+    cout << "[205]------------------------------------------" << endl;
+    // unit_test[205] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+    // unit_test[205] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4325,9 +4379,9 @@ void handle_realserver_recv_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[197]------------------------------------------" << endl;
-    // unit_test[197] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値0(送信可能)の場合
-    // unit_test[197] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
+    cout << "[206]------------------------------------------" << endl;
+    // unit_test[206] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値0(送信可能)の場合
+    // unit_test[206] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4359,9 +4413,9 @@ void handle_realserver_recv_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[198]------------------------------------------" << endl;
-    // unit_test[198] データサイズ > 0で, 且つcurrent_record_rest_size > 0で, 且つdata_begain_offset>0の場合
-    // unit_test[198] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
+    cout << "[207]------------------------------------------" << endl;
+    // unit_test[207] データサイズ > 0で, 且つcurrent_record_rest_size > 0で, 且つdata_begain_offset>0の場合
+    // unit_test[207] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 10u;
@@ -4388,9 +4442,9 @@ void handle_realserver_recv_tcp_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[199]------------------------------------------" << endl;
-    // unit_test[199] データサイズ + 受信データサイズ > MAX_SSLID_BUFFER_SIZEの場合
-    // unit_test[199] 戻り値がFINALIZEで設定する。
+    cout << "[208]------------------------------------------" << endl;
+    // unit_test[208] データサイズ + 受信データサイズ > MAX_SSLID_BUFFER_SIZEの場合
+    // unit_test[208] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 76u + 1u;
@@ -4415,9 +4469,9 @@ void handle_realserver_recv_tcp_test_thread() {
        int mem_cmp_length;
        char* mem_cmp_buffer;
 
-    cout << "[196]------------------------------------------\n";
-    // unit_test[196] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
-    // unit_test[196] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
+    cout << "[209]------------------------------------------\n";
+    // unit_test[209] データサイズ が 0で, 且つcurrent_record_rest_size が 0で, 且つcheck_ssl_record_sendable()の戻り値が0(送信可能)の場合
+    // unit_test[209] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4450,17 +4504,20 @@ void handle_realserver_recv_tcp_test_thread() {
         status = this->handle_realserver_recv(boost::this_thread::get_id(),
                 rs_endpoint, recvbuffer, recvlen);
         mem_cmp_result = memcmp(mem_cmp_buffer, this->session_thread_data_map[boost::this_thread::get_id()]->data_buffer.c_array(), mem_cmp_length);
-        BOOST_CHECK_EQUAL(mem_cmp_result, 0);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
-        BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
-        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK_EQUAL(mem_cmp_result, 0);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+            BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+            BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
+        }
     }
 }
 
 //handle_realserver_recv(udp)
 void handle_realserver_recv_udp_test(){
-    cout << "[200]------------------------------------------" << endl;
-    // unit_test[200] 戻り値が STOPで設定する。
+    cout << "[210]------------------------------------------" << endl;
+    // unit_test[210] 戻り値が STOPで設定する。
     boost::array<char, MAX_BUFFER_SIZE> recvbuffer;
     size_t recvlen;
     boost::asio::ip::udp::endpoint rs_endpoint_udp;
@@ -4490,16 +4547,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);
 
-    cout << "[201]------------------------------------------" << endl;
-    // unit_test[201] mapに下りスレッドIDが存在しない場合
-    // unit_test[201] 戻り値がFINALIZEで設定する。
+    cout << "[211]------------------------------------------" << endl;
+    // unit_test[211] mapに下りスレッドIDが存在しない場合
+    // unit_test[211] 戻り値がFINALIZEで設定する。
     status = this->handle_client_connection_check(boost::this_thread::get_id(),
             sendbuffer, datalen);
     BOOST_CHECK_EQUAL(status, FINALIZE);
 
-    cout << "[202]------------------------------------------" << endl;
-    // unit_test[202] current_record_rest_size>0で,且つdata_begain_offset が 0の場合
-    // unit_test[202] 戻り値がCLIENT_SENDで設定する。
+    cout << "[212]------------------------------------------" << endl;
+    // unit_test[212] current_record_rest_size>0で,且つdata_begain_offset が 0の場合
+    // unit_test[212] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 10u;
@@ -4515,9 +4572,9 @@ void handle_client_connection_check_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[203]------------------------------------------" << endl;
-    // unit_test[203] current_record_rest_size>0で,且つdata_begain_offset >0の場合
-    // unit_test[203] 戻り値がCLIENT_SENDで設定する。
+    cout << "[213]------------------------------------------" << endl;
+    // unit_test[213] current_record_rest_size>0で,且つdata_begain_offset >0の場合
+    // unit_test[213] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 10u;
@@ -4534,10 +4591,10 @@ void handle_client_connection_check_test() {
     }
 
 
-    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で設定する。
+    cout << "[214]------------------------------------------" << endl;
+    // unit_test[214] current_record_rest_sizeが0で、且つhello_message_flagがtrueで、且つdata_size ≧ 76で、且つdata_begain_offsetが0で
+    // unit_test[214] 且つget_ssl_session_id() の戻り値が 0 の場合
+    // unit_test[214] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 0u;
@@ -4571,10 +4628,10 @@ void handle_client_connection_check_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[215]------------------------------------------" << endl;
+    // unit_test[215] current_record_rest_sizeが0で,且つhello_message_flagがtrueで,且つdata_size ≧ 76で,且つdata_begain_offset>0で
+    // unit_test[215] 且つget_ssl_session_id()の戻り値が0の場合
+    // unit_test[215] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 0u;
@@ -4609,10 +4666,10 @@ void handle_client_connection_check_test() {
     }
 
 
-    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で設定する。
+    cout << "[216]------------------------------------------" << endl;
+    // unit_test[216] current_record_rest_sizeが0で,且つhello_message_flagがtrueで,且つdata_begain_offsetが0で
+    // unit_test[216] 且つget_ssl_session_id()の戻り値が1の場合
+    // unit_test[216] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 0u;
@@ -4630,10 +4687,10 @@ void handle_client_connection_check_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[217]------------------------------------------" << endl;
+    // unit_test[217] current_record_rest_sizeが0で,且つhello_message_flagがtrueで,且つdata_begain_offset>0で
+    // unit_test[217] 且つget_ssl_session_id()の戻り値が1の場合
+    // unit_test[217] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 0u;
@@ -4651,9 +4708,9 @@ void handle_client_connection_check_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[208]------------------------------------------" << endl;
-    // unit_test[208] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offsetが0の場合
-    // unit_test[208] 戻り値がCLIENT_SENDで設定する。
+    cout << "[218]------------------------------------------" << endl;
+    // unit_test[218] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offsetが0の場合
+    // unit_test[218] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 0u;
@@ -4670,9 +4727,9 @@ void handle_client_connection_check_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[209]------------------------------------------" << endl;
-    // unit_test[209] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offset>0の場合
-    // unit_test[209] 戻り値がCLIENT_SENDで設定する。
+    cout << "[219]------------------------------------------" << endl;
+    // unit_test[219] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offset>0の場合
+    // unit_test[219] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 0u;
@@ -4707,9 +4764,9 @@ void handle_client_connection_check_test_thread() {
     logger_func_type inputLogDebug = stb_putLogDebug;
        boost::asio::ip::tcp::endpoint rs_endpoint(boost::asio::ip::address::from_string("192.168.120.249"), 12345);
 
-    cout << "[208]------------------------------------------\n";
-    // unit_test[208] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offsetが0の場合
-    // unit_test[208] 戻り値がCLIENT_SENDで設定する。
+    cout << "[220]------------------------------------------\n";
+    // unit_test[220] current_record_rest_sizeが0で,且つhello_message_flagがfalseで,且つdata_begain_offsetが0の場合
+    // unit_test[220] 戻り値がCLIENT_SENDで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->current_record_rest_size = 0u;
@@ -4722,17 +4779,20 @@ void handle_client_connection_check_test_thread() {
         }
         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, 76u);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 0u);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK_EQUAL(status, CLIENT_SEND);
+            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, 0u);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
+        }
     }
 }
 
 //handle_client_select
 void handle_client_select_test(){
-    cout << "[210]------------------------------------------" << endl;
-       // unit_test[210] 戻り値がSTOPで設定する。
+    cout << "[221]------------------------------------------" << endl;
+       // unit_test[221] 戻り値がSTOPで設定する。
        boost::asio::ip::udp::endpoint cl_endpoint;
        boost::array<char,MAX_BUFFER_SIZE> sendbuffer;
        size_t datalen;
@@ -4746,16 +4806,16 @@ void handle_client_send_test() {
 
     EVENT_TAG status;
 
-    cout << "[211]------------------------------------------" << endl;
-    // unit_test[211] 下りスレッドIDがmapに存在しない場合
-    // unit_test[211] 戻り値がFINALIZEで設定する。
+    cout << "[222]------------------------------------------" << endl;
+    // unit_test[222] 下りスレッドIDがmapに存在しない場合
+    // unit_test[222] 戻り値がFINALIZEで設定する。
     this->session_thread_data_map.clear();
     status = this->handle_client_send(boost::this_thread::get_id());
     BOOST_CHECK_EQUAL(status, FINALIZE);
 
-    cout << "[212]------------------------------------------" << endl;
-    // unit_test[212] データサイズが0で,且つ終了フラグがONで,且つdata_begain_offsetが0の場合
-    // unit_test[212] 戻り値がCLIENT_DISCONNECTで設定する。
+    cout << "[223]------------------------------------------" << endl;
+    // unit_test[223] データサイズが0で,且つ終了フラグがONで,且つdata_begain_offsetが0の場合
+    // unit_test[223] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4767,9 +4827,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[213]------------------------------------------" << endl;
-    // unit_test[213] データサイズが0で,且つ終了フラグがONで,且つdata_begain_offset>0の場合
-    // unit_test[213] 戻り値がCLIENT_DISCONNECTで設定する。
+    cout << "[224]------------------------------------------" << endl;
+    // unit_test[224] データサイズが0で,且つ終了フラグがONで,且つdata_begain_offset>0の場合
+    // unit_test[224] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4781,9 +4841,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[214]------------------------------------------" << endl;
-    // unit_test[214] データサイズが0で,且つ終了フラグがOFFで,且つdata_begain_offset が 0の場合
-    // unit_test[214] 戻り値がREALSERVER_RECVで設定する。
+    cout << "[225]------------------------------------------" << endl;
+    // unit_test[225] データサイズが0で,且つ終了フラグがOFFで,且つdata_begain_offset が 0の場合
+    // unit_test[225] 戻り値がREALSERVER_RECVで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4795,9 +4855,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[215]------------------------------------------" << endl;
-    // unit_test[215] データサイズが0で,且つ終了フラグがOFFで,且つdata_begain_offset > 0の場合
-    // unit_test[215] 戻り値がREALSERVER_RECVで設定する。
+    cout << "[226]------------------------------------------" << endl;
+    // unit_test[226] データサイズが0で,且つ終了フラグがOFFで,且つdata_begain_offset > 0の場合
+    // unit_test[226] 戻り値がREALSERVER_RECVで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 0u;
@@ -4809,9 +4869,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    cout << "[216]------------------------------------------" << endl;
-    // unit_test[216] データサイズ>0で,且つcurrent_record_rest_size>0で,且つdata_begain_offsetが0の場合
-    // unit_test[216] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
+    cout << "[227]------------------------------------------" << endl;
+    // unit_test[227] データサイズ>0で,且つcurrent_record_rest_size>0で,且つdata_begain_offsetが0の場合
+    // unit_test[227] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 10u;
@@ -4823,9 +4883,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[228]------------------------------------------" << endl;
+    // unit_test[228] データサイズ>0で,且つcurrent_record_rest_size>0で,且つdata_begain_offsetが0で,且つdata_begain_offset>0の場合
+    // unit_test[228] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 10u;
@@ -4837,9 +4897,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[229]------------------------------------------" << endl;
+    // unit_test[229] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offsetが0の場合
+    // unit_test[229] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 10u;
@@ -4853,9 +4913,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[230]------------------------------------------" << endl;
+    // unit_test[230] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が-1(異常)で,且つdata_begain_offset>0の場合
+    // unit_test[230] 戻り値がFINALIZEで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 10u;
@@ -4869,10 +4929,10 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[231]------------------------------------------" << endl;
+    // unit_test[231] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offsetが0で
+    // unit_test[231] 且つ終了フラグがONの場合
+    // unit_test[231] 戻る値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 3u;
@@ -4885,10 +4945,10 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[232]------------------------------------------" << endl;
+    // unit_test[232] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offset>0で
+    // unit_test[232] 且つ終了フラグがONの場合
+    // unit_test[232] 戻り値がCLIENT_DISCONNECTで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 3u;
@@ -4901,10 +4961,10 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[233]------------------------------------------" << endl;
+    // unit_test[233] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offsetが0で
+    // unit_test[233] 且つ終了フラグがOFFの場合
+    // unit_test[233] 戻り値がREALSERVER_RECVで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 3u;
@@ -4917,10 +4977,10 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[234]------------------------------------------" << endl;
+    // unit_test[234] データサイズ>0で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が1(送信不可)で,且つdata_begain_offset>0で
+    // unit_test[234] 且つ終了フラグがOFFの場合
+    // unit_test[234] 戻り値がREALSERVER_RECVで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 3u;
@@ -4933,9 +4993,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[235]------------------------------------------" << endl;
+    // unit_test[235] データサイズ>=76で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offsetが0の場合
+    // unit_test[235] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 76;
@@ -4957,9 +5017,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[236]------------------------------------------" << endl;
+    // unit_test[236] データサイズ>=76で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offset>0が0の場合
+    // unit_test[236] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 86;
@@ -4981,9 +5041,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[237]------------------------------------------" << endl;
+    // unit_test[237] データサイズ>=6で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offsetが0の場合
+    // unit_test[237] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 10;
@@ -5002,9 +5062,9 @@ void handle_client_send_test() {
         this->session_thread_data_map.clear();
     }
 
-    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で設定する。
+    cout << "[238]------------------------------------------" << endl;
+    // unit_test[238] データサイズ>=6で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offset>0の場合
+    // unit_test[238] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 10;
@@ -5029,9 +5089,9 @@ void handle_client_send_test_thread() {
 
     EVENT_TAG status;
 
-    cout << "[225]------------------------------------------\n";
-    // 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で設定する。
+    cout << "[239]------------------------------------------\n";
+    // unit_test[239] データサイズ>=76で,且つcurrent_record_rest_sizeが0で,且つcheck_ssl_record_sendable()の戻り値が0(送信可能)で,且つdata_begain_offset>0が0の場合
+    // unit_test[239] 戻り値がCLIENT_CONNECTION_CHECKで設定する。
     {
         thread_data_ptr down_thread_data(new session_thread_data_sslid);
         down_thread_data->data_size = 86;
@@ -5050,16 +5110,19 @@ void handle_client_send_test_thread() {
             this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
         }
         status = this->handle_client_send(boost::this_thread::get_id());
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
-        BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
-        BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+            BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+            BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
+        }
     }
 }
 
 //handle_client_disconnect
 void handle_client_disconnect_test(){
-    cout << "[228]------------------------------------------" << endl;
-       //unit_test[228] handle_client_disconnect()メソッドのテスト,up and down threads,正常系で必ずFINALIZEを返す
+    cout << "[240]------------------------------------------" << endl;
+       //unit_test[240] 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,
@@ -5070,35 +5133,38 @@ void handle_client_disconnect_test(){
                                    tdown_for_get_id.get_id()));
        threads.join_all();
 
-    cout << "[229]------------------------------------------" << endl;
-       //unit_test[229] one thread,return FINALIZE
+    cout << "[241]------------------------------------------" << endl;
+       //unit_test[241] 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){
     EVENT_TAG ret = this->handle_client_disconnect(thread_id);
-    BOOST_CHECK_EQUAL(ret, FINALIZE);
+    {
+        boost::mutex::scoped_lock sclock(check_mutex);
+        BOOST_CHECK_EQUAL(ret, FINALIZE);
+    }
 }
 
 //handle_realserver_disconnect
 void handle_realserver_disconnect_test(){
-    cout << "[230]------------------------------------------" << endl;
-       //unit_test[230] 正常系で必ずSTOPを返す
+    cout << "[242]------------------------------------------" << endl;
+       //unit_test[242] 正常系で必ず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(){
-    cout << "[231]------------------------------------------" << endl;
-       //unit_test[231] 正常系で必ずSTOPを返す
+    cout << "[243]------------------------------------------" << endl;
+       //unit_test[243] 正常系で必ず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(){
-    cout << "[232]------------------------------------------" << endl;
-       //unit_test[232] 正常系で必ずSTOPを返す
+    cout << "[244]------------------------------------------" << endl;
+       //unit_test[244] 正常系で必ずSTOPを返す
        boost::asio::ip::tcp::endpoint ep;
        boost::array<char,MAX_BUFFER_SIZE> buffer;
        size_t datalen;
@@ -5107,23 +5173,23 @@ void handle_sorryserver_connect_test(){
 
 //handle_sorryserver_connection_fail
 void handle_sorryserver_connection_fail_test(){
-    cout << "[233]------------------------------------------" << endl;
-       //unit_test[233] 正常系で必ずSTOPを返す
+    cout << "[245]------------------------------------------" << endl;
+       //unit_test[245] 正常系で必ず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(){
-    cout << "[234]------------------------------------------" << endl;
-       //unit_test[234] 正常系で必ずSTOPを返す
+    cout << "[246]------------------------------------------" << endl;
+       //unit_test[246] 正常系で必ずSTOPを返す
        BOOST_CHECK_EQUAL(this->handle_sorryserver_send(boost::this_thread::get_id()), STOP);
 }
 
 //handle_sorryserver_recv
 void handle_sorryserver_recv_test(){
-    cout << "[235]------------------------------------------" << endl;
-       //unit_test[235] 正常系で必ずSTOPを返す
+    cout << "[247]------------------------------------------" << endl;
+       //unit_test[247] 正常系で必ずSTOPを返す
        boost::asio::ip::tcp::endpoint ep;
        boost::array<char,MAX_BUFFER_SIZE> buffer;
        size_t datalen;
@@ -5132,33 +5198,33 @@ void handle_sorryserver_recv_test(){
 
 //handle_response_send_inform
 void handle_response_send_inform_test(){
-    cout << "[236]------------------------------------------" << endl;
-       //unit_test[236] 正常系で必ずSTOPを返す
+    cout << "[248]------------------------------------------" << endl;
+       //unit_test[248] 正常系で必ず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(){
-    cout << "[237]------------------------------------------" << endl;
-       //unit_test[237] 全部の場合,遷移先ステータスを設定する,status = STOP
-       //unit_test[237] test data:NULL
+    cout << "[249]------------------------------------------" << endl;
+       //unit_test[249] 全部の場合,遷移先ステータスを設定する,status = STOP
+       //unit_test[249] 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(){
-    cout << "[238]------------------------------------------" << endl;
-       //unit_test[238] 正常系で必ずSTOPを返す
+    cout << "[250]------------------------------------------" << endl;
+       //unit_test[250] 正常系で必ず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(){
-    cout << "[239]------------------------------------------" << endl;
-       //unit_test[239] 正常系で必ずSTOPを返す
+    cout << "[251]------------------------------------------" << endl;
+       //unit_test[251] 正常系で必ずSTOPを返す
        boost::asio::ip::tcp::endpoint ep;
        BOOST_CHECK_EQUAL(this->handle_sorryserver_disconnect(boost::this_thread::get_id(),ep), STOP);
 }
@@ -5175,8 +5241,8 @@ void replication_interrupt_test(){
                                        stb_putLogFatal, stb_putLogError, stb_putLogWarn, stb_putLogInfo,
                                        stb_putLogDebug);
 
-    cout << "[240]------------------------------------------" << endl;
-       //unit_test[240] op_codeが「A」の場合、replication_dataをreplication_areaに追加する。
+    cout << "[252]------------------------------------------" << endl;
+       //unit_test[252] 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;
@@ -5208,8 +5274,8 @@ void replication_interrupt_test(){
        BOOST_CHECK_EQUAL(pstub->get_replication_area()->realserver_port,real_ep_A.port());
        test_thread1.interrupt();
 
-    cout << "[241]------------------------------------------" << endl;
-       //unit_test[241] op_codeが「U」、validが1且つセッションIDが一致の場合、replication_area中の該当データを更新する。
+    cout << "[253]------------------------------------------" << endl;
+       //unit_test[253] 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;
@@ -5228,8 +5294,8 @@ void replication_interrupt_test(){
        BOOST_CHECK_EQUAL(pstub->get_replication_area()->realserver_port,real_ep_U.port());
        test_thread2.interrupt();
 
-    cout << "[242]------------------------------------------" << endl;
-       //unit_test[242] op_codeが「D」、validが1且つセッションIDが存在する場合、replication_areaから該当データを削除する。
+    cout << "[254]------------------------------------------" << endl;
+       //unit_test[254] 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;
@@ -5257,15 +5323,15 @@ void put_data_to_sendbuffer_test(){
     int mem_cmp_length;
     char* mem_cmp_buffer;
 
-    cout << "[243]------------------------------------------" << endl;
-    // unit_test[243] スレッドIDがmapに存在していない場合
-    // unit_test[243] 戻り値が -1で設定する。
+    cout << "[255]------------------------------------------" << endl;
+    // unit_test[255] スレッドIDがmapに存在していない場合
+    // unit_test[255] 戻り値が -1で設定する。
     ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(), sendbuffer, datalen);
     BOOST_CHECK_EQUAL(ret, -1);
 
-    cout << "[244]------------------------------------------" << endl;
-    // unit_test[244] current_record_rest_size>data_sizeで, 且つdata_size<送信バッファサイズの場合
-    // unit_test[244] 戻り値が0で設定する。
+    cout << "[256]------------------------------------------" << endl;
+    // unit_test[256] current_record_rest_size>data_sizeで, 且つdata_size<送信バッファサイズの場合
+    // unit_test[256] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5294,9 +5360,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[245]------------------------------------------" << endl;
-    // unit_test[245] current_record_rest_size>data_sizeで, 且つdata_size=送信バッファサイズの場合
-    // unit_test[245] 戻り値が0で設定する。
+    cout << "[257]------------------------------------------" << endl;
+    // unit_test[257] current_record_rest_size>data_sizeで, 且つdata_size=送信バッファサイズの場合
+    // unit_test[257] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5325,9 +5391,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[246]------------------------------------------" << endl;
-    // unit_test[246] current_record_rest_sizeがdata_sizeで, 且つdata_size<送信バッファサイズの場合
-    // unit_test[246] 戻り値が0設定する。
+    cout << "[258]------------------------------------------" << endl;
+    // unit_test[258] current_record_rest_sizeがdata_sizeで, 且つdata_size<送信バッファサイズの場合
+    // unit_test[258] 戻り値が0設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5356,9 +5422,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[247]------------------------------------------" << endl;
-    // unit_test[247] current_record_rest_sizeがdata_sizeで, 且つdata_sizeが送信バッファサイズの場合
-    // unit_test[247] 戻り値が0で設定する
+    cout << "[259]------------------------------------------" << endl;
+    // unit_test[259] current_record_rest_sizeがdata_sizeで, 且つdata_sizeが送信バッファサイズの場合
+    // unit_test[259] 戻り値が0で設定する
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5387,9 +5453,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[248]------------------------------------------" << endl;
-    // unit_test[248] current_record_rest_size>data_sizeで,且つdata_size>送信バッファサイズの場合
-    // unit_test[248] 戻り値が0で設定する。
+    cout << "[260]------------------------------------------" << endl;
+    // unit_test[260] current_record_rest_size>data_sizeで,且つdata_size>送信バッファサイズの場合
+    // unit_test[260] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5418,9 +5484,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[249]------------------------------------------" << endl;
-    // unit_test[249] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
-    // unit_test[249] 戻り値が0で設定する。
+    cout << "[261]------------------------------------------" << endl;
+    // unit_test[261] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
+    // unit_test[261] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5449,9 +5515,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[250]------------------------------------------" << endl;
-    // unit_test[250] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_size<送信バッファサイズの場合
-    // unit_test[250] 戻り値が0で設定する。
+    cout << "[262]------------------------------------------" << endl;
+    // unit_test[262] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_size<送信バッファサイズの場合
+    // unit_test[262] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5480,9 +5546,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[251]------------------------------------------" << endl;
-    // unit_test[251] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
-    // unit_test[251] 戻り値が0で設定する。
+    cout << "[263]------------------------------------------" << endl;
+    // unit_test[263] current_record_rest_size<data_sizeで, 且つcurrent_record_rest_sizeが送信バッファサイズの場合
+    // unit_test[263] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5511,9 +5577,9 @@ void put_data_to_sendbuffer_test(){
         this->session_thread_data_map.clear();
     }
 
-    cout << "[252]------------------------------------------" << endl;
-    // unit_test[252] current_record_rest_size<data_sizeで,且つcurrent_record_rest_size>送信バッファサイズの場合
-    // unit_test[252] 戻り値が0で設定する。
+    cout << "[264]------------------------------------------" << endl;
+    // unit_test[264] current_record_rest_size<data_sizeで,且つcurrent_record_rest_size>送信バッファサイズの場合
+    // unit_test[264] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5553,9 +5619,9 @@ void put_data_to_sendbuffer_test_thread(){
     int mem_cmp_length;
     char* mem_cmp_buffer;
 
-    cout << "[249]------------------------------------------\n";
-    // unit_test[249] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
-    // unit_test[249] 戻り値が0で設定する。
+    cout << "[265]------------------------------------------\n";
+    // unit_test[265] current_record_rest_sizeがdata_sizeで,且つdata_size>送信バッファサイズの場合
+    // unit_test[265] 戻り値が0で設定する。
     {
         datalen = 0;
         thread_data_ptr up_thread_data(new session_thread_data_sslid);
@@ -5576,19 +5642,22 @@ void put_data_to_sendbuffer_test_thread(){
         ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
                 sendbuffer, datalen);
         mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
-        BOOST_CHECK_EQUAL(mem_cmp_result, 0);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u+static_cast<size_t>(MAX_BUFFER_SIZE));
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 10u);
-        BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 10u);
-        BOOST_CHECK_EQUAL(ret, 0);
-        BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
+        {
+            boost::mutex::scoped_lock sclock(check_mutex);
+            BOOST_CHECK_EQUAL(mem_cmp_result, 0);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u+static_cast<size_t>(MAX_BUFFER_SIZE));
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 10u);
+            BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 10u);
+            BOOST_CHECK_EQUAL(ret, 0);
+            BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
+        }
     }
 }
 
 //realserver_selected
 void realserver_selected_test(){
-    cout << "[253]------------------------------------------" << endl;
-       //unit_test[253] 正常系で必ずFALSEを返す
+    cout << "[266]------------------------------------------" << endl;
+       //unit_test[266] 正常系で必ずFALSEを返す
        boost::asio::ip::tcp::endpoint ep;
        BOOST_CHECK_EQUAL(this->realserver_selected(ep), false);
 }
@@ -5702,6 +5771,37 @@ void handle_realserver_select_tcp_test(){
 }
 void handle_realserver_select_tcp_test_thread(){
     protocol_module_sslid_test_class obj;
+    int maxlist = 1;
+    char* sslid_replication_area_begain = new char[10];
+    int sslid_replication_area_size = 0;
+    boost::asio::ip::tcp::endpoint ep2;
+    boost::asio::ip::tcp::endpoint virtual_service_endpoint;
+    std::string session_id;
+    boost::function<LOG_LEVEL_TAG(void)> ingetloglevel = stb_getloglevel;
+    boost::function<void(const unsigned int, const std::string&,
+            const char*, int)> inputLogFatal = stb_putLogFatal;
+    boost::function<void(const unsigned int, const std::string&,
+            const char*, int)> inputLogError = stb_putLogError;
+    boost::function<void(const unsigned int, const std::string&,
+            const char*, int)> inputLogWarn = stb_putLogWarn;
+    boost::function<void(const unsigned int, const std::string&,
+            const char*, int)> inputLogInfo = stb_putLogInfo;
+    boost::function<void(const unsigned int, const std::string&,
+            const char*, int)> inputLogDebug = stb_putLogDebug;
+    obj.set_reschedule(1);
+    obj.set_schedule_tcp(schedule_tcp_func1);
+    obj.init_logger_functions(ingetloglevel, inputLogFatal, inputLogError,
+            inputLogWarn, inputLogInfo, inputLogDebug);
+    std::vector<std::string> args;
+    obj.install_stb_replication_func();
+    //obj.set_parameter(args);
+    obj.set_replication_data_processor(new sslid_replication_data_processor(maxlist, sslid_replication_area_begain,
+            sslid_replication_area_size, virtual_service_endpoint, ingetloglevel, inputLogFatal, inputLogError,
+            inputLogWarn, inputLogInfo, inputLogDebug));
+    obj.set_session_data_processor(new sslid_session_data_processor(
+            1024, 3600, obj.get_replication_data_processor(), ingetloglevel,
+            inputLogFatal, inputLogError, inputLogWarn, inputLogInfo,
+            inputLogDebug));
     boost::thread_group threads;
     for (int i=0; i<THREAD_COUNT; i++) {
        threads.create_thread(bind(&protocol_module_sslid_test_class::handle_realserver_select_tcp_test_thread,&obj));
@@ -5728,8 +5828,7 @@ void handle_realserver_connection_fail_test(){
     protocol_module_sslid_test_class obj;
     obj.handle_realserver_connection_fail_test();
 }
-void handle_realserver_connection_fail_test_thread_reschedule()
-{
+void handle_realserver_connection_fail_test_thread_reschedule(){
     protocol_module_sslid_test_class obj;
     boost::thread_group threads;
     for(int i=0; i<THREAD_COUNT; i++)
@@ -5738,8 +5837,7 @@ void handle_realserver_connection_fail_test_thread_reschedule()
     }
     threads.join_all();
 }
-void handle_realserver_connection_fail_test_thread_noreschedule()
-{
+void handle_realserver_connection_fail_test_thread_noreschedule(){
     protocol_module_sslid_test_class obj;
     boost::thread_group threads;
     for(int i=0; i<THREAD_COUNT; i++)
@@ -5800,7 +5898,7 @@ void handle_client_send_test_thread(){
     protocol_module_sslid_test_class obj;
     boost::thread_group threads;
     for (int i=0; i<THREAD_COUNT; i++) {
-       threads.create_thread(bind(&protocol_module_sslid_test_class::handle_realserver_select_tcp_test_thread,&obj));
+       threads.create_thread(bind(&protocol_module_sslid_test_class::handle_client_send_test_thread,&obj));
     }
     threads.join_all();
 }
index 23e98ea..0dd3c05 100644 (file)
@@ -7,10 +7,13 @@ using namespace l7vs;
 #define STRUCT_NUMBER  256
 
 bool is_lock_function_called = false;
-bool is_unlock_function_called = true;
+bool is_unlock_function_called = false;
+bool is_put_into_temp_list_test_thread4_waiting = false;
+bool is_put_into_temp_list_test_thread6_waiting = false;
 bool is_put_into_temp_list_test_thread8_waiting = false;
 bool is_put_into_temp_list_test_thread9_waiting = false;
 bool is_put_into_temp_list_test_thread10_waiting = false;
+bool is_get_from_temp_list_called = false;
 
 // function for testing register_replication_area_lock
 void lock_function(){
@@ -50,6 +53,7 @@ l7vs::sslid_replication_data_processor::logger_func_type replication_inputLogDeb
 // test class
 class sslid_replication_data_processor_test_class : public l7vs::sslid_replication_data_processor {
 public:
+       boost::mutex check_mutex;
        // sslid_replication_data_processor_test_class
        sslid_replication_data_processor_test_class(int maxlist,
             char* sslid_replication_area_begain,
@@ -73,6 +77,12 @@ public:
                 inputLogDebug ) {
        }
 
+       // get_from_temp_list function
+       void get_from_temp_list(sslid_replication_temp_data& data){
+               sslid_replication_data_processor::get_from_temp_list(data);
+               is_get_from_temp_list_called = true;
+       }
+
        // put_into_temp_list test thread
        void put_into_temp_list_test_thread1(std::string& session,
                        boost::asio::ip::tcp::endpoint& endpoint, time_t time) {
@@ -129,6 +139,7 @@ public:
                this->put_into_temp_list(test_data1);
                this->put_into_temp_list(test_data1);
                this->put_into_temp_list(test_data1);
+               is_put_into_temp_list_test_thread4_waiting = true;
        }
 
        // put_into_temp_list test thread
@@ -155,6 +166,7 @@ public:
                this->put_into_temp_list(test_data1);
                this->put_into_temp_list(test_data1);
                this->put_into_temp_list(test_data1);
+               is_put_into_temp_list_test_thread6_waiting = true;
                this->put_into_temp_list(test_data1);
                this->put_into_temp_list(test_data1);
        }
@@ -246,10 +258,13 @@ public:
                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);
+               {
+                       boost::mutex::scoped_lock sclock(check_mutex);
+                       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
@@ -658,11 +673,13 @@ public:
                // unit_test[19] マルチスレッド がつ temp_listのサイズが max_temp_listの場合、temp_listにデータを正常追加する。
                try{
                        boost::thread_group thread_group;
+                       is_put_into_temp_list_test_thread4_waiting = false;
                        this->temp_list.clear();
                        thread_group.create_thread(boost::bind(
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread4,
                                                this, session_id1, endpoint, last_time));
-                       sleep(1);
+                       while(!is_put_into_temp_list_test_thread4_waiting){
+                       }
                        thread_group.create_thread(boost::bind(&sslid_replication_data_processor_test_class::put_into_temp_list_test_thread5, this));
                        thread_group.join_all();
                } catch(...){
@@ -683,11 +700,13 @@ public:
                // unit_test[20] ルチスレッド がつ temp_list size > max_temp_listの場合、temp_listにデータを正常追加する。
                try{
                        boost::thread_group thread_group;
+                       is_put_into_temp_list_test_thread6_waiting = false;
                        this->temp_list.clear();
                        thread_group.create_thread(boost::bind(
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread6,
                                                this, session_id1, endpoint, last_time));
-                       sleep(1);
+                       while(!is_put_into_temp_list_test_thread6_waiting){
+                       }
                        thread_group.create_thread(boost::bind(&sslid_replication_data_processor_test_class::put_into_temp_list_test_thread7, this));
                        thread_group.join_all();
                } catch(...){
@@ -716,7 +735,8 @@ public:
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread8,
                                                this, session_id1, endpoint, last_time));
 
-                       sleep(1);
+                       while(!is_put_into_temp_list_test_thread8_waiting){
+                       }
                        // put_into_temp_list_test_thread8 is waiting check
                        BOOST_CHECK_EQUAL(is_put_into_temp_list_test_thread8_waiting, true);
 
@@ -739,13 +759,14 @@ public:
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread8,
                                                this, session_id1, endpoint, last_time));
 
-                       sleep(1);
-
+                       while(!is_put_into_temp_list_test_thread8_waiting){
+                       }
                        thread_group.create_thread(boost::bind(
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread9,
                                                this, session_id1, endpoint, last_time));
 
-                       sleep(1);
+                       while(!is_put_into_temp_list_test_thread9_waiting){
+                       }
 
                        // put_into_temp_list_test_thread8 is waiting check
                        BOOST_CHECK_EQUAL(is_put_into_temp_list_test_thread8_waiting, true);
@@ -771,14 +792,18 @@ public:
                        thread_group.create_thread(boost::bind(
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread8,
                                                this, session_id1, endpoint, last_time));
-                       sleep(1);
+                       while(!is_put_into_temp_list_test_thread8_waiting){
+                       }
                        thread_group.create_thread(boost::bind(
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread9,
                                                this, session_id1, endpoint, last_time));
                        thread_group.create_thread(boost::bind(
                                                &sslid_replication_data_processor_test_class::put_into_temp_list_test_thread10,
                                                this, session_id1, endpoint, last_time));
-                       sleep(1);
+                       while(!is_put_into_temp_list_test_thread9_waiting){
+                       }
+                       while(!is_put_into_temp_list_test_thread10_waiting){
+                       }
 
                        // put_into_temp_list_test_thread8 is waiting check
                        BOOST_CHECK_EQUAL(is_put_into_temp_list_test_thread8_waiting, true);
@@ -826,6 +851,8 @@ public:
 
     cout << "[25]------------------------------------------" << endl;
                // unit_test[25] op_codeが「A」で、且つreplication_areaに1つのデータが存在する場合、新データを追加する。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                temp_session_id = "temp_id1rtrrrrtttttteeeeeeemmmmp";
                memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
                temp_data.last_time = time(0);
@@ -846,7 +873,8 @@ public:
                memset(&old_data, 0, sizeof(sslid_replication_data));
                memcpy(&old_data, this->replication_area, sizeof(sslid_replication_data));
                boost::thread test_thread2(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread2.interrupt();
                // data add position: after the old existing data, check it
                // get the added data information
@@ -875,6 +903,8 @@ public:
 
     cout << "[26]------------------------------------------" << endl;
                // unit_test[26] op_codeが「A」で、且つreplication_areaに2つのデータが存在して、且つ1つ目データのvalidフラグが0の場合、新のデータを追加する。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
                temp_session_id = "temp_id2eeeeeetttteeeeeeemmmmuui";
                temp_data.last_time = time(0);
@@ -899,7 +929,8 @@ public:
                memset(&old_data, 0, sizeof(sslid_replication_data));
                memcpy(&old_data, this->replication_area + 1, sizeof(sslid_replication_data));
                boost::thread test_thread3(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread3.interrupt();
                // data add position: the first existing data position, check it
                // get the added data information
@@ -927,6 +958,8 @@ public:
 
     cout << "[27]------------------------------------------" << endl;
                // unit_test[27] op_codeが「A」で、且つreplication_areaにデータが存在しない場合、新のデータを追加する。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                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);
@@ -937,7 +970,8 @@ public:
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                boost::thread test_thread4(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread4.interrupt();
                // get added data information
                memset(session_id_array, 0, SSLID_LENGTH + 1);
@@ -961,6 +995,8 @@ public:
 
     cout << "[28]------------------------------------------" << endl;
                // unit_test[28] op_codeが「U」で、且つセッションIDが存在している場合、該当データを更新する。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                realserver_addr.address(boost::asio::ip::address::from_string("255.255.255.255"));
                realserver_addr.port(port);
                test_data1.op_code = 'U';
@@ -969,7 +1005,8 @@ public:
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                boost::thread test_thread5(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread5.interrupt();
                // get saved information
                memset(session_id_array, 0, SSLID_LENGTH + 1);
@@ -993,6 +1030,8 @@ public:
 
     cout << "[29]------------------------------------------" << endl;
                // unit_test[29] op_codeが「D」で、且つセッションIDが存在している場合、該当データを削除する。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                realserver_addr.address(boost::asio::ip::address::from_string("192.168.120.102"));
                realserver_addr.port(80);
                test_data1.op_code = 'D';
@@ -1001,7 +1040,8 @@ public:
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                boost::thread test_thread6(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread6.interrupt();
                // get saved information
                memset(session_id_array, 0, SSLID_LENGTH + 1);
@@ -1023,6 +1063,8 @@ public:
 
     cout << "[30]------------------------------------------" << endl;
                // unit_test[30] op_codeが「A」,「U」,「D」以外の場合、データを変更しない。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                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);
@@ -1036,7 +1078,8 @@ public:
                l7vs::sslid_replication_data old_session_data[3];
                memcpy(&old_session_data, this->replication_area, 3*sizeof(sslid_replication_data));
                boost::thread test_thread7(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread7.interrupt();
                // test_data1 is not saved, so old data is not changed, check it
                // old data not changed check
@@ -1048,18 +1091,20 @@ public:
 
     cout << "[31]------------------------------------------" << endl;
                // unit_test[31] データを追加するの場合、replication_area_lock関数を呼び出す。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
                test_data1.op_code = 'A';
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
-               is_lock_function_called = false;
                this->replication_area_lock = lock_function;
                this->replication_area_unlock = unlock_function;
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                try{
                        boost::thread test_thread8(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-                       sleep(1);
+                       while(!is_lock_function_called || !is_unlock_function_called){
+                       }
                        test_thread8.interrupt();
                } catch(...) {
                        BOOST_ERROR("exception: write_replicaion_area_test");
@@ -1072,18 +1117,20 @@ public:
 
     cout << "[32]------------------------------------------" << endl;
                // unit_test[32] データを追加するの場合、replication_area_unlock関数を呼び出す。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                memset(this->replication_area, 0, this->maxlist*sizeof(struct l7vs::sslid_replication_data));
                test_data1.op_code = 'A';
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
-               is_unlock_function_called = false;
                this->replication_area_lock = lock_function;
                this->replication_area_unlock = unlock_function;
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                try{
                        boost::thread test_thread9(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-                       sleep(1);
+                       while(!is_lock_function_called || !is_unlock_function_called){
+                       }
                        test_thread9.interrupt();
                } catch(...) {
                        BOOST_ERROR("exception: write_replicaion_area_test");
@@ -1096,6 +1143,8 @@ public:
 
     cout << "[33]------------------------------------------" << endl;
                // unit_test[33] endpointがipv6で、replicationエリアにデータがなくて、該当ipv6のendpointを追加する。
+               is_lock_function_called = false;
+       is_unlock_function_called = false;
                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);
@@ -1106,7 +1155,8 @@ public:
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                boost::thread test_thread10(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread10.interrupt();
                memset(session_id_array, 0, SSLID_LENGTH + 1);
                memcpy(session_id_array, this->replication_area->session_id, SSLID_LENGTH);
@@ -1129,6 +1179,8 @@ public:
 
     cout << "[34]------------------------------------------" << endl;
                // unit_test[34] op_codeが「U」で、endpointがipv6で、replicationエリアにデータがある場合、該当ipv6のendpointを更新する。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                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';
@@ -1137,7 +1189,8 @@ public:
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                boost::thread test_thread11(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread11.interrupt();
                // get saved information
                saved_address_ip = std::string(this->replication_area->realserver_ip);
@@ -1152,6 +1205,8 @@ public:
 
     cout << "[35]------------------------------------------" << endl;
                // unit_test[35] op_codeが「D」で、endpointがipv6で、replicationエリアにデータがある場合、該当ipv6のendpointを変更しない、validに0を設定する。
+               is_lock_function_called = false;
+               is_unlock_function_called = false;
                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;
@@ -1159,7 +1214,8 @@ public:
                this->temp_list.clear();
                this->put_into_temp_list(test_data1);
                boost::thread test_thread12(boost::bind(&sslid_replication_data_processor_test_class::write_replicaion_area, this));
-               sleep(1);
+               while(!is_lock_function_called || !is_unlock_function_called){
+               }
                test_thread12.interrupt();
                // get saved information
                saved_address_ip = std::string(this->replication_area->realserver_ip);
@@ -1229,8 +1285,11 @@ public:
                } catch(...) {
                        BOOST_ERROR("exception: get_from_temp_list");
                }
+               // clean the created thread's temp_list_condition
+               is_get_from_temp_list_called = false;
                this->put_into_temp_list(test_data1);
-               sleep(1);
+               while(!is_get_from_temp_list_called){
+               }
 
     cout << "[41]------------------------------------------" << endl;
                // unit_test[41] マルチスレッドの場合、temp_listにデータを正常取得する。
index ef4d337..977d79c 100644 (file)
@@ -78,6 +78,7 @@ public:
 // test class
 class sslid_session_data_processor_test_class : public sslid_session_data_processor{
 public:
+       boost::mutex check_mutex;
        // sslid_session_data_processor_test_class
        sslid_session_data_processor_test_class(int maxlist, int timeout,
                        sslid_replication_data_processor* replication_data_processor,
@@ -117,8 +118,11 @@ public:
                boost::asio::ip::tcp::endpoint get_endpoint;
 
                result = this->get_endpoint_from_session_data(session_id, get_endpoint);
-               BOOST_CHECK_EQUAL(result, 0);
-               BOOST_CHECK_EQUAL(get_endpoint, expecting_endpoint);
+               {
+                       boost::mutex::scoped_lock sclock(check_mutex);
+                       BOOST_CHECK_EQUAL(result, 0);
+                       BOOST_CHECK_EQUAL(get_endpoint, expecting_endpoint);
+               }
        }
 
        // sslid_session_data_processor_test
diff --git a/unit_tests/sslid/sslid_ut.cpp b/unit_tests/sslid/sslid_ut.cpp
new file mode 100755 (executable)
index 0000000..a3301ab
--- /dev/null
@@ -0,0 +1,17 @@
+#include <boost/test/included/unit_test.hpp>
+
+#include "protocol_module_sslid_test.cpp"
+#include "ssl_protocol_module_base_test.cpp"
+#include "sslid_replication_data_processor_test.cpp"
+#include "sslid_session_data_processor_test.cpp"
+
+test_suite*    init_unit_test_suite( int argc, char* argv[] ){
+
+       protocol_module_sslid_test_main();
+       ssl_protocol_module_base_test_main();
+       sslid_replication_data_processor_test_main();
+       sslid_session_data_processor_test_main();
+
+       return 0;
+}
+