OSDN Git Service

git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-shamshel@6629 1ed66053...
authoryatabe <yatabe@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Thu, 5 Feb 2009 02:26:05 +0000 (02:26 +0000)
committeryatabe <yatabe@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Thu, 5 Feb 2009 02:26:05 +0000 (02:26 +0000)
module/protocol/protocol_module_cinsert.cpp

index 69433ef..7534aa1 100644 (file)
 #include <boost/asio/ip/tcp.hpp>
 #include <boost/regex.hpp>
 #include <boost/format.hpp>
-#include "protocol_module_sessionless.h"
+#include "protocol_module_cinsert.h"
 
 namespace l7vs
 {
 
-const std::string protocol_module_sessionless::MODULE_NAME = "sessionless";
-//construct
-protocol_module_sessionless::protocol_module_sessionless() :
+const std::string protocol_module_cinsert::MODULE_NAME = "cinsert";
+protocol_module_cinsert::protocol_module_cinsert() :
        http_protocol_module_base(MODULE_NAME)
 {
-       //      /*-------- 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------*/
 }
-//desconstruct
-protocol_module_sessionless::~protocol_module_sessionless()
+protocol_module_cinsert::~protocol_module_cinsert()
 {
-//     /*-------- 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
-//! @return tcp not-support is false
-bool protocol_module_sessionless::is_tcp()
+bool protocol_module_cinsert::is_tcp()
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010003, "in/out_function: bool protocol_module_sessionless::is_tcp(): "
-                       "return_value=true", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return true;
 }
 
-//! udp protocol support check
-//! @return udp support is true
-//! @return udp not-support is false
-bool protocol_module_sessionless::is_udp()
+bool protocol_module_cinsert::is_udp()
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010004, "in/out_function: bool protocol_module_sessionless::is_udp(): "
-                       "return_value=false", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       return false;
+
 }
 
-//replication用インターフェイス
-void protocol_module_sessionless::replication_interrupt()
+void protocol_module_cinsert::replication_interrupt()
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010002, "in/out_function: protocol_module_sessionless::"
-                       "replication_interrupt()", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
+
 }
-/*!
- *initialize
- *
- *@param [in] inrslist_begin
- *@param [in] inrslist_end
- *@param [in] inrslist_next
- *@param [in] inlist_lock
- *@param [in] inlist_unlock
- */
-void protocol_module_sessionless::initialize(rs_list_itr_func_type     inlist_begin,
+
+void protocol_module_cinsert::initialize(rs_list_itr_func_type inlist_begin,
                rs_list_itr_func_type   inlist_end,
                rs_list_itr_next_func_type      inlist_next,
                boost::function< void( void ) > inlist_lock,
                boost::function< void( void ) > inlist_unlock)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010005, "in_function: void protocol_module_sessionless::initialize("
-                       "rs_list_itr_func_type inlist_begin, rs_list_itr_func_type inlist_end,"
-                       "rs_list_itr_next_func_type inlist_next,boost::function< void( void ) > "
-                       "inlist_lock,boost::function< void( void ) >    inlist_unlock )", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       //RealServerリストの各操作関数を設定する
-       //RealServerリスト先頭取得関数
-       rs_list_begin = inlist_begin;
-       //RealServerリスト末端取得関数
-       rs_list_end = inlist_end;
-       //RealServerリスト次要素取得関数
-       rs_list_next = inlist_next;
-       //RealServerリストロック関数
-       rs_list_lock = inlist_lock;
-       //RealServerリストアンロック関数
-       rs_list_unlock = inlist_unlock;
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010006, "out_function: void protocol_module_sessionless::initialize("
-                       "rs_list_itr_func_type inlist_begin, rs_list_itr_func_type inlist_end,"
-                       "rs_list_itr_next_func_type inlist_next,boost::function< void( void ) > "
-                       "inlist_lock,boost::function< void( void ) >    inlist_unlock )", __FILE__, __LINE__ );
-       }
-       /*-------- DEBUG LOG --------*/
 }
 
-/*!
- *finalize
- *
- */
-void protocol_module_sessionless::finalize()
+void protocol_module_cinsert::finalize()
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010007, "int_function: void protocol_module_sessionless::finalize()", __FILE__,
-               __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       //ログ出力の各操作関数を初期化する
-       //ログレベル取得関数
-       getloglevel.clear();
-       //ログ出力関数(Fatal)
-       putLogFatal.clear();
-       //ログ出力関数(Error)
-       putLogError.clear();
-       //ログ出力関数(Warn)
-       putLogWarn.clear();
-       //ログ出力関数(Info)
-       putLogInfo.clear();
-       //ログ出力関数(Debug)
-       putLogDebug.clear();
-
-       //RealServerリストの各操作関数を初期化する
-       //RealServerリスト先頭取得関数
-       rs_list_begin.clear();
-       //RealServerリスト末端取得関数
-       rs_list_end.clear();
-       //RealServerリスト次要素取得関数
-       rs_list_next.clear();
-       //RealServerリストロック関数
-       rs_list_lock.clear();
-       //RealServerリストアンロック関数
-       rs_list_unlock.clear();
-
-       //Replicationの各操作関数を初期化する
-       //コンポーネント領域割り当て関数
-       replication_pay_memory.clear();
-       //コンポーネント領域ロック関数
-       replication_area_lock.clear();
-       //コンポーネント領域アンロック関数
-       replication_area_unlock.clear();
-
-       //ScheduleModuleの振分関数を初期化する
-       //Client振り分け処理関数
-       schedule_tcp.clear();
-       schedule_udp.clear();
-
-       //各モジュールオプションを初期化する
-       //送信元設定指示
-       forwarded_for = 0;
-       //sorry-uri
-       sorry_uri.assign('\0');
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010007, "out_function: void protocol_module_sessionless::finalize()", __FILE__,
-               __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 }
 
-/*!
- *is_use_sorry
- *@return always return true
- */
-bool protocol_module_sessionless::is_use_sorry()
+bool protocol_module_cinsert::is_use_sorry()
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(010007, "in/out_function: bool protocol_module_sessionless::is_use_sorry(): "
-                       "return_value=true", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return true;
 }
 
-/*!
- *check_parameter
- *
- *@param [in] args
- *@retval     check_message_result_return
- */
-protocol_module_sessionless::check_message_result protocol_module_sessionless::check_parameter(const std::vector<
+protocol_module_cinsert::check_message_result protocol_module_cinsert::check_parameter(const std::vector<
         std::string>& args)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("int_function: protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::check_parameter("
-                       "const std::vector<std::string>& args ): args=%s");
-               std::string argsdump;
-               for (std::vector<std::string>::const_iterator it = args.begin(); it != args.end(); ++it)
-               {
-                       argsdump += *it;
-               }
-               formatter % argsdump;
-               putLogDebug(010010, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       //チェック結果フラグにTRUEを設定する
        check_message_result check_result;
-       check_result.flag = true;
-       bool forward_checked = false;
-       bool sorryuri_checked = false;
-       const std::string regex_match_str = "([^?#]*)(\\?([^#]*))?(#(.*))?";
-
-       //オプション文字列の要素数分繰り返し
-       typedef std::vector<std::string>::const_iterator vec_str_it;
-
-       try
-       {
-               vec_str_it it = args.begin();
-               vec_str_it it_end = args.end();
-               for (; it != it_end; ++it)
-               {
-                       //オプション文字列 = "-F"
-                       if (*it == "-F" || *it == "--forwarded-for")
-                       {
-                               //送信元設定指示設定フラグをON
-                               forward_checked = true;
-                       }
-                       //オプション文字列 = "-S"
-                       else if (*it == "-S" || *it == "--sorry-uri")
-                       {
-                               //sorryURI設定フラグ = OFF
-                               if (!sorryuri_checked)
-                               {
-                                       //次要素が存在する場合
-                                       if (++it != it_end)
-                                       {
-                                               if (!it->empty() && (it->substr(0, 1) == "-" || it->substr(0, 2) == "--"))
-                                               {
-                                                       //チェック結果フラグにFALSEを設定する
-                                                       check_result.flag = false;
-                                                       //チェック結果メッセージを設定する
-                                                       check_result.message = "You have to set option value '-S/--sorry-uri'.";
-                                                       //繰り返し処理を終了する
-                                                       break;
-                                               }
-                                               //次要素の文字列長 > 127
-                                               if (it->size() > MAX_OPTION_SIZE - 1)
-                                               {
-                                                       std::ostringstream ostr;
-                                                       ostr << "'-S/--sorry-uri\' option value '" << *it << "' is too long.";
-
-                                                       //チェック結果フラグにFALSEを設定する
-                                                       check_result.flag = false;
-                                                       //チェック結果メッセージを設定する
-                                                       check_result.message = ostr.str();
-                                                       putLogError(17000, check_result.message, __FILE__, __LINE__ );
-                                                       //繰り返し処理を終了する
-                                                       break;
-                                               }
-                                               //次要素の文字列長 ≦ 127
-                                               else
-                                               {
-                                                       //正規表現でURI(httpからポートまでの部分を対象外)の妥当性をチェックする
-                                                       //正規表現は([^?#]*)(\?([^#]*))?(#(.*))?通り
-                                                       boost::regex uri(regex_match_str);
-                                                       boost::cmatch what;
-                                                       if (boost::regex_match(it->c_str(), what, uri))
-                                                       {
-                                                               //チェックOKの場合
-                                                               //sorryURI設定フラグをON
-                                                               sorryuri_checked = true;
-                                                       }
-                                                       //チェックNGの場合
-                                                       else
-                                                       {
-                                                               std::ostringstream ostr;
-                                                               ostr << "'-S/--sorry-uri' option value '" << *it << "' is not a valid URI.";
-
-                                                               //チェック結果フラグにFALSEを設定する
-                                                               check_result.flag = false;
-                                                               //チェック結果メッセージを設定する
-                                                               check_result.message = ostr.str();
-                                                               putLogError(17000, check_result.message, __FILE__, __LINE__ );
-                                                               //繰り返し処理を終了する
-                                                               break;
-                                                       }
-                                               }
-                                       }
-                                       //次要素が存在しない場合
-                                       else
-                                       {
-                                               //チェック結果フラグにFALSEを設定する
-                                               check_result.flag = false;
-                                               //チェック結果メッセージを設定する
-                                               check_result.message = "You have to set option value '-S/--sorry-uri'.";
-                                               putLogError(17000, check_result.message, __FILE__,
-                                               __LINE__ );
-                                               //繰り返し処理を終了する
-                                               break;
-                                       }
-                               }
-                               //sorryURI設定フラグ = ON
-                               else
-                               {
-                                       //チェック結果フラグにFALSEを設定する
-                                       check_result.flag = false;
-                                       //チェック結果メッセージを設定する
-                                       check_result.message = "Cannot set multiple option '-S/--sorry-uri'.";
-                                       putLogError(17000, check_result.message, __FILE__,
-                                       __LINE__ );
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-                       }
-                       //オプション文字列 = 上記以外
-                       else
-                       {
-                               //チェック結果フラグにFALSEを設定する
-                               check_result.flag = false;
-                               //チェック結果メッセージを設定する
-                               check_result.message = "Option error.";
-                               putLogError(17000, check_result.message, __FILE__, __LINE__ );
-                               //繰り返し処理を終了する
-                               break;
-                       }
-               }
-       } catch (const std::exception& ex)
-       {
-               check_result.flag = false;
-               std::cerr << "check parameter exception: result=false, error=" << ex.what() << "." << std::endl;
-               boost::format formatter("function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::check_parameter() exception: "
-                       "result=false, error=%s.");
-               formatter % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-       } catch (...)
-       {
-               check_result.flag = false;
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::check_parameter() :"
-                       "Unkown exception.", __FILE__, __LINE__ );
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::check_parameter("
-                       "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(010005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return check_result;
 }
 
-/*!
- *set_parameter
- *
- *@param [in] args
- *@retval
- */
-protocol_module_sessionless::check_message_result protocol_module_sessionless::set_parameter(const std::vector<
+
+protocol_module_cinsert::check_message_result protocol_module_cinsert::set_parameter(const std::vector<
         std::string>& args)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("int_function: protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::set_parameter("
-                       "const std::vector<std::string>& args ): args=%s");
-               std::string argsdump;
-               for (std::vector<std::string>::const_iterator it = args.begin(); it != args.end(); ++it)
-               {
-                       argsdump += *it;
-               }
-               formatter % argsdump;
-               putLogDebug(010010, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       //チェック結果フラグにTRUEを設定する
        check_message_result check_result;
-       check_result.flag = true;
-       bool forward_checked = false;
-       bool sorryuri_checked = false;
-       const std::string regex_match_str = "([^?#]*)(\\?([^#]*))?(#(.*))?";
-
-       //オプション文字列の要素数分繰り返し
-       typedef std::vector<std::string>::const_iterator vec_str_it;
-       vec_str_it it = args.begin();
-       vec_str_it it_end = args.end();
-
-       //送信元設定指示に1を設定する
-       forwarded_for = 1;
-
-       try
-       {
-               for (; it != it_end; ++it)
-               {
-                       //オプション文字列 = "-F"
-                       if (*it == "-F" || *it == "--forwarded-for")
-                       {
-                               //送信元設定指示設定フラグをON
-                               forward_checked = true;
-                       }
-                       //オプション文字列 = "-S"
-                       else if (*it == "-S" || *it == "--sorry-uri")
-                       {
-                               //sorryURI設定フラグ = OFF
-                               if (!sorryuri_checked)
-                               {
-                                       //次要素が存在する場合
-                                       if (++it != it_end)
-                                       {
-                                               if (!it->empty() && (it->substr(0, 1) == "-" || it->substr(0, 2) == "--"))
-                                               {
-                                                       //チェック結果フラグにFALSEを設定する
-                                                       check_result.flag = false;
-                                                       //チェック結果メッセージを設定する
-                                                       check_result.message = "You have to set option value '-S/--sorry-uri'.";
-                                                       //繰り返し処理を終了する
-                                                       break;
-                                               }
-                                               //次要素の文字列長 > 127
-                                               if (it->size() > MAX_OPTION_SIZE - 1)
-                                               {
-                                                       std::ostringstream ostr;
-                                                       ostr << "'-S/--sorry-uri\' option value '" << *it << "' is too long.";
-
-                                                       //チェック結果フラグにFALSEを設定する
-                                                       check_result.flag = false;
-                                                       //チェック結果メッセージを設定する
-                                                       check_result.message = ostr.str();
-                                                       //繰り返し処理を終了する
-                                                       break;
-                                               }
-                                               //次要素の文字列長 ≦ 127
-                                               else
-                                               {
-                                                       //正規表現でURI(httpからポートまでの部分を対象外)の妥当性をチェックする
-                                                       //正規表現は([^?#]*)(\?([^#]*))?(#(.*))?通り
-                                                       boost::regex uri(regex_match_str);
-                                                       boost::cmatch what;
-                                                       if (boost::regex_match(it->c_str(), what, uri))
-                                                       {
-                                                               //チェックOKの場合
-                                                               //sorryURI設定フラグをON
-                                                               sorryuri_checked = true;
-                                                       }
-                                                       //チェックNGの場合
-                                                       else
-                                                       {
-                                                               std::ostringstream ostr;
-                                                               ostr << "'-S/--sorry-uri' option value '" << *it << "' is not a valid URI.";
-
-                                                               //チェック結果フラグにFALSEを設定する
-                                                               check_result.flag = false;
-                                                               //チェック結果メッセージを設定する
-                                                               check_result.message = ostr.str();
-                                                               //繰り返し処理を終了する
-                                                               break;
-                                                       }
-                                               }
-                                       }
-                                       //次要素が存在しない場合
-                                       else
-                                       {
-                                               //チェック結果フラグにFALSEを設定する
-                                               check_result.flag = false;
-                                               //チェック結果メッセージを設定する
-                                               check_result.message = "You have to set option value '-S/--sorry-uri'.";
-                                               //繰り返し処理を終了する
-                                               break;
-                                       }
-                               }
-                               //sorryURI設定フラグ = ON
-                               else
-                               {
-                                       //チェック結果フラグにFALSEを設定する
-                                       check_result.flag = false;
-                                       //チェック結果メッセージを設定する
-                                       check_result.message = "Cannot set multiple option '-S/--sorry-uri\'.";
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-                       }
-                       //オプション文字列 = 上記以外
-                       else
-                       {
-                               //チェック結果フラグにFALSEを設定する
-                               check_result.flag = false;
-                               //チェック結果メッセージを設定する
-                               check_result.message = "Option error.";
-                               //繰り返し処理を終了する
-                               break;
-                       }
-               }
-
-               if (check_result.flag == true)
-               {
-                       //送信元設定指示設定フラグ = OFF
-                       if (!forward_checked)
-                       {
-                               //送信元設定指示に0を設定する
-                               forwarded_for = 0;
-                       }
-               }
-
-       } catch (const std::exception& ex)
-       {
-               check_result.flag = false;
-               std::cerr << "set parameter exception: result=false, error=" << ex.what() << "." << std::endl;
-               boost::format formatter("function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::set_parameter() exception: "
-                       "result=false, error=%s.");
-               formatter % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-       } catch (...)
-       {
-               check_result.flag = false;
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::set_parameter() :"
-                       "Unkown exception.", __FILE__, __LINE__ );
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::set_parameter("
-                       "const std::vector<std::string>& args ): return_value=("
-                       "check_message_result.flag=%d, check_message_result.message=%s");
-               formatter % check_result.flag % check_result.message;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-
        return check_result;
 }
 
-/*!
- *add_parameter
- *
- *@param [in] args
- *@retval
- */
-protocol_module_sessionless::check_message_result protocol_module_sessionless::add_parameter(const std::vector<
+protocol_module_cinsert::check_message_result protocol_module_cinsert::add_parameter(const std::vector<
         std::string>& args)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::add_parameter("
-                       "const std::vector<std::string>& args ): args=%s");
-               std::string argsdump;
-               for (std::vector<std::string>::const_iterator it = args.begin(); it != args.end(); ++it)
-               {
-                       argsdump += *it;
-               }
-               formatter % argsdump;
-               putLogDebug(10010, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        check_message_result check_result;
-       //チェック結果フラグにTRUEを設定する
-       check_result.flag = true;
-
-       //オプション文字列が存在する場合
-       if (!args.empty())
-       {
-               //チェック結果フラグにFALSEを設定する
-               check_result.flag = false;
-               //チェック結果メッセージを設定する
-               check_result.message = "Cannot add option.";
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::add_parameter "
-                       "protocol_module_sessionless::set_parameter("
-                       "const std::vector<std::string>& args ): return_value=("
-                       "check_message_result.flag=%d, check_message_result.message=%s");
-               formatter % check_result.flag % check_result.message;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-
        return check_result;
 }
 
-/*!
- *handle_rslist_update
- *
- */
-void protocol_module_sessionless::handle_rslist_update()
+void protocol_module_cinsert::handle_rslist_update()
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(10005, "in/out_function: void protocol_module_sessionless::handle_rslist_update()", __FILE__,
-               __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 }
 
-/*!
- *register_schedule
- *
- *@param [in] inschedule
- *@retval
- */
-void protocol_module_sessionless::register_schedule(tcp_schedule_func_type inschedule)
+void protocol_module_cinsert::register_schedule(tcp_schedule_func_type inschedule)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(10005, "in_function: void protocol_module_sessionless::register_schedule( "
-                       "tcp_schedule_func_type inschedule )", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       schedule_tcp = inschedule;
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(10005, "out_function: void protocol_module_sessionless::register_schedule( "
-                       "tcp_schedule_func_type inschedule )", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 }
 
-/*!
- *register_schedule
- *
- *@param [in] inschedule
- *@retval
- */
-void protocol_module_sessionless::register_schedule(udp_schedule_func_type inschedule)
+void protocol_module_cinsert::register_schedule(udp_schedule_func_type inschedule)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(10002,
-                       "in/out_function:void protocol_module_sessionless::register_schedule(udp_schedule_func_type inschedule): "
-                               "return_value=void", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 }
 
-/*!
- *handle_session_initialize
- *
- *@param [in] up_thread_id
- *@param [in] down_thread_id
- *@retval
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_session_initialize(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_session_initialize(
         const boost::thread::id up_thread_id, 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)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_session_initialize( const boost::thread::id up_thread_id, "
-                       "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): "
-                       "up_thread_id=%d, down_thread_id=%d");
-               formatter % up_thread_id % down_thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       session_thread_data_sessionless* p_up = NULL;
-       session_thread_data_sessionless* p_down = NULL;
-
-       //セッションスレッドに対応する初期処理を行う
-       try
-       {
-               p_up = new session_thread_data_sessionless;
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       boost::format formatter("new: address=&(%d), size=%lu");
-                       formatter % &p_up % sizeof(session_thread_data_sessionless);
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-               p_up->thread_id = up_thread_id;
-               p_up->thread_division = THREAD_DIVISION_UP_STREAM;
-               p_up->pair_thread_id = down_thread_id;
-               p_up->accept_end_flag = ACCEPT_END_FLAG_OFF;
-               p_up->end_flag = END_FLAG_OFF;
-               p_up->sorry_flag = SORRY_FLAG_OFF;
-               p_up->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-               p_up->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-               p_up->last_status = INITIALIZE;
-               p_up->client_endpoint_tcp = client_endpoint_tcp;
-
-               recive_data recv_data;
-               recv_data.recive_buffer = NULL;
-               recv_data.recive_buffer1 = NULL;
-               recv_data.recive_buffer2 = NULL;
-               recv_data.recive_buffer_max_size = 0;
-               recv_data.recive_buffer_rest_size = 0;
-
-               p_up->recive_data_map[client_endpoint_tcp] = recv_data;
-
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       // data dump
-                       boost::format
-                               formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_session_initialize() : session_thread_data_sessionless(upthread) : "
-                                       "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");
-                       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();
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-
-               p_down = new session_thread_data_sessionless;
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       boost::format formatter("new: address=&(%d), size=%lu");
-                       formatter % &p_down % sizeof(session_thread_data_sessionless);
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-               p_down->thread_id = down_thread_id;
-               p_down->thread_division = THREAD_DIVISION_DOWN_STREAM;
-               p_down->pair_thread_id = up_thread_id;
-               p_down->accept_end_flag = ACCEPT_END_FLAG_OFF;
-               p_down->end_flag = END_FLAG_OFF;
-               p_down->sorry_flag = SORRY_FLAG_OFF;
-               p_down->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-               p_down->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-               p_down->last_status = INITIALIZE;
-               p_down->client_endpoint_tcp = client_endpoint_tcp;
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       // data dump
-                       boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                               "handle_session_initialize() : session_thread_data_sessionless(down_thread_id) : "
-                               "accept_end_flag=%d, end_flag=%d, "
-                               "pair_thread_id=%d, realserver_switch_flag=%d, sorry_flag=%d,"
-                               "thread_division=%d, thread_id=%d, last_status=%d, client_endpoint_tcp=%s.");
-                       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();
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-
-               session_thread_data_map[up_thread_id] = p_up;
-               session_thread_data_map[down_thread_id] = p_down;
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_session_initialize exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_session_initialize() exception: result=%d, error=%s.");
-               formatter % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               return FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::handle_session_initialize() : "
-                       "Unkown exception.", __FILE__, __LINE__ );
-
-               return FINALIZE;
-       }
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_session_initialize( const boost::thread::id up_thread_id, "
-                       "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 % ACCEPT;
-               putLogDebug(030005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
        return ACCEPT;
 }
-/*!
- *handle_session_finalize
- *
- *@param [in] up_thread_id
- *@param [in] down_thread_id
- *@retval
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_session_finalize(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_session_finalize(
         const boost::thread::id up_thread_id, const boost::thread::id down_thread_id)
 {
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_session_finalize( const boost::thread::id up_thread_id, "
-                       "const boost::thread::id down_thread_id ): "
-                       "up_thread_id=%d, down_thread_id=%d");
-               formatter % up_thread_id % down_thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       session_thread_data_sessionless* p_up = NULL;
-       session_thread_data_sessionless* p_down = NULL;
-       boost::asio::ip::tcp::endpoint endpoint;
-       //セッションスレッドに対応する終了処理を行う
-       try
-       {
-               boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-               if (session_thread_data_map.find(up_thread_id) != session_thread_data_map.end())
-               {
-                       p_up = session_thread_data_map[up_thread_id];
-                       if (p_up->recive_data_map.find(endpoint) != p_up->recive_data_map.end())
-                       {
-                               char*& recive_buffer = p_up->recive_data_map[endpoint].recive_buffer;
-                               if (recive_buffer != NULL)
-                               {
-                                       if (recive_buffer == p_up->recive_data_map[endpoint].recive_buffer1)
-                                       {
-                                               if (p_up->recive_data_map[endpoint].recive_buffer2 != NULL)
-                                               {
-                                                       /*-------- DEBUG LOG --------*/
-                                                       if (LOG_LV_DEBUG == getloglevel())
-                                                       {
-                                                               boost::format formatter("delete: address=&(%d)");
-                                                               formatter % p_up->recive_data_map[endpoint].recive_buffer2;
-                                                               putLogDebug(10005, formatter.str(), __FILE__,
-                                                               __LINE__ );
-                                                       }
-                                                       /*------DEBUG LOG END------*/
-                                                       delete[] p_up->recive_data_map[endpoint].recive_buffer2;
-                                                       p_up->recive_data_map[endpoint].recive_buffer2 = NULL;
-                                               }
-                                               p_up->recive_data_map[endpoint].recive_buffer1 = NULL;
-                                       }
-                                       else
-                                       {
-                                               if (p_up->recive_data_map[endpoint].recive_buffer1 != NULL)
-                                               {
-                                                       /*-------- DEBUG LOG --------*/
-                                                       if (LOG_LV_DEBUG == getloglevel())
-                                                       {
-                                                               boost::format formatter("delete: address=&(%d)");
-                                                               formatter % p_up->recive_data_map[endpoint].recive_buffer1;
-                                                               putLogDebug(10005, formatter.str(), __FILE__,
-                                                               __LINE__ );
-                                                       }
-                                                       /*------DEBUG LOG END------*/
-                                                       delete[] p_up->recive_data_map[endpoint].recive_buffer1;
-                                                       p_up->recive_data_map[endpoint].recive_buffer1 = NULL;
-                                               }
-                                               p_up->recive_data_map[endpoint].recive_buffer2 = NULL;
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("delete: address=&(%d)");
-                                               formatter % recive_buffer;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       delete[] recive_buffer;
-                                       recive_buffer = NULL;
-                               }
-                       }
-
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter("delete: address=&(%d)");
-                               formatter % p_up;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       delete p_up;
-                       session_thread_data_map.erase(up_thread_id);
-               }
-
-               if (session_thread_data_map.find(down_thread_id) != session_thread_data_map.end())
-               {
-                       p_down = session_thread_data_map[down_thread_id];
-                       if (p_down->recive_data_map.find(p_down->target_endpoint) != p_down->recive_data_map.end())
-                       {
-                               char*& recive_buffer = p_down->recive_data_map[p_down->target_endpoint].recive_buffer;
-                               if (recive_buffer != NULL)
-                               {
-                                       if (recive_buffer == p_down->recive_data_map[p_down->target_endpoint].recive_buffer1)
-                                       {
-                                               if (p_down->recive_data_map[p_down->target_endpoint].recive_buffer2 != NULL)
-                                               {
-                                                       /*-------- DEBUG LOG --------*/
-                                                       if (LOG_LV_DEBUG == getloglevel())
-                                                       {
-                                                               boost::format formatter("delete: address=&(%d)");
-                                                               formatter % p_down->recive_data_map[p_down->target_endpoint].recive_buffer2;
-                                                               putLogDebug(10005, formatter.str(), __FILE__,
-                                                               __LINE__ );
-                                                       }
-                                                       /*------DEBUG LOG END------*/
-                                                       delete[] p_down->recive_data_map[p_down->target_endpoint].recive_buffer2;
-                                                       p_down->recive_data_map[p_down->target_endpoint].recive_buffer2 = NULL;
-                                               }
-                                               p_down->recive_data_map[p_down->target_endpoint].recive_buffer1 = NULL;
-                                       }
-                                       else
-                                       {
-                                               if (p_down->recive_data_map[p_down->target_endpoint].recive_buffer1 != NULL)
-                                               {
-                                                       /*-------- DEBUG LOG --------*/
-                                                       if (LOG_LV_DEBUG == getloglevel())
-                                                       {
-                                                               boost::format formatter("delete: address=&(%d)");
-                                                               formatter % p_down->recive_data_map[p_down->target_endpoint].recive_buffer1;
-                                                               putLogDebug(10005, formatter.str(), __FILE__,
-                                                               __LINE__ );
-                                                       }
-                                                       /*------DEBUG LOG END------*/
-                                                       delete[] p_down->recive_data_map[p_down->target_endpoint].recive_buffer1;
-                                                       p_down->recive_data_map[p_down->target_endpoint].recive_buffer1 = NULL;
-                                               }
-                                               p_down->recive_data_map[p_down->target_endpoint].recive_buffer2 = NULL;
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("delete: address=&(%d)");
-                                               formatter % recive_buffer;
-                                               putLogDebug(10005, formatter.str(), __FILE__,
-                                               __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       delete[] recive_buffer;
-                                       recive_buffer = NULL;
-                               }
-                       }
-
-                       p_down = session_thread_data_map[down_thread_id];
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter("delete: address=&(%d)");
-                               formatter % p_down;
-                               putLogDebug(10005, formatter.str(), __FILE__,
-                               __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       delete p_down;
-                       session_thread_data_map.erase(down_thread_id);
-               }
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_session_finalize exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_session_finalize() exception: result=%d, error=%s.");
-               formatter % STOP % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_session_finalize() exception: result=%d.");
-               formatter % STOP;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_session_finalize( const boost::thread::id up_thread_id,"
-                       "const boost::thread::id down_thread_id ): return_value=%d");
-               formatter % STOP;
-               putLogDebug(030005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return STOP;
 }
 
-/*!
- *handle_accept
- *
- *@param [in] thread_id
- *@retval
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_accept(const boost::thread::id thread_id)
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_accept(const boost::thread::id thread_id)
 {
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_accept( const boost::thread::id thread_id ): thread_id=%d");
-               formatter % thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-               if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-               {
-                       putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               session_data = session_thread_data_map[thread_id];
-
-               if (session_data == NULL)
-               {
-                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_accept exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_accept() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::handle_accept() : "
-                       "Unkown exception.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       //accept完了フラグをON
-       session_data->accept_end_flag = ACCEPT_END_FLAG_ON;
-
-       //sorry状態の場合
-       if (session_data->sorry_flag == SORRY_FLAG_ON)
-       {
-               //遷移先ステータスを設定する
-               status = SORRYSERVER_SELECT;
-       }
-       //sorry状態以外の場合
-       else
-       {
-               //遷移先ステータスを設定する
-               status = REALSERVER_SELECT;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_accept( const boost::thread::id thread_id ): return_value=%d.");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return status;
 }
 
-/*!
- *handle_client_recv
- *
- *@param [in] thread_id
- *@param [in] recvbuffer
- *@param [in] recvlen
- *@retval
- */
-protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_client_recv(const boost::thread::id thread_id,
+protocol_module_base::EVENT_TAG protocol_module_cinsert::handle_client_recv(const boost::thread::id thread_id,
         const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer, const size_t recvlen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_recv( const boost::thread::id thread_id,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen ): thread_id=%d, recvbuffer=%s, recvlen=%d");
-               formatter % thread_id % recvbuffer.data() % recvlen;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       EVENT_TAG status;
-       typedef std::vector<protocol_module_sessionless::send_status_it> send_end_it_vec;
-       send_end_it_vec send_end_vec;
-       size_t data_remain_start = 0; //未送信データ開始位置
-       size_t data_remain_size = 0; //未送信データサイズ
-       size_t request_data_remain_size = 0; //リクエストデータ残サイズ
-       bool bret = false;
-       CHECK_RESULT_TAG check_result; //チェック結果
-       size_t header_offset = 0;
-       size_t header_offset_len = 0;
-       size_t count_length_header_value = 0;
-       size_t content_len_value = 0;
-       std::string str_value;
-       const std::string http_header = "";
-       const std::string content_header = "Content-Length";
-       boost::regex reg("Content-Length: +(\\d+)\r\n");
-       boost::smatch what;
-       session_thread_data_sessionless* session_data = NULL;
-
-       char* buffer1 = NULL;
-       char* buffer2 = NULL;
-       //      size_t count = 0;
-
-       //パラメータチェック
-       if (recvlen > recvbuffer.size())
-       {
-               putLogError(17000, "Data size bigger than buffer size.", __FILE__,
-               __LINE__ );
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       boost::format formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_client_recv( const boost::thread::id thread_id,"
-                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                       "const size_t recvlen ): return_value=%d");
-                       formatter % FINALIZE;
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-               return FINALIZE;
-       }
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_client_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_client_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-                               return FINALIZE;
-                       }
-               }
-
-               //終了フラグがONの場合
-               if (session_data->end_flag == END_FLAG_ON)
-               {
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_client_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % CLIENT_RECV;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       return CLIENT_RECV;
-               }
-
-               //終了フラグがOFFの場合
-               if (session_data->recive_data_map.find(session_data->client_endpoint_tcp)
-                       == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_client_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->client_endpoint_tcp];
-
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-
-               it = std::find_if(it, it_end, data_send_ok());
-               if (it != it_end)
-               {
-                       putLogError(17000, "send data is not correct.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_client_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it = std::adjacent_find(it, it_end, data_send_repeated());
-               if (it != it_end)
-               {
-                       putLogError(17000, "send data is not correct.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_client_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it_end = recv_data.send_status_list.end();
-
-               //送信状態リストの要素数分繰り返し
-               for (; it != it_end; ++it)
-               {
-                       //送信状態が送信済の場合
-                       if (it->status == SEND_END)
-                       {
-                               //送信状態リストから削除する
-                               send_end_vec.push_back(it);
-                       }
-                       else if (it->status == SEND_CONTINUE) //送信状態が送信継続の場合
-                       {
-                               //送信データオフセットに送信済サイズを加算する
-                               it->send_offset += it->send_end_size;
-                               //未送信データ開始位置に送信データオフセットを設定する
-                               data_remain_start = it->send_offset;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-                       else
-                       { //送信状態が送信済以外の場合
-                               //未送信データ開始位置に送信データオフセットを設定する
-                               data_remain_start = it->send_offset;
-                               //未送信データサイズに未送信データサイズを設定する
-                               data_remain_size = it->unsend_size;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-               }
-
-               for (send_end_it_vec::iterator it = send_end_vec.begin(); it != send_end_vec.end(); ++it)
-               {
-                       //送信状態リストから削除する
-                       recv_data.send_status_list.erase(*it);
-               }
-
-               //データバッファ残サイズ < リクエストデータサイズ
-               if (recv_data.recive_buffer_rest_size < recvlen)
-               {
-                       //データバッファMAXサイズ < 未送信データサイズ + リクエストデータサイズ
-                       if (recv_data.recive_buffer_max_size < data_remain_size + recvlen)
-                       {
-                               if (recv_data.recive_buffer == NULL)
-                               {
-                                       //データバッファ1をMAX_BUFFER_SIZE分、
-                                       //新規に確保し、初期化する
-                                       recv_data.recive_buffer1 = new char[MAX_BUFFER_SIZE];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &recv_data.recive_buffer1 % (MAX_BUFFER_SIZE);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(recv_data.recive_buffer1, 0, MAX_BUFFER_SIZE);
-                                       //データバッファ2をMAX_BUFFER_SIZE分、
-                                       //新規に確保し、初期化する
-                                       recv_data.recive_buffer2 = new char[MAX_BUFFER_SIZE];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &recv_data.recive_buffer2 % (MAX_BUFFER_SIZE);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(recv_data.recive_buffer2, 0, MAX_BUFFER_SIZE);
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                                       //データバッファMAXサイズにMAX_BUFFER_SIZEを設定する
-                                       recv_data.recive_buffer_max_size = MAX_BUFFER_SIZE;
-                               }
-                               else
-                               {
-                                       //データバッファ1を「未送信データサイズ + リクエストデータサイズ」分、
-                                       //新規に確保し、初期化する
-                                       buffer1 = new char[data_remain_size + recvlen];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &buffer1 % (data_remain_size + recvlen);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(buffer1, 0, data_remain_size + recvlen);
-                                       //データバッファ2を「未送信データサイズ + リクエストデータサイズ」分、
-                                       //新規に確保し、初期化する
-                                       buffer2 = new char[data_remain_size + recvlen];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &buffer2 % (data_remain_size + recvlen);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(buffer2, 0, data_remain_size + recvlen);
-
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < data_remain_size + recvlen; ++i)
-                                               {
-                                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_client_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % buffer1 % (data_remain_size + recvlen) % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ1に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ1にリクエストデータをサイズ分追加設定する
-                                       memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < data_remain_size + recvlen; ++i)
-                                               {
-                                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_client_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % buffer2 % (data_remain_size + recvlen) % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //旧データバッファ1、旧データバッファ2を解放する
-                                       if (recv_data.recive_buffer1 != NULL)
-                                       {
-                                               /*-------- DEBUG LOG --------*/
-                                               if (LOG_LV_DEBUG == getloglevel())
-                                               {
-                                                       boost::format formatter("delete: address=&(%d)");
-                                                       formatter % recv_data.recive_buffer1;
-                                                       putLogDebug(10005, formatter.str(), __FILE__,
-                                                       __LINE__ );
-                                               }
-                                               /*------DEBUG LOG END------*/
-                                               delete[] recv_data.recive_buffer1;
-                                               recv_data.recive_buffer1 = NULL;
-                                       }
-
-                                       if (recv_data.recive_buffer2 != NULL)
-                                       {
-                                               /*-------- DEBUG LOG --------*/
-                                               if (LOG_LV_DEBUG == getloglevel())
-                                               {
-                                                       boost::format formatter("delete: address=&(%d)");
-                                                       formatter % recv_data.recive_buffer2;
-                                                       putLogDebug(10005, formatter.str(), __FILE__,
-                                                       __LINE__ );
-                                               }
-                                               /*------DEBUG LOG END------*/
-                                               delete[] recv_data.recive_buffer2;
-                                               recv_data.recive_buffer2 = NULL;
-                                       }
-
-                                       //使用中データバッファにデータバッファ1を設定する
-                                       recv_data.recive_buffer1 = buffer1;
-                                       recv_data.recive_buffer2 = buffer2;
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                                       //データバッファMAXサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                                       recv_data.recive_buffer_max_size = data_remain_size + recvlen;
-                               }
-                       }
-                       //データバッファMAXサイズ ≧ 未送信データサイズ + リクエストデータサイズ
-                       else
-                       {
-                               if (recv_data.recive_buffer1 == NULL || recv_data.recive_buffer2 == NULL)
-                               {
-                                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter(
-                                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_client_recv( const boost::thread::id thread_id,"
-                                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                               "const size_t recvlen ): return_value=%d");
-                                               formatter % FINALIZE;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       return FINALIZE;
-                               }
-                               //使用中データバッファがデータバッファ1の場合
-                               if (recv_data.recive_buffer == recv_data.recive_buffer1)
-                               {
-                                       //データバッファ2を初期化する
-                                       memset(recv_data.recive_buffer2, 0, recv_data.recive_buffer_max_size);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_client_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer2 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ2に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(recv_data.recive_buffer2, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ2にリクエストデータをサイズ分追加設定する
-                                       memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_client_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer2 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //使用中データバッファにデータバッファ2を設定する
-                                       recv_data.recive_buffer = recv_data.recive_buffer2;
-                               }
-                               //使用中データバッファがデータバッファ2の場合
-                               else
-                               {
-                                       //データバッファ1を初期化する
-                                       memset(recv_data.recive_buffer1, 0, recv_data.recive_buffer_max_size);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_client_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ1に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(recv_data.recive_buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ1にリクエストデータをサイズ分追加設定する
-                                       memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_client_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //使用中データバッファにデータバッファ1を設定する
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                               }
-                       }
-
-                       //データバッファ残サイズに
-                       //「データバッファMAXサイズ - 未送信データサイズ - リクエストデータサイズ」を設定する
-                       recv_data.recive_buffer_rest_size = recv_data.recive_buffer_max_size - data_remain_size - recvlen;
-
-                       //未送信データサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                       data_remain_size += recvlen;
-
-                       send_status_it it_begin = recv_data.send_status_list.begin();
-                       send_status_it it_end = recv_data.send_status_list.end();
-
-                       for (; it_begin != it_end; ++it_begin)
-                       {
-                               //送信データオフセットから未送信データ開始位置を減算
-                               it->send_offset -= data_remain_start;
-                       }
-               }
-               //データバッファ残サイズ ≧ リクエストデータサイズ
-               else
-               {
-                       if (recv_data.recive_buffer == NULL)
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_client_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-                               return FINALIZE;
-                       }
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter("%02x");
-                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                               {
-                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                               }
-
-                               std::string datadump = formatter.str();
-                               formatter.parse("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_client_recv( ): before memcpy (data dump):  "
-                                       "data begin(%d), data_size=%d,data=%s.");
-                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-
-                       //使用中データバッファにリクエストデータをサイズ分追加設定する
-                       memcpy(recv_data.recive_buffer + recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size,
-                               recvbuffer.data(), recvlen);
-                       //データバッファ残サイズからリクエストデータサイズを減算する
-                       recv_data.recive_buffer_rest_size -= recvlen;
-                       //未送信データサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                       data_remain_size += recvlen;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it_end = recv_data.send_status_list.end();
-
-               //リクエストデータ残サイズにリクエストデータサイズを設定する
-               request_data_remain_size = recvlen;
-
-               for (; it != it_end; ++it)
-               {
-                       //送信状態が送信継続の場合
-                       if (it->status == SEND_CONTINUE)
-                       {
-                               //送信データ残サイズ > リクエストデータ残サイズ
-                               if (it->send_rest_size > request_data_remain_size)
-                               {
-                                       //送信可能データサイズにリクエストデータ残サイズを設定する
-                                       it->send_possible_size = request_data_remain_size;
-                                       //送信データ残サイズからリクエストデータ残サイズを減算する
-                                       it->send_rest_size -= request_data_remain_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                               }
-                               //送信データ残サイズ ≦ リクエストデータ残サイズ
-                               else
-                               {
-                                       //送信可能データサイズに送信データ残サイズを設定する
-                                       it->send_possible_size = it->send_rest_size;
-                                       //リクエストデータ残サイズから送信データ残サイズを減算する
-                                       request_data_remain_size -= it->send_rest_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //送信データ残サイズに0を設定する
-                                       it->send_rest_size = 0;
-                               }
-                               //編集区分に編集なしを設定する
-                               it->edit_division = EDIT_DIVISION_NO_EDIT;
-                               //送信状態に送信待を設定する
-                               it->status = SEND_OK;
-                       }
-                       //送信状態が送信不可の場合
-                       else if (it->status == SEND_NG)
-                       {
-                               //HTTPメソッドの妥当性をチェックする
-                               check_result = check_http_method(recv_data.recive_buffer + it->send_offset, data_remain_size);
-                               //チェック結果が正常の場合
-                               if (check_result == CHECK_OK)
-                               {
-                                       //HTTPバージョンの妥当性をチェックする
-                                       check_result = check_http_version(recv_data.recive_buffer + it->send_offset, data_remain_size);
-                               }
-                               //チェック結果が正常の場合
-                               if (check_result == CHECK_OK)
-                               {
-                                       //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                                       bret = find_http_header(recv_data.recive_buffer + it->send_offset, data_remain_size, http_header,
-                                               header_offset, header_offset_len);
-                                       //検索結果が該当ありの場合
-                                       if (bret)
-                                       {
-                                               //HTTPヘッダ(ContentLength)を検索する
-                                               bret = find_http_header(recv_data.recive_buffer + it->send_offset, data_remain_size,
-                                                       content_header, header_offset, count_length_header_value);
-                                               //検索結果が該当ありの場合
-                                               if (bret)
-                                               {
-                                                       str_value.assign(recv_data.recive_buffer + it->send_offset + header_offset,
-                                                               count_length_header_value);
-                                                       boost::regex_match(str_value, what, reg);
-                                                       str_value.assign(what[1].first, what[1].second);
-                                                       content_len_value = boost::lexical_cast<size_t>(str_value.c_str());
-                                                       //送信データ残サイズに
-                                                       //「HTTPヘッダサイズ + ContentLength」を設定する
-                                                       it->send_rest_size = header_offset_len + content_len_value;
-                                               }
-                                               //検索結果が該当なしの場合
-                                               else
-                                               {
-                                                       //送信データ残サイズに未送信データサイズ + リクエストデータ残サイズを設定する
-                                                       it->send_rest_size = it->unsend_size + request_data_remain_size;
-                                               }
-                                               //編集区分に編集ありを設定する
-                                               it->edit_division = EDIT_DIVISION_EDIT;
-                                       }
-                                       //検索結果が該当なしの場合
-                                       else
-                                       {
-                                               //未送信データサイズにリクエストデータ残サイズを加算する
-                                               it->unsend_size += request_data_remain_size;
-                                               //リクエストデータ残サイズに0を設定する
-                                               request_data_remain_size = 0;
-                                               //繰り返し処理を終了する
-                                               break;
-                                       }
-                               }
-                               //チェック結果が異常の場合
-                               else if (check_result == CHECK_NG)
-                               {
-                                       //編集区分に編集なしを設定する
-                                       it->edit_division = EDIT_DIVISION_NO_EDIT;
-                                       //送信データ残サイズに未送信データサイズ +リクエストデータ残サイズを設定する
-                                       it->send_rest_size = it->unsend_size + request_data_remain_size;
-                               }
-                               //チェック結果が判定不能の場合
-                               //check_result == CHECK_INPOSSIBLE
-                               else
-                               {
-                                       //未送信データサイズにリクエストデータ残サイズを加算する
-                                       it->unsend_size += request_data_remain_size;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-
-                               //送信データ残サイズ > 未送信データサイズ+リクエストデータ残サイズ
-                               if (it->send_rest_size > it->unsend_size + request_data_remain_size)
-                               {
-                                       //送信可能データサイズに未送信データサイズ+リクエストデータ残サイズを設定する
-                                       it->send_possible_size = it->unsend_size + request_data_remain_size;
-                                       //送信データ残サイズから未送信データサイズ + リクエストデータ残サイズを減算する
-                                       it->send_rest_size -= (it->unsend_size + request_data_remain_size);
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //未送信データサイズに0を設定する
-                                       it->unsend_size = 0;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                               }
-                               //送信データ残サイズ ≦ 未送信データサイズ + リクエストデータ残サイズ
-                               else
-                               {
-                                       //送信可能データサイズに送信データ残サイズを設定する
-                                       it->send_possible_size = it->send_rest_size;
-                                       //リクエストデータ残サイズに
-                                       //「未送信データサイズ+リクエストデータ残サイズ-送信データ残サイズ」を設定する
-                                       request_data_remain_size = it->unsend_size + request_data_remain_size - it->send_rest_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //未送信データサイズに0を設定する
-                                       it->unsend_size = 0;
-                                       //送信データ残サイズに0を設定する
-                                       it->send_rest_size = 0;
-                               }
-
-                               //送信状態に送信待を設定する
-                               it->status = SEND_OK;
-                       }
-                       //リクエストデータ残サイズ ≦ 0
-                       if (request_data_remain_size <= 0)
-                       {
-                               break;
-                       }
-               }
-
-               //リクエストデータ残サイズ > 0
-               while (request_data_remain_size > 0)
-               {
-                       //送信状態を生成する
-                       send_status new_send_state;
-                       //送信状態に送信不可を設定する
-                       new_send_state.status = SEND_NG;
-                       //送信状態リストに送信状態を設定する
-                       recv_data.send_status_list.push_back(new_send_state);
-                       std::list<send_status>::reverse_iterator new_send_it = recv_data.send_status_list.rbegin();
-                       //送信データオフセットを設定する
-                       new_send_it->send_offset = recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size
-                               - request_data_remain_size;
-
-                       //HTTPメソッドの妥当性をチェックする
-                       check_result = check_http_method(recv_data.recive_buffer + new_send_it->send_offset,
-                               request_data_remain_size);
-                       //チェック結果が正常の場合
-                       if (check_result == CHECK_OK)
-                       {
-                               //HTTPバージョンの妥当性をチェックする
-                               check_result = check_http_version(recv_data.recive_buffer + new_send_it->send_offset,
-                                       request_data_remain_size);
-                       }
-                       //チェック結果が正常の場合
-                       if (check_result == CHECK_OK)
-                       {
-                               //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                               bret = find_http_header(recv_data.recive_buffer + new_send_it->send_offset, request_data_remain_size,
-                                       http_header, header_offset, header_offset_len);
-                               //検索結果が該当ありの場合
-                               if (bret)
-                               {
-                                       //HTTPヘッダ(ContentLength)を検索する
-                                       bret = find_http_header(recv_data.recive_buffer + new_send_it->send_offset,
-                                               request_data_remain_size, content_header, header_offset, count_length_header_value);
-
-                                       //検索結果が該当ありの場合
-                                       if (bret)
-                                       {
-                                               str_value.assign(recv_data.recive_buffer + new_send_it->send_offset + header_offset,
-                                                       count_length_header_value);
-                                               boost::regex_match(str_value, what, reg);
-                                               str_value.assign(what[1].first, what[1].second);
-                                               content_len_value = boost::lexical_cast<size_t>(str_value.c_str());
-                                               //送信データ残サイズに
-                                               //「HTTPヘッダサイズ + ContentLength」を設定する
-                                               new_send_it->send_rest_size = header_offset_len + content_len_value;
-                                       }
-                                       //検索結果が該当なしの場合
-                                       else
-                                       {
-                                               //送信データ残サイズにリクエストデータ残サイズを設定する
-                                               new_send_it->send_rest_size = request_data_remain_size;
-                                       }
-                                       //編集区分に編集ありを設定する
-                                       new_send_it->edit_division = EDIT_DIVISION_EDIT;
-                               }
-                               //検索結果が該当なしの場合
-                               else
-                               {
-                                       //未送信データサイズにリクエストデータ残サイズを設定する
-                                       new_send_it->unsend_size = request_data_remain_size;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-                       }
-                       //チェック結果が異常の場合
-                       else if (check_result == CHECK_NG)
-                       {
-                               //編集区分に編集なしを設定する
-                               new_send_it->edit_division = EDIT_DIVISION_NO_EDIT;
-                               //送信データ残サイズにリクエストデータ残サイズを設定する
-                               new_send_it->send_rest_size = request_data_remain_size;
-                       }
-                       //チェック結果が判定不能の場合
-                       //check_result == CHECK_INPOSSIBLE
-                       else
-                       {
-                               //未送信データサイズにリクエストデータ残サイズを設定する
-                               new_send_it->unsend_size = request_data_remain_size;
-                               //リクエストデータ残サイズに0を設定する
-                               request_data_remain_size = 0;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-
-                       //送信データ残サイズ > リクエストデータ残サイズ
-                       if (new_send_it->send_rest_size > request_data_remain_size)
-                       {
-                               //送信可能データサイズにリクエストデータ残サイズを設定する
-                               new_send_it->send_possible_size = request_data_remain_size;
-                               //送信データ残サイズからリクエストデータ残サイズを減算する
-                               new_send_it->send_rest_size -= request_data_remain_size;
-                               //送信済データサイズに0を設定する
-                               new_send_it->send_end_size = 0;
-                               //リクエストデータ残サイズに0を設定する
-                               request_data_remain_size = 0;
-                       }
-                       //送信データ残サイズ ≦ リクエストデータ残サイズ
-                       else
-                       {
-                               //送信可能データサイズに送信データ残サイズを設定する
-                               new_send_it->send_possible_size = new_send_it->send_rest_size;
-                               //リクエストデータ残サイズから送信データ残サイズを減算する
-                               request_data_remain_size -= new_send_it->send_rest_size;
-                               //送信済データサイズに0を設定する
-                               new_send_it->send_end_size = 0;
-                               //送信データ残サイズに0を設定する
-                               new_send_it->send_rest_size = 0;
-                       }
-
-                       //送信状態に送信待を設定する
-                       new_send_it->status = SEND_OK;
-
-               }
-
-               //送信可能データありをチェック
-               send_status_it it_find = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
-                       data_send_possible());
-               //送信可能データあり
-               if (it_find != recv_data.send_status_list.end())
-               {
-                       //sorry状態の場合
-                       if (session_data->sorry_flag == SORRY_FLAG_ON)
-                       {
-                               //遷移先ステータスを設定する
-                               status = SORRYSERVER_CONNECT;
-                       }
-                       //sorry状態以外の場合
-                       else
-                       {
-                               //遷移先ステータスを設定する
-                               status = REALSERVER_CONNECT;
-                       }
-               }
-               //送信可能データなし
-               else
-               {
-                       //遷移先ステータスを設定する
-                       status = CLIENT_RECV;
-               }
-       } catch (const std::bad_alloc&)
-       {
-               std::cerr << "handle_client_recv exception: Could not allocate memory." << std::endl;
-               putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_client_recv exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_recv() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::handle_client_recv() : "
-                       "Unkown exception.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_recv( const boost::thread::id thread_id,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen ): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_realserver_select
- *
- *@param [in] thread_id
- *@param [out] rs_endpoint
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_select(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_select(
         const boost::thread::id thread_id, boost::asio::ip::tcp::endpoint & rs_endpoint)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_select( const boost::thread::id thread_id,"
-                       "boost::asio::ip::tcp::endpoint & rs_endpoint): thread_id=%d, rs_endpoint=%s");
-               formatter % thread_id % rs_endpoint.address().to_string();
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       boost::asio::ip::tcp::endpoint tmp_endpoint;
-       session_thread_data_sessionless* session_data = NULL;
-       session_thread_data_sessionless* session_down_thread_data = NULL;
-
-       if (schedule_tcp.empty())
-       {
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       boost::format formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_realserver_select( const boost::thread::id thread_id,"
-                                       "boost::asio::ip::tcp::endpoint & rs_endpoint)"
-                                       ": return_value=%d");
-                       formatter % FINALIZE;
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-               return FINALIZE;
-       }
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               //schedule_moduleにて振り分け先realserverを決定する
-               schedule_tcp(thread_id, rs_list_begin, rs_list_end, rs_list_next, rs_endpoint);
-
-               //endpoint = 決定
-               if (rs_endpoint != tmp_endpoint)
-               {
-                       recive_data recv_data;
-                       recv_data.recive_buffer = NULL;
-                       recv_data.recive_buffer1 = NULL;
-                       recv_data.recive_buffer2 = NULL;
-                       recv_data.recive_buffer_max_size = 0;
-                       recv_data.recive_buffer_rest_size = 0;
-                       std::map<boost::asio::ip::tcp::endpoint, recive_data> recive_map;
-                       recive_map[rs_endpoint] = recv_data;
-
-                       //endpointを設定し、realserver受信バッファを確保する
-                       //thread_id's memory is not allocated
-                       if (session_thread_data_map.find(session_data->pair_thread_id) == session_thread_data_map.end())
-                       {
-                               session_down_thread_data = new session_thread_data_sessionless;
-                               session_down_thread_data->thread_id = session_data->pair_thread_id;
-                               session_down_thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
-                               session_down_thread_data->pair_thread_id = thread_id;
-                               session_down_thread_data->accept_end_flag = ACCEPT_END_FLAG_OFF;
-                               session_down_thread_data->end_flag = END_FLAG_OFF;
-                               session_down_thread_data->sorry_flag = SORRY_FLAG_OFF;
-                               session_down_thread_data->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-                               session_down_thread_data->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-                               session_down_thread_data->recive_data_map = recive_map;
-
-                               session_thread_data_map[session_data->pair_thread_id] = session_down_thread_data;
-                       }
-                       else
-                       {
-                               session_down_thread_data = session_thread_data_map[session_data->pair_thread_id];
-                               if (session_down_thread_data == NULL)
-                               {
-                                       session_down_thread_data = new session_thread_data_sessionless;
-                                       session_down_thread_data->thread_id = session_data->pair_thread_id;
-                                       session_down_thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
-                                       session_down_thread_data->pair_thread_id = thread_id;
-                                       session_down_thread_data->accept_end_flag = ACCEPT_END_FLAG_OFF;
-                                       session_down_thread_data->end_flag = END_FLAG_OFF;
-                                       session_down_thread_data->sorry_flag = SORRY_FLAG_OFF;
-                                       session_down_thread_data->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-                                       session_down_thread_data->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-                                       session_down_thread_data->recive_data_map = recive_map;
-                               }
-                               else
-                               {
-                                       //thread_id's memory is allocated, check endpoint's memory
-                                       session_down_thread_data->thread_id = session_data->pair_thread_id;
-                                       session_down_thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
-                                       session_down_thread_data->pair_thread_id = thread_id;
-                                       session_down_thread_data->accept_end_flag = ACCEPT_END_FLAG_OFF;
-                                       session_down_thread_data->end_flag = END_FLAG_OFF;
-                                       session_down_thread_data->sorry_flag = SORRY_FLAG_OFF;
-                                       session_down_thread_data->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-                                       session_down_thread_data->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-
-                                       if (session_down_thread_data->recive_data_map.find(rs_endpoint)
-                                               != session_down_thread_data->recive_data_map.end())
-                                       {
-                                               //
-                                               recive_data & recv_data = session_down_thread_data->recive_data_map[rs_endpoint];
-                                               delete[] recv_data.recive_buffer1;
-                                               delete[] recv_data.recive_buffer2;
-                                               recv_data.recive_buffer1 = NULL;
-                                               recv_data.recive_buffer2 = NULL;
-                                               recv_data.recive_buffer = NULL;
-                                               recv_data.recive_buffer_max_size = 0;
-                                               recv_data.recive_buffer_rest_size = 0;
-                                               recv_data.send_status_list.clear();
-                                       }
-                                       else
-                                       {
-                                               session_down_thread_data->recive_data_map[rs_endpoint] = recv_data;
-                                       }
-                               }
-                       }
-
-                       //遷移先ステータスを設定する
-                       status = CLIENT_RECV;
-
-               }
-               else
-               {
-                       //終了フラグをONにする
-                       session_data->end_flag = END_FLAG_ON;
-                       status = CLIENT_DISCONNECT;
-               }
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_realserver_select exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_select() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::handle_realserver_select() : "
-                       "Unkown exception.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_select( const boost::thread::id thread_id,"
-                       "boost::asio::ip::tcp::endpoint & rs_endpoint)"
-                       ": return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_realserver_select
- *
- *@param [in] thread_id
- *@param [in] sendbuffer
- *@param [out] datalen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_select(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_select(
         const boost::thread::id thread_id, boost::asio::ip::udp::endpoint& rs_endpoint, boost::array<char,
                 MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in/out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_select( const boost::thread::id thread_id,"
-                       "boost::asio::ip::udp::endpoint& rs_endpoint,"
-                       "size_t& datalen): "
-                       "return_value=%d.");
-               formatter % STOP;
-               putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return STOP;
 }
-/*!
- *handle_realserver_connect
- *
- *@param [in] thread_id
- *@param [in] sendbuffer
- *@param [out] datalen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_connect(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_connect(
         const boost::thread::id thread_id, boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_connect( const boost::thread::id up_thread_id, "
-                       "boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen ): "
-                       "thread_id=%d, sendbuffer=%d datalen=%d");
-               formatter % thread_id % sendbuffer.data() % datalen;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       EVENT_TAG status;
-
-       bool ret = false;
-       size_t header_offset = 0;
-       size_t header_offset_len = 0;
-       const std::string http_header = "";
-       const std::string str_forword_for = "X-Forwarded-For";
-       size_t send_buffer_remian_size = 0;
-       const int send_buffer_end_size = sendbuffer.max_size();
-       session_thread_data_sessionless* session_data = NULL;
-       size_t copy_size = 0;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               //
-               if (session_data->recive_data_map.find(session_data->target_endpoint) == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->target_endpoint];
-
-               if (recv_data.recive_buffer == NULL)
-               {
-                       putLogError(17000, "Invalid recive_buffer.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //送信可能データありをチェック
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-               it = find_if(it, it_end, data_send_possible());
-               if (it == it_end)
-               {
-                       putLogError(17000, "sending possible data is not existed .", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //送信バッファ残サイズに送信バッファサイズを設定する
-               send_buffer_remian_size = send_buffer_end_size;
-
-               //編集区分 = 編集あり
-               if (it->edit_division == EDIT_DIVISION_EDIT)
-               {
-                       //編集データリストが空の場合
-                       if (it->edit_data_list.empty())
-                       {
-                               //編集データ情報を生成する
-                               edit_data edata;
-                               //送信可能データからHTTPヘッダ(X-Forwarded-For)を検索する
-                               ret = find_http_header(recv_data.recive_buffer + it->send_offset, it->send_possible_size,
-                                       str_forword_for, header_offset, header_offset_len);
-                               //検索結果 = 該当あり
-                               if (ret)
-                               {
-                                       //編集データ情報の編集データにX-Forwarded-Forを編集して設定する
-                                       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();
-                                       //編集データ情報の編集データ設定位置にX-Forwarded-Forの開始位置を設定する
-                                       edata.insert_posission = header_offset;
-                                       //編集データ情報の編集データサイズに編集後のX-Forwarded-Forのサイズを設定する
-                                       edata.data_size = edata.data.size();
-                                       //編集データ情報の上書きサイズに編集前のX-Forwarded-Forのサイズを設定する
-                                       edata.replace_size = header_offset_len;
-                               }
-                               //検索結果 = 該当なし
-                               else
-                               {
-                                       //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                                       find_http_header(recv_data.recive_buffer + it->send_offset, it->send_possible_size, "",
-                                               header_offset, header_offset_len);
-                                       //編集データ情報の編集データにX-Forwarded-Forを編集して設定する
-                                       edata.data = str_forword_for;
-                                       edata.data += ": ";
-                                       edata.data += session_data->client_endpoint_tcp.address().to_string();
-                                       edata.data += "\r\n";
-                                       //編集データ情報の編集データ設定位置にHTTPヘッダの開始位置を設定する
-                                       edata.insert_posission = header_offset;
-                                       //編集データ情報の編集データサイズに編集後のX-Forwarded-Forのサイズを設定する
-                                       edata.data_size = edata.data.size();
-                                       //編集データ情報の上書きサイズに0を設定する
-                                       edata.replace_size = 0;
-                               }
-
-                               //編集データリストに編集データ情報を設定する
-                               it->edit_data_list.push_back(edata);
-                       }
-
-                       //
-                       while (true)
-                       {
-                               //編集データリストが空の場合
-                               if (it->edit_data_list.empty())
-                               {
-                                       //編集区分に編集なしを設定する
-                                       it->edit_division = EDIT_DIVISION_NO_EDIT;
-                                       //送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-                                       if (send_buffer_remian_size > 0 && it->send_possible_size > 0)
-                                       {
-                                               //送信バッファ残サイズ ≧ 送信可能データサイズ
-                                               if (send_buffer_remian_size > it->send_possible_size)
-                                               {
-                                                       //送信可能データを送信データオフセット+送信済サイズの位置から
-                                                       //送信可能データサイズ分、送信バッファにコピーする
-                                                       copy_size = it->send_possible_size;
-                                                       memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                               recv_data.recive_buffer + it->send_offset + it->send_end_size,
-                                                               it->send_possible_size);
-                                                       //送信済サイズにコピーしたサイズを加算する
-                                                       it->send_end_size += copy_size;
-                                                       //送信可能データサイズからコピーしたサイズを減算する
-                                                       it->send_possible_size = 0;
-                                                       //送信バッファ残サイズからコピーしたサイズを減算する
-                                                       send_buffer_remian_size -= copy_size;
-                                               }
-                                               //送信バッファ残サイズ < 送信可能データサイズ
-                                               else
-                                               {
-                                                       //送信可能データを送信データオフセット+送信済サイズの位置から
-                                                       //送信バッファ残サイズ分、送信バッファにコピーする
-                                                       copy_size = send_buffer_remian_size;
-                                                       memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                               recv_data.recive_buffer + it->send_offset + it->send_end_size, copy_size);
-                                                       //送信済サイズにコピーしたサイズを加算する
-                                                       it->send_end_size += copy_size;
-                                                       //送信可能データサイズからコピーしたサイズを減算する
-                                                       it->send_possible_size -= copy_size;
-                                                       //送信バッファ残サイズからコピーしたサイズを減算する
-                                                       send_buffer_remian_size = 0;
-                                               }
-                                       }
-                                       break;
-                               }
-                               //編集データリストが空でない場合
-                               else
-                               {
-                                       //編集データリストから最小の編集データ設定位置を持つ要素を検索する
-                                       std::list<edit_data>::iterator edit_min = std::min_element(it->edit_data_list.begin(),
-                                               it->edit_data_list.end());
-                                       //送信バッファ残サイズ ≧ 編集データ設定位置 - 送信済サイズ
-                                       if (send_buffer_remian_size >= edit_min->insert_posission - it->send_end_size)
-                                       {
-                                               //送信可能データを送信データオフセット+送信済サイズの位置から
-                                               //編集データ設定位置-送信済サイズ分、送信バッファにコピーする
-                                               copy_size = edit_min->insert_posission - it->send_end_size;
-                                               memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                       recv_data.recive_buffer + it->send_offset + it->send_end_size, copy_size);
-                                               //送信済サイズにコピーしたサイズを加算する
-                                               it->send_end_size += copy_size;
-                                               //送信可能データサイズからコピーしたサイズを減算する
-                                               it->send_possible_size -= copy_size;
-                                               //送信バッファ残サイズからコピーしたサイズを減算する
-                                               send_buffer_remian_size -= copy_size;
-
-                                               //送信バッファ残サイズ ≧ 編集データサイズ
-                                               if (send_buffer_remian_size >= edit_min->data_size)
-                                               {
-                                                       //編集データを編集データサイズ分、送信バッファにコピーする
-                                                       memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                               edit_min->data.c_str(), edit_min->data_size);
-                                                       //送信済サイズに上書きサイズを加算する
-                                                       it->send_end_size += edit_min->replace_size;
-                                                       //送信可能データサイズから上書きサイズを減算する
-                                                       it->send_possible_size -= edit_min->replace_size;
-                                                       //送信バッファ残サイズから編集データサイズを減算する
-                                                       send_buffer_remian_size -= edit_min->data_size;
-                                                       //編集データリストから該当要素を削除する
-                                                       it->edit_data_list.erase(edit_min);
-                                               }
-                                               //送信バッファ残サイズ < 編集データサイズ
-                                               else
-                                               {
-                                                       break;
-                                               }
-                                       }
-                                       //送信バッファ残サイズ < 編集データ設定位置 - 送信済サイズ
-                                       else
-                                       {
-                                               //送信可能データを送信データオフセット+送信済サイズの位置から
-                                               //送信バッファ残サイズ分、送信バッファにコピーする
-                                               copy_size = send_buffer_remian_size;
-                                               memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                       recv_data.recive_buffer + it->send_offset + it->send_end_size, copy_size);
-
-                                               //送信済サイズにコピーしたサイズを加算する
-                                               it->send_end_size += copy_size;
-                                               //送信可能データサイズからコピーしたサイズを減算する
-                                               it->send_possible_size -= copy_size;
-                                               //送信バッファ残サイズからコピーしたサイズを減算する
-                                               send_buffer_remian_size -= copy_size;
-                                               //繰り返し処理を終了する
-                                               break;
-                                       }
-                               }
-                       }
-               }
-               //編集区分 = 編集なし
-               else
-               {
-                       //送信バッファサイズ ≧ 送信可能データサイズ
-                       if (send_buffer_remian_size >= it->send_possible_size)
-                       {
-                               copy_size = it->send_possible_size;
-                               //送信可能データを先頭から送信可能データサイズ分、送信バッファにコピーする
-                               memcpy(sendbuffer.data(), recv_data.recive_buffer + it->send_offset, copy_size);
-                               //送信済データサイズに送信可能データサイズを設定する
-                               it->send_end_size = copy_size;
-                               //送信可能データサイズに0を設定する
-                               it->send_possible_size = 0;
-                               //
-                               send_buffer_remian_size -= copy_size;
-                       }
-                       //送信バッファサイズ < 送信可能データサイズ
-                       else
-                       {
-                               //送信可能データを先頭から送信バッファサイズ分、送信バッファにコピーする
-                               memcpy(sendbuffer.data(), recv_data.recive_buffer + it->send_offset, send_buffer_remian_size);
-                               //送信済データサイズに送信バッファサイズを設定する
-                               it->send_end_size = send_buffer_remian_size;
-                               //送信可能データサイズから送信バッファサイズを減算する
-                               it->send_possible_size -= send_buffer_remian_size;
-                               //
-                               send_buffer_remian_size = 0;
-                       }
-               }
-
-               datalen = send_buffer_end_size - send_buffer_remian_size;
-               status = REALSERVER_SEND;
-
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_realserver_connect exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_connect() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_connect() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::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");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
        return status;
 }
 
-/*!
- *handle_realserver_connection_fail
- *
- *@param [in] thread_id
- *@param [in] rs_endpoint
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_connection_fail(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_connection_fail(
         const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & rs_endpoint)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_connection_fail( const boost::thread::id thread_id, "
-                       "const boost::asio::ip::tcp::endpoint & rs_endpoint): "
-                       "thread_id=%d, rs_endpoint=%s ");
-               formatter % thread_id % rs_endpoint.address().to_string();
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       EVENT_TAG status;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-               if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-               {
-                       putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               session_data = session_thread_data_map[thread_id];
-               if (session_data == NULL)
-               {
-                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //終了フラグをON
-               session_data->end_flag = END_FLAG_ON;
-               //遷移先ステータスを設定する
-               status = CLIENT_DISCONNECT;
-       } catch (std::exception& ex)
-       {
-               std::cerr << "handle_realserver_connection_fail exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_connection_fail() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_connection_fail() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_connection_fail( const boost::thread::id thread_id,"
-                       "const boost::asio::ip::tcp::endpoint & rs_endpoint ): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return status;
 }
-/*!
- *handle_realserver_send
- *
- *@param [in] thread_id
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_send(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_send(
         const boost::thread::id thread_id)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_send( const boost::thread::id thread_id): "
-                       "thread_id=%d ");
-               formatter % thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               if (session_data->recive_data_map.find(session_data->client_endpoint_tcp)
-                       == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->client_endpoint_tcp];
-
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-
-               it = find_if(it, it_end, data_send_ok());
-               if (it == it_end)
-               {
-                       putLogError(17000, "sending possible data is not existed.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //送信可能データサイズ > 0
-               if (it->send_possible_size > 0)
-               {
-                       //送信状態に送信待を設定する
-                       it->status = SEND_OK;
-                       //送信データオフセットに送信済データサイズを加算する
-                       it->send_offset += it->send_end_size;
-
-                       //編集データリスト要素数分
-                       for (std::list<edit_data>::iterator list_it = it->edit_data_list.begin(); list_it
-                               != it->edit_data_list.end(); ++list_it)
-                       {
-                               //編集データ設定位置から送信済データサイズを減算する。
-                               list_it->insert_posission -= it->send_end_size;
-                       }
-
-                       //送信済データサイズに0を設定する
-                       it->send_end_size = 0;
-               }
-               //送信可能データサイズ ≦ 0
-               else
-               {
-                       //送信データ残サイズ > 0
-                       if (it->send_rest_size > 0)
-                       {
-                               //送信状態に送信継続を設定する
-                               it->status = SEND_CONTINUE;
-                       }
-                       //送信データ残サイズ ≦ 0
-                       else
-                       {
-                               //送信状態に送信済を設定する
-                               it->status = SEND_END;
-                       }
-               }
-
-               it = recv_data.send_status_list.begin();
-               it_end = recv_data.send_status_list.end();
-
-               it = find_if(it, it_end, data_send_possible());
-               if (it != it_end)
-               {
-                       //送信可能データあり
-                       //遷移先ステータスを設定する
-                       status = REALSERVER_CONNECT;
-               }
-               else
-               {
-                       //送信可能データなし
-                       //遷移先ステータスを設定する
-                       status = CLIENT_RECV;
-               }
-
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_realserver_send exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_send() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_send() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_send( const boost::thread::id thread_id): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
        return status;
 }
 
-/*!
- *handle_sorryserver_select
- *
- *@param [in] thread_id
- *@param [in]sorry_endpoint
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorryserver_select(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorryserver_select(
         const boost::thread::id thread_id, boost::asio::ip::tcp::endpoint & sorry_endpoint)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_select( const boost::thread::id thread_id, "
-                       "boost::asio::ip::tcp::endpoint & sorry_endpoint): "
-                       "thread_id=%d, sorry_endpoint=%s ");
-               formatter % thread_id % sorry_endpoint.address().to_string();
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       boost::asio::ip::tcp::endpoint client_endpoint;
-
-       session_thread_data_sessionless* session_data = NULL;
-       session_thread_data_sessionless* session_down_thread_data = NULL;
-
-       try
-       {
-               boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-               if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-               {
-                       putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               session_data = session_thread_data_map[thread_id];
-               if (session_data == NULL)
-               {
-                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data recv_data;
-               recv_data.recive_buffer = NULL;
-               recv_data.recive_buffer1 = NULL;
-               recv_data.recive_buffer2 = NULL;
-               recv_data.recive_buffer_max_size = 0;
-               recv_data.recive_buffer_rest_size = 0;
-               std::map<boost::asio::ip::tcp::endpoint, recive_data> recive_map;
-               recive_map[sorry_endpoint] = recv_data;
-               //下りスレッドにsorryserver受信バッファを確保する
-               if (session_thread_data_map.find(session_data->pair_thread_id) == session_thread_data_map.end())
-               {
-                       session_down_thread_data = new session_thread_data_sessionless;
-                       session_down_thread_data->thread_id = session_data->pair_thread_id;
-                       session_down_thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
-                       session_down_thread_data->pair_thread_id = thread_id;
-                       session_down_thread_data->accept_end_flag = ACCEPT_END_FLAG_OFF;
-                       session_down_thread_data->end_flag = END_FLAG_OFF;
-                       session_down_thread_data->sorry_flag = SORRY_FLAG_OFF;
-                       session_down_thread_data->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-                       session_down_thread_data->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-                       session_down_thread_data->recive_data_map = recive_map;
-
-                       session_thread_data_map[session_data->pair_thread_id] = session_down_thread_data;
-               }
-               else
-               {
-                       session_down_thread_data = session_thread_data_map[session_data->pair_thread_id];
-                       if (session_down_thread_data == NULL)
-                       {
-                               session_down_thread_data = new session_thread_data_sessionless;
-                               session_down_thread_data->thread_id = session_data->pair_thread_id;
-                               session_down_thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
-                               session_down_thread_data->pair_thread_id = thread_id;
-                               session_down_thread_data->accept_end_flag = ACCEPT_END_FLAG_OFF;
-                               session_down_thread_data->end_flag = END_FLAG_OFF;
-                               session_down_thread_data->sorry_flag = SORRY_FLAG_OFF;
-                               session_down_thread_data->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-                               session_down_thread_data->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-                               session_down_thread_data->recive_data_map = recive_map;
-                       }
-                       else
-                       {
-                               //thread_id's memory is allocated, check endpoint's memory
-                               session_down_thread_data->thread_id = session_data->pair_thread_id;
-                               session_down_thread_data->thread_division = THREAD_DIVISION_DOWN_STREAM;
-                               session_down_thread_data->pair_thread_id = thread_id;
-                               session_down_thread_data->accept_end_flag = ACCEPT_END_FLAG_OFF;
-                               session_down_thread_data->end_flag = END_FLAG_OFF;
-                               session_down_thread_data->sorry_flag = SORRY_FLAG_OFF;
-                               session_down_thread_data->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_OFF;
-                               session_down_thread_data->realserver_switch_flag = REALSERVER_SWITCH_FLAG_OFF;
-
-                               if (session_down_thread_data->recive_data_map.find(sorry_endpoint)
-                                       != session_down_thread_data->recive_data_map.end())
-                               {
-                                       //
-                                       recive_data & recv_data = session_down_thread_data->recive_data_map[sorry_endpoint];
-                                       delete[] recv_data.recive_buffer1;
-                                       delete[] recv_data.recive_buffer2;
-                                       recv_data.recive_buffer1 = NULL;
-                                       recv_data.recive_buffer2 = NULL;
-                                       recv_data.recive_buffer = NULL;
-                                       recv_data.recive_buffer_max_size = 0;
-                                       recv_data.recive_buffer_rest_size = 0;
-                                       recv_data.send_status_list.clear();
-                               }
-                               else
-                               {
-                                       session_down_thread_data->recive_data_map[sorry_endpoint] = recv_data;
-                               }
-                       }
-               }
-
-               //送信先endpointにendpointを設定する
-               session_data->target_endpoint = sorry_endpoint;
-               //遷移先ステータスを設定する
-               status = SORRYSERVER_CONNECT;
-       } catch (const std::bad_alloc& ex)
-       {
-               std::cerr << "handle_client_recv exception: Could not allocate memory." << std::endl;
-               putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
-               status = FINALIZE;
-               status = FINALIZE;
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_sorryserver_select exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_select() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_select() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format
-                       formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_sorryserver_select( const boost::thread::id thread_id, boost::asio::ip::tcp::endpoint & sorry_endpoint): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return status;
 }
 
-/*!
- *handle_sorryserver_connect
- *
- *@param [in] thread_id
- *@param [out]sendbuffer
- *@param [out]datalen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorryserver_connect(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorryserver_connect(
         const boost::thread::id thread_id, boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_connect( const boost::thread::id thread_id, "
-                       "boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen): "
-                       "thread_id=%d, sendbuffer=%d, datalen=%d");
-               formatter % thread_id % sendbuffer.data() % datalen;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-
-       bool ret = false;
-       size_t url_offset = 0;
-       size_t url_offset_len = 0;
-       size_t header_offset = 0;
-       size_t header_offset_len = 0;
-
-       const std::string http_header = "";
-       const std::string str_forword_for = "X-Forwarded-For";
-       size_t send_buffer_remian_size = 0;
-       const int send_buffer_end_size = sendbuffer.max_size();
-       size_t copy_size = 0;
-
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               //
-               if (session_data->recive_data_map.find(session_data->client_endpoint_tcp)
-                       == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->client_endpoint_tcp];
-
-               //送信可能データありをチェック
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-               it = find_if(it, it_end, data_send_possible());
-               if (it == it_end)
-               {
-                       putLogError(17000, "sending possible is not existed.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //送信バッファ残サイズに送信バッファサイズを設定する
-               send_buffer_remian_size = send_buffer_end_size;
-
-               //編集区分 = 編集あり
-               if (it->edit_division == EDIT_DIVISION_EDIT)
-               {
-                       //編集データリストが空の場合
-                       if (it->edit_data_list.empty())
-                       {
-                               //編集データ情報を生成する
-                               edit_data edata;
-                               //送信可能データからURIを検索する
-                               ret = find_uri(recv_data.recive_buffer + it->send_offset, it->send_possible_size, url_offset,
-                                       url_offset_len);
-                               if (ret)
-                               {
-                                       //編集データ情報の編集データにsorryURIを設定する
-                                       edata.data = sorry_uri.data();
-                                       //編集データ情報の編集データ設定位置にURIの開始位置を設定する
-                                       edata.insert_posission = url_offset;
-                                       //編集データ情報の編集データサイズにsorryURIのサイズを設定する
-                                       edata.data_size = edata.data.size();
-                                       //編集データ情報の上書きサイズにURIのサイズを設定する
-                                       edata.replace_size = url_offset_len;
-                                       //編集データリストに編集データ情報を設定する
-                                       it->edit_data_list.push_back(edata);
-                               }
-                               //
-                               else
-                               {
-                               }
-                               //送信可能データからHTTPヘッダ(X-Forwarded-For)を検索する
-                               ret = find_http_header(recv_data.recive_buffer + it->send_offset, it->send_possible_size,
-                                       str_forword_for.c_str(), header_offset, header_offset_len);
-
-                               //検索結果 = 該当あり
-                               if (ret)
-                               {
-                                       //編集データ情報の編集データにX-Forwarded-Forを編集して設定する
-                                       edata.data.assign(recv_data.recive_buffer + it->send_offset + header_offset, header_offset_len
-                                               - strlen("\r\n"));
-                                       edata.data += ", ";
-                                       edata.data += session_data->client_endpoint_tcp.address().to_string();
-                                       edata.data += "\r\n";
-                                       //編集データ情報の編集データ設定位置にX-Forwarded-Forの開始位置を設定する
-                                       edata.insert_posission = header_offset;
-                                       //編集データ情報の編集データサイズに編集後のX-Forwarded-Forのサイズを設定する
-                                       edata.data_size = edata.data.size();
-                                       //編集データ情報の上書きサイズに編集前のX-Forwarded-Forのサイズを設定する
-                                       edata.replace_size = header_offset_len;
-                               }
-                               //検索結果 = 該当なし
-                               else
-                               {
-                                       //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                                       find_http_header(recv_data.recive_buffer + it->send_offset, it->send_possible_size, "",
-                                               header_offset, header_offset_len);
-                                       //編集データ情報の編集データにX-Forwarded-Forを編集して設定する
-                                       edata.data = str_forword_for;
-                                       edata.data += ": ";
-                                       edata.data += session_data->client_endpoint_tcp.address().to_string();
-                                       edata.data += "\r\n";
-                                       //編集データ情報の編集データ設定位置にHTTPヘッダの開始位置を設定する
-                                       edata.insert_posission = header_offset;
-                                       //編集データ情報の編集データサイズに編集後のX-Forwarded-Forのサイズを設定する
-                                       edata.data_size = edata.data.size();
-                                       //編集データ情報の上書きサイズに0を設定する
-                                       edata.replace_size = 0;
-                               }
-
-                               //編集データリストに編集データ情報を設定する
-                               it->edit_data_list.push_back(edata);
-                       }
-
-                       //
-                       while (true)
-                       {
-                               //編集データリストが空の場合
-                               if (it->edit_data_list.empty())
-                               {
-                                       //編集区分に編集なしを設定する
-                                       it->edit_division = EDIT_DIVISION_NO_EDIT;
-                                       //送信バッファ残サイズ > 0 かつ 送信可能データサイズ > 0
-                                       if (send_buffer_remian_size > 0 && it->send_possible_size > 0)
-                                       {
-                                               //送信バッファ残サイズ ≧ 送信可能データサイズ
-                                               if (send_buffer_remian_size > it->send_possible_size)
-                                               {
-                                                       //送信可能データを送信データオフセット+送信済サイズの位置から
-                                                       //送信可能データサイズ分、送信バッファにコピーする
-                                                       copy_size = it->send_possible_size;
-                                                       memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                               recv_data.recive_buffer + it->send_offset + it->send_end_size, copy_size);
-                                                       //送信済サイズにコピーしたサイズを加算する
-                                                       it->send_end_size += copy_size;
-                                                       //送信可能データサイズからコピーしたサイズを減算する
-                                                       it->send_possible_size = 0;
-                                                       //送信バッファ残サイズからコピーしたサイズを減算する
-                                                       send_buffer_remian_size -= copy_size;
-                                               }
-                                               //送信バッファ残サイズ < 送信可能データサイズ
-                                               else
-                                               {
-                                                       //送信可能データを送信データオフセット+送信済サイズの位置から
-                                                       //送信バッファ残サイズ分、送信バッファにコピーする
-                                                       memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                               recv_data.recive_buffer + it->send_offset + it->send_end_size,
-                                                               send_buffer_remian_size);
-                                                       //送信済サイズにコピーしたサイズを加算する
-                                                       it->send_end_size += send_buffer_remian_size;
-                                                       //送信可能データサイズからコピーしたサイズを減算する
-                                                       it->send_possible_size -= send_buffer_remian_size;
-                                                       //送信バッファ残サイズからコピーしたサイズを減算する
-                                                       send_buffer_remian_size = 0;
-                                               }
-                                       }
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-                               //編集データリストが空でない場合
-                               else
-                               {
-                                       //編集データリストから最小の編集データ設定位置を持つ要素を検索する
-                                       std::list<edit_data>::iterator edit_min = std::min_element(it->edit_data_list.begin(),
-                                               it->edit_data_list.end());
-                                       //送信バッファ残サイズ ≧ 編集データ設定位置 - 送信済サイズ
-                                       if (send_buffer_remian_size >= edit_min->insert_posission - it->send_end_size)
-                                       {
-                                               //送信可能データを送信データオフセット+送信済サイズの位置から
-                                               //編集データ設定位置-送信済サイズ分、送信バッファにコピーする
-                                               copy_size = edit_min->insert_posission - it->send_end_size;
-                                               memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                       recv_data.recive_buffer + it->send_offset + it->send_end_size, copy_size);
-                                               //送信済サイズにコピーしたサイズを加算する
-                                               it->send_end_size += copy_size;
-                                               //送信可能データサイズからコピーしたサイズを減算する
-                                               it->send_possible_size -= copy_size;
-                                               //送信バッファ残サイズからコピーしたサイズを減算する
-                                               send_buffer_remian_size -= copy_size;
-
-                                               //送信バッファ残サイズ ≧ 編集データサイズ
-                                               if (send_buffer_remian_size >= edit_min->data_size)
-                                               {
-                                                       //編集データを編集データサイズ分、送信バッファにコピーする
-                                                       memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                               recv_data.recive_buffer + it->send_offset, edit_min->data_size);
-                                                       //送信済サイズに上書きサイズを加算する
-                                                       it->send_end_size += edit_min->replace_size;
-                                                       //送信可能データサイズから上書きサイズを減算する
-                                                       it->send_possible_size += edit_min->replace_size;
-                                                       //送信バッファ残サイズから編集データサイズを減算する
-                                                       send_buffer_remian_size -= edit_min->data_size;
-                                                       //編集データリストから該当要素を削除する
-                                                       it->edit_data_list.erase(edit_min);
-                                               }
-                                               //送信バッファ残サイズ < 編集データサイズ
-                                               else
-                                               {
-                                                       break;
-                                               }
-                                       }
-                                       //送信バッファ残サイズ < 編集データ設定位置 - 送信済サイズ
-                                       else
-                                       {
-                                               //送信可能データを送信データオフセット+送信済サイズの位置から
-                                               //送信バッファ残サイズ分、送信バッファにコピーする
-                                               memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size,
-                                                       recv_data.recive_buffer + it->send_offset + it->send_end_size, send_buffer_remian_size);
-                                               //送信済サイズにコピーしたサイズを加算する
-                                               it->send_end_size += send_buffer_remian_size;
-                                               //送信可能データサイズからコピーしたサイズを減算する
-                                               it->send_possible_size -= send_buffer_remian_size;
-                                               //送信バッファ残サイズからコピーしたサイズを減算する
-                                               send_buffer_remian_size -= 0;
-                                               //繰り返し処理を終了する
-                                               break;
-                                       }
-                               }
-                       }
-               }
-               //編集区分 = 編集なし
-               else
-               {
-                       //送信バッファサイズ ≧ 送信可能データサイズ
-                       if (send_buffer_remian_size >= it->send_possible_size)
-                       {
-                               //送信可能データを先頭から送信可能データサイズ分、送信バッファにコピーする
-                               memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size, recv_data.recive_buffer
-                                       + it->send_offset, it->send_possible_size);
-                               //送信済データサイズに送信可能データサイズを設定する
-                               it->send_end_size = it->send_possible_size;
-                               //送信可能データサイズに0を設定する
-                               it->send_possible_size = 0;
-                       }
-                       //送信バッファサイズ < 送信可能データサイズ
-                       else
-                       {
-                               //送信可能データを先頭から送信バッファサイズ分、送信バッファにコピーする
-                               memcpy(sendbuffer.data() + send_buffer_end_size - send_buffer_remian_size, recv_data.recive_buffer
-                                       + it->send_offset, send_buffer_remian_size);
-                               //送信済データサイズに送信バッファサイズを設定する
-                               it->send_end_size = send_buffer_remian_size;
-                               //送信可能データサイズから送信バッファサイズを減算する
-                               it->send_possible_size -= send_buffer_remian_size;
-                       }
-               }
-
-               datalen = send_buffer_end_size - send_buffer_remian_size;
-
-               status = SORRYSERVER_SEND;
-
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_sorryserver_connect exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_connect() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_connect() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format
-                       formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_sorryserver_connect( const boost::thread::id thread_id, boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
        return status;
 }
 
-/*!
- *handle_sorryserver_connection_fail
- *
- *@param [in] thread_id
- *@param [out]sendbuffer
- *@param [out]datalen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorryserver_connection_fail(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorryserver_connection_fail(
         const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & sorry_endpoint)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_connection_fail( const boost::thread::id thread_id, "
-                       "const boost::asio::ip::tcp::endpoint & sorry_endpoint): "
-                       "thread_id=%d, sorry_endpoint=%s ");
-               formatter % thread_id % sorry_endpoint.address().to_string();
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       EVENT_TAG status;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-
-               boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-               if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-               {
-                       putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               session_data = session_thread_data_map[thread_id];
-               if (session_data == NULL)
-               {
-                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //終了フラグをON
-               session_data->end_flag = END_FLAG_ON;
-               //遷移先ステータスを設定する
-               status = CLIENT_DISCONNECT;
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_sorryserver_connection_fail exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_connection_fail() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_connection_fail() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format
-                       formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_sorryserver_connection_fail(  const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & sorry_endpoint): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return status;
 }
 
-/*!
- *handle_sorryserver_send
- *
- *@param [in] thread_id
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorryserver_send(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorryserver_send(
         const boost::thread::id thread_id)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_send( const boost::thread::id thread_id): "
-                       "thread_id=%d");
-               formatter % thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               //
-               if (session_data->recive_data_map.find(session_data->client_endpoint_tcp)
-                       == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->client_endpoint_tcp];
-
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-               it = find_if(it, it_end, data_send_ok());
-               if (it == it_end)
-               {
-                       putLogError(17000, "sending possible data is not existed.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //送信可能データサイズ > 0
-               if (it->send_possible_size > 0)
-               {
-                       //送信状態に送信待を設定する
-                       it->status = SEND_OK;
-                       //送信データオフセットに送信済データサイズを加算する
-                       it->send_offset += it->send_end_size;
-
-                       for (std::list<edit_data>::iterator list_it = it->edit_data_list.begin(); list_it
-                               != it->edit_data_list.end(); ++list_it)
-                       {
-                               //編集データ設定位置から送信済データサイズを減算する。
-                               list_it->insert_posission -= it->send_end_size;
-                       }
-
-                       //送信済データサイズに0を設定する
-                       it->send_end_size = 0;
-               }
-               //送信可能データサイズ ≦ 0
-               else
-               {
-                       //送信データ残サイズ > 0
-                       if (it->send_rest_size > 0)
-                       {
-                               //送信状態に送信継続を設定する
-                               it->status = SEND_CONTINUE;
-                       }
-                       //送信データ残サイズ ≦ 0
-                       else
-                       {
-                               //送信状態に送信済を設定する
-                               it->status = SEND_END;
-                       }
-               }
-
-               it = recv_data.send_status_list.begin();
-               it = find_if(it, it_end, data_send_ok());
-               //送信可能データあり
-               if (it != it_end)
-               {
-                       //遷移先ステータスを設定する
-                       status = SORRYSERVER_CONNECT;
-               }
-               //送信可能データなし
-               else
-               {
-                       //遷移先ステータスを設定する
-                       status = CLIENT_RECV;
-               }
-
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_sorryserver_send exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_send() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_send() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_send( const boost::thread::id thread_id): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_realserver_recv
- *
- *@param [in] thread_id
- *@param [in] rs_endpoint
- *@param [in] recvbuffer
- *@param [in] recvlen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_recv(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_recv(
         const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint& rs_endpoint, const boost::array<char,
                 MAX_BUFFER_SIZE>& recvbuffer, const size_t recvlen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_recv( const boost::thread::id thread_id,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen ): thread_id=%d, recvbuffer=%s, recvlen=%d");
-               formatter % thread_id % recvbuffer.data() % recvlen;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       EVENT_TAG status;
-       typedef std::vector<protocol_module_sessionless::send_status_it> send_end_it_vec;
-       send_end_it_vec send_end_vec;
-       size_t data_remain_start = 0; //未送信データ開始位置
-       size_t data_remain_size = 0; //未送信データサイズ
-       size_t request_data_remain_size = 0; //リクエストデータ残サイズ
-       bool bret = false;
-       CHECK_RESULT_TAG check_result; //チェック結果
-       size_t header_offset = 0;
-       size_t header_offset_len = 0;
-       size_t count_length_header_value = 0;
-       size_t value = 0;
-       std::string str_value;
-       const std::string http_header = "";
-       const std::string content_header = "Content-Length";
-       session_thread_data_sessionless* session_data = NULL;
-
-       char* buffer1 = NULL;
-       char* buffer2 = NULL;
-       size_t count = 0;
-
-       //パラメータチェック
-       if (recvlen > recvbuffer.size())
-       {
-               putLogError(17000, "Data size bigger than buffer size.", __FILE__,
-               __LINE__ );
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       boost::format formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_realserver_recv( const boost::thread::id thread_id,"
-                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                       "const size_t recvlen ): return_value=%d");
-                       formatter % FINALIZE;
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-               return FINALIZE;
-       }
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_realserver_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_realserver_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-                               return FINALIZE;
-                       }
-               }
-
-               //終了フラグがONの場合
-               if (session_data->end_flag == END_FLAG_ON)
-               {
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_realserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % CLIENT_RECV;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       return CLIENT_RECV;
-               }
-
-               //終了フラグがOFFの場合
-               if (session_data->recive_data_map.find(session_data->target_endpoint) == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_realserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->target_endpoint];
-
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-
-               count = std::count_if(it, it_end, data_send_continue());
-               if (count >= 2)
-               {
-                       putLogError(17000, "send continue data >= 2.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_realserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it_end = recv_data.send_status_list.end();
-
-               count = std::count_if(it, it_end, data_send_ng());
-               if (count >= 2)
-               {
-                       putLogError(17000, "send ng data >= 2.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_realserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it_end = recv_data.send_status_list.end();
-
-               //送信状態リストの要素数分繰り返し
-               for (; it != it_end; ++it)
-               {
-                       //送信状態が送信済の場合
-                       if (it->status == SEND_END)
-                       {
-                               //送信状態リストから削除する
-                               send_end_vec.push_back(it);
-                       }
-                       else if (it->status == SEND_CONTINUE) //送信状態が送信継続の場合
-                       {
-                               //送信データオフセットに送信済サイズを加算する
-                               it->send_offset += it->send_end_size;
-                               //未送信データ開始位置に送信データオフセットを設定する
-                               data_remain_start = it->send_offset;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-                       else
-                       { //送信状態が送信済以外の場合
-                               //未送信データ開始位置に送信データオフセットを設定する
-                               data_remain_start = it->send_offset;
-                               //未送信データサイズに未送信データサイズを設定する
-                               data_remain_size = it->unsend_size;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-               }
-
-               for (send_end_it_vec::iterator it = send_end_vec.begin(); it != send_end_vec.end(); ++it)
-               {
-                       //送信状態リストから削除する
-                       recv_data.send_status_list.erase(*it);
-               }
-
-               //データバッファ残サイズ < リクエストデータサイズ
-               if (recv_data.recive_buffer_rest_size < recvlen)
-               {
-                       //データバッファMAXサイズ < 未送信データサイズ + リクエストデータサイズ
-                       if (recv_data.recive_buffer_max_size < data_remain_size + recvlen)
-                       {
-                               if (recv_data.recive_buffer == NULL)
-                               {
-                                       //データバッファ1をMAX_BUFFER_SIZE分、
-                                       //新規に確保し、初期化する
-                                       recv_data.recive_buffer1 = new char[MAX_BUFFER_SIZE];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &recv_data.recive_buffer1 % (MAX_BUFFER_SIZE);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(recv_data.recive_buffer1, 0, MAX_BUFFER_SIZE);
-                                       //データバッファ2をMAX_BUFFER_SIZE分、
-                                       //新規に確保し、初期化する
-                                       recv_data.recive_buffer2 = new char[MAX_BUFFER_SIZE];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &recv_data.recive_buffer2 % (MAX_BUFFER_SIZE);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(recv_data.recive_buffer2, 0, MAX_BUFFER_SIZE);
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                                       //データバッファMAXサイズにMAX_BUFFER_SIZEを設定する
-                                       recv_data.recive_buffer_max_size = MAX_BUFFER_SIZE;
-                               }
-                               else
-                               {
-                                       //データバッファ1を「未送信データサイズ + リクエストデータサイズ」分、
-                                       //新規に確保し、初期化する
-                                       buffer1 = new char[data_remain_size + recvlen];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &buffer1 % (data_remain_size + recvlen);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(buffer1, 0, data_remain_size + recvlen);
-                                       //データバッファ2を「未送信データサイズ + リクエストデータサイズ」分、
-                                       //新規に確保し、初期化する
-                                       buffer2 = new char[data_remain_size + recvlen];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &buffer2 % (data_remain_size + recvlen);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(buffer2, 0, data_remain_size + recvlen);
-
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < data_remain_size + recvlen; ++i)
-                                               {
-                                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_realserver_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % buffer1 % (data_remain_size + recvlen) % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ1に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ1にリクエストデータをサイズ分追加設定する
-                                       memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < data_remain_size + recvlen; ++i)
-                                               {
-                                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_realserver_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % buffer2 % (data_remain_size + recvlen) % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //旧データバッファ1、旧データバッファ2を解放する
-                                       if (recv_data.recive_buffer1 != NULL)
-                                       {
-                                               /*-------- DEBUG LOG --------*/
-                                               if (LOG_LV_DEBUG == getloglevel())
-                                               {
-                                                       boost::format formatter("delete: address=&(%d)");
-                                                       formatter % recv_data.recive_buffer1;
-                                                       putLogDebug(10005, formatter.str(), __FILE__,
-                                                       __LINE__ );
-                                               }
-                                               /*------DEBUG LOG END------*/
-                                               delete[] recv_data.recive_buffer1;
-                                               recv_data.recive_buffer1 = NULL;
-                                       }
-
-                                       if (recv_data.recive_buffer2 != NULL)
-                                       {
-                                               /*-------- DEBUG LOG --------*/
-                                               if (LOG_LV_DEBUG == getloglevel())
-                                               {
-                                                       boost::format formatter("delete: address=&(%d)");
-                                                       formatter % recv_data.recive_buffer2;
-                                                       putLogDebug(10005, formatter.str(), __FILE__,
-                                                       __LINE__ );
-                                               }
-                                               /*------DEBUG LOG END------*/
-                                               delete[] recv_data.recive_buffer2;
-                                               recv_data.recive_buffer2 = NULL;
-                                       }
-
-                                       //使用中データバッファにデータバッファ1を設定する
-                                       recv_data.recive_buffer1 = buffer1;
-                                       recv_data.recive_buffer2 = buffer2;
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                                       //データバッファMAXサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                                       recv_data.recive_buffer_max_size = data_remain_size + recvlen;
-                               }
-                       }
-                       //データバッファMAXサイズ ≧ 未送信データサイズ + リクエストデータサイズ
-                       else
-                       {
-                               if (recv_data.recive_buffer1 == NULL || recv_data.recive_buffer2 == NULL)
-                               {
-                                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter(
-                                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_realserver_recv( const boost::thread::id thread_id,"
-                                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                               "const size_t recvlen ): return_value=%d");
-                                               formatter % FINALIZE;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       return FINALIZE;
-                               }
-                               //使用中データバッファがデータバッファ1の場合
-                               if (recv_data.recive_buffer == recv_data.recive_buffer1)
-                               {
-                                       //データバッファ2を初期化する
-                                       memset(recv_data.recive_buffer2, 0, recv_data.recive_buffer_max_size);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_realserver_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer2 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ2に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(recv_data.recive_buffer2, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ2にリクエストデータをサイズ分追加設定する
-                                       memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_realserver_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer2 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //使用中データバッファにデータバッファ2を設定する
-                                       recv_data.recive_buffer = recv_data.recive_buffer2;
-                               }
-                               //使用中データバッファがデータバッファ2の場合
-                               else
-                               {
-                                       //データバッファ1を初期化する
-                                       memset(recv_data.recive_buffer1, 0, recv_data.recive_buffer_max_size);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_realserver_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ1に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(recv_data.recive_buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ1にリクエストデータをサイズ分追加設定する
-                                       memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_realserver_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //使用中データバッファにデータバッファ1を設定する
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                               }
-                       }
-
-                       //データバッファ残サイズに
-                       //「データバッファMAXサイズ - 未送信データサイズ - リクエストデータサイズ」を設定する
-                       recv_data.recive_buffer_rest_size = recv_data.recive_buffer_max_size - data_remain_size - recvlen;
-
-                       //未送信データサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                       data_remain_size += recvlen;
-
-                       send_status_it it_begin = recv_data.send_status_list.begin();
-                       send_status_it it_end = recv_data.send_status_list.end();
-
-                       for (; it_begin != it_end; ++it_begin)
-                       {
-                               //送信データオフセットから未送信データ開始位置を減算
-                               it->send_offset -= data_remain_start;
-                       }
-               }
-               //データバッファ残サイズ ≧ リクエストデータサイズ
-               else
-               {
-                       if (recv_data.recive_buffer == NULL)
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_realserver_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-                               return FINALIZE;
-                       }
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter("%02x");
-                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                               {
-                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                               }
-
-                               std::string datadump = formatter.str();
-                               formatter.parse("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_realserver_recv( ): before memcpy (data dump):  "
-                                       "data begin(%d), data_size=%d,data=%s.");
-                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-
-                       //使用中データバッファにリクエストデータをサイズ分追加設定する
-                       memcpy(recv_data.recive_buffer + recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size,
-                               recvbuffer.data(), recvlen);
-                       //データバッファ残サイズからリクエストデータサイズを減算する
-                       recv_data.recive_buffer_rest_size -= recvlen;
-                       //未送信データサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                       data_remain_size += recvlen;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it_end = recv_data.send_status_list.end();
-
-               //リクエストデータ残サイズにリクエストデータサイズを設定する
-               request_data_remain_size = recvlen;
-
-               for (; it != it_end; ++it)
-               {
-                       //送信状態が送信継続の場合
-                       if (it->status == SEND_CONTINUE)
-                       {
-                               //送信データ残サイズ > リクエストデータ残サイズ
-                               if (it->send_rest_size > request_data_remain_size)
-                               {
-                                       //送信可能データサイズにリクエストデータ残サイズを設定する
-                                       it->send_possible_size = request_data_remain_size;
-                                       //送信データ残サイズからリクエストデータ残サイズを減算する
-                                       it->send_rest_size -= request_data_remain_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                               }
-                               //送信データ残サイズ ≦ リクエストデータ残サイズ
-                               else
-                               {
-                                       //送信可能データサイズに送信データ残サイズを設定する
-                                       it->send_possible_size = it->send_rest_size;
-                                       //リクエストデータ残サイズから送信データ残サイズを減算する
-                                       request_data_remain_size -= it->send_rest_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //送信データ残サイズに0を設定する
-                                       it->send_rest_size = 0;
-                               }
-                               //編集区分に編集なしを設定する
-                               it->edit_division = EDIT_DIVISION_NO_EDIT;
-                               //送信状態に送信待を設定する
-                               it->status = SEND_OK;
-                       }
-                       //送信状態が送信不可の場合
-                       else if (it->status == SEND_NG)
-                       {
-                               //HTTPメソッドの妥当性をチェックする
-                               check_result = check_status_code(recv_data.recive_buffer + it->send_offset, data_remain_size);
-                               //チェック結果が正常の場合
-                               if (check_result == CHECK_OK)
-                               {
-                                       //HTTPバージョンの妥当性をチェックする
-                                       check_result = check_http_version(recv_data.recive_buffer + it->send_offset, data_remain_size);
-                               }
-                               //チェック結果が正常の場合
-                               if (check_result == CHECK_OK)
-                               {
-                                       //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                                       bret = find_http_header(recv_data.recive_buffer + it->send_offset, data_remain_size, http_header,
-                                               header_offset, header_offset_len);
-                                       //検索結果が該当ありの場合
-                                       if (bret)
-                                       {
-                                               //HTTPヘッダ(ContentLength)を検索する
-                                               bret = find_http_header(recv_data.recive_buffer + it->send_offset, data_remain_size,
-                                                       content_header, header_offset, count_length_header_value);
-                                               //検索結果が該当ありの場合
-                                               if (bret)
-                                               {
-                                                       str_value.assign(recv_data.recive_buffer + it->send_offset + header_offset,
-                                                               count_length_header_value);
-                                                       value = boost::lexical_cast<size_t>(str_value.c_str());
-                                                       //送信データ残サイズに
-                                                       //「HTTPヘッダサイズ + ContentLength」を設定する
-                                                       it->send_rest_size = header_offset_len + value;
-                                               }
-                                               //検索結果が該当なしの場合
-                                               else
-                                               {
-                                                       //送信データ残サイズに未送信データサイズ + リクエストデータ残サイズを設定する
-                                                       it->send_rest_size = it->unsend_size + request_data_remain_size;
-                                               }
-                                               //編集区分に編集ありを設定する
-                                               it->edit_division = EDIT_DIVISION_EDIT;
-                                       }
-                                       //検索結果が該当なしの場合
-                                       else
-                                       {
-                                               //未送信データサイズにリクエストデータ残サイズを加算する
-                                               data_remain_size += request_data_remain_size;
-                                               it->unsend_size = data_remain_size;
-                                               //リクエストデータ残サイズに0を設定する
-                                               request_data_remain_size = 0;
-                                               //繰り返し処理を終了する
-                                               break;
-                                       }
-                               }
-                               //チェック結果が異常の場合
-                               else if (check_result == CHECK_NG)
-                               {
-                                       //編集区分に編集なしを設定する
-                                       it->edit_division = EDIT_DIVISION_NO_EDIT;
-                                       //送信データ残サイズにリクエストデータ残サイズを設定する
-                                       it->send_rest_size = request_data_remain_size;
-                               }
-                               //チェック結果が判定不能の場合
-                               //check_result == CHECK_INPOSSIBLE
-                               else
-                               {
-                                       //未送信データサイズにリクエストデータ残サイズを加算する
-                                       data_remain_size += request_data_remain_size;
-                                       it->unsend_size = data_remain_size;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-
-                               //送信データ残サイズ > 未送信データサイズ+リクエストデータ残サイズ
-                               if (it->send_rest_size > data_remain_size + request_data_remain_size)
-                               {
-                                       //送信可能データサイズに未送信データサイズ+リクエストデータ残サイズを設定する
-                                       it->send_possible_size = data_remain_size + request_data_remain_size;
-                                       //送信データ残サイズから未送信データサイズ + リクエストデータ残サイズを減算する
-                                       it->send_rest_size -= (data_remain_size + request_data_remain_size);
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //未送信データサイズに0を設定する
-                                       it->unsend_size = 0;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                               }
-                               //送信データ残サイズ ≦ 未送信データサイズ + リクエストデータ残サイズ
-                               else
-                               {
-                                       //送信可能データサイズに送信データ残サイズを設定する
-                                       it->send_possible_size = it->send_rest_size;
-                                       //リクエストデータ残サイズに
-                                       //「未送信データサイズ+リクエストデータ残サイズ-送信データ残サイズ」を設定する
-                                       request_data_remain_size = data_remain_size + request_data_remain_size - it->send_rest_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //未送信データサイズに0を設定する
-                                       it->unsend_size = 0;
-                                       //送信データ残サイズに0を設定する
-                                       it->send_rest_size = 0;
-                               }
-
-                               //送信状態に送信待を設定する
-                               it->status = SEND_OK;
-                       }
-                       //リクエストデータ残サイズ ≦ 0
-                       if (request_data_remain_size <= 0)
-                       {
-                               break;
-                       }
-               }
-
-               //リクエストデータ残サイズ > 0
-               while (request_data_remain_size > 0)
-               {
-                       //送信状態を生成する
-                       send_status new_send_state;
-                       //送信状態に送信不可を設定する
-                       new_send_state.status = SEND_NG;
-                       //送信状態リストに送信状態を設定する
-                       recv_data.send_status_list.push_back(new_send_state);
-                       std::list<send_status>::reverse_iterator new_send_it = recv_data.send_status_list.rbegin();
-                       //送信データオフセットを設定する
-                       new_send_it->send_offset = recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size
-                               - request_data_remain_size;
-
-                       //HTTPメソッドの妥当性をチェックする
-                       check_result = check_status_code(recv_data.recive_buffer + new_send_it->send_offset,
-                               request_data_remain_size);
-                       //チェック結果が正常の場合
-                       if (check_result == CHECK_OK)
-                       {
-                               //HTTPバージョンの妥当性をチェックする
-                               check_result = check_http_version(recv_data.recive_buffer + new_send_it->send_offset,
-                                       request_data_remain_size);
-                       }
-                       //チェック結果が正常の場合
-                       if (check_result == CHECK_OK)
-                       {
-                               //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                               bret = find_http_header(recv_data.recive_buffer + new_send_it->send_offset, request_data_remain_size,
-                                       http_header, header_offset, header_offset_len);
-                               //検索結果が該当ありの場合
-                               if (bret)
-                               {
-                                       //HTTPヘッダ(ContentLength)を検索する
-                                       bret = find_http_header(recv_data.recive_buffer + new_send_it->send_offset,
-                                               request_data_remain_size, content_header, header_offset, count_length_header_value);
-
-                                       //検索結果が該当ありの場合
-                                       if (bret)
-                                       {
-                                               str_value.assign(recv_data.recive_buffer + it->send_offset + header_offset,
-                                                       count_length_header_value);
-                                               value = boost::lexical_cast<size_t>(str_value.c_str());
-                                               //送信データ残サイズに
-                                               //「HTTPヘッダサイズ + ContentLength」を設定する
-                                               new_send_it->send_rest_size = header_offset_len + value;
-                                       }
-                                       //検索結果が該当なしの場合
-                                       else
-                                       {
-                                               //送信データ残サイズにリクエストデータ残サイズを設定する
-                                               new_send_it->send_rest_size = request_data_remain_size;
-                                       }
-                                       //編集区分に編集ありを設定する
-                                       new_send_it->edit_division = EDIT_DIVISION_EDIT;
-                               }
-                               //検索結果が該当なしの場合
-                               else
-                               {
-                                       //未送信データサイズにリクエストデータ残サイズを設定する
-                                       new_send_it->unsend_size = request_data_remain_size;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-                       }
-                       //チェック結果が異常の場合
-                       else if (check_result == CHECK_NG)
-                       {
-                               //編集区分に編集なしを設定する
-                               new_send_it->edit_division = EDIT_DIVISION_NO_EDIT;
-                               //送信データ残サイズにリクエストデータ残サイズを設定する
-                               new_send_it->send_rest_size = request_data_remain_size;
-                       }
-                       //チェック結果が判定不能の場合
-                       //check_result == CHECK_INPOSSIBLE
-                       else
-                       {
-                               //未送信データサイズにリクエストデータ残サイズを加算する
-                               new_send_it->unsend_size = request_data_remain_size;
-                               //リクエストデータ残サイズに0を設定する
-                               request_data_remain_size = 0;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-
-                       //送信データ残サイズ > リクエストデータ残サイズ
-                       if (new_send_it->send_rest_size > request_data_remain_size)
-                       {
-                               //送信可能データサイズにリクエストデータ残サイズを設定する
-                               new_send_it->send_possible_size = request_data_remain_size;
-                               //送信データ残サイズからリクエストデータ残サイズを減算する
-                               new_send_it->send_rest_size -= request_data_remain_size;
-                               //送信済データサイズに0を設定する
-                               new_send_it->send_end_size = 0;
-                               //リクエストデータ残サイズに0を設定する
-                               request_data_remain_size = 0;
-                       }
-                       //送信データ残サイズ ≦ リクエストデータ残サイズ
-                       else
-                       {
-                               //送信可能データサイズに送信データ残サイズを設定する
-                               new_send_it->send_possible_size = new_send_it->send_rest_size;
-                               //リクエストデータ残サイズから送信データ残サイズを減算する
-                               request_data_remain_size -= new_send_it->send_rest_size;
-                               //送信済データサイズに0を設定する
-                               new_send_it->send_end_size = 0;
-                               //送信データ残サイズに0を設定する
-                               new_send_it->send_rest_size = 0;
-                       }
-
-                       //送信状態に送信待を設定する
-                       new_send_it->status = SEND_OK;
-
-               }
-
-               //送信可能データありをチェック
-               send_status_it it_find = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
-                       data_send_possible());
-               //送信可能データあり
-               if (it_find != recv_data.send_status_list.end())
-               {
-                       //遷移先ステータスを設定する
-                       status = CLIENT_CONNECTION_CHECK;
-               }
-               //送信可能データなし
-               else
-               {
-                       //遷移先ステータスを設定する
-                       status = REALSERVER_RECV;
-               }
-       } catch (const std::bad_alloc&)
-       {
-               std::cerr << "handle_realserver_recv exception: Could not allocate memory." << std::endl;
-               putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_realserver_recv exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_recv() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::handle_realserver_recv() : "
-                       "Unkown exception.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_recv( const boost::thread::id thread_id,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen ): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_realserver_recv
- *
- *@param [in] thread_id
- *@param [in] rs_endpoint
- *@param [in] recvbuffer
- *@param [in] recvlen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_recv(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_recv(
         const boost::thread::id thread_id, const boost::asio::ip::udp::endpoint& rs_endpoint, const boost::array<char,
                 MAX_BUFFER_SIZE>& recvbuffer, const size_t recvlen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in/out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_recv( const boost::thread::id thread_id,"
-                       "const boost::asio::ip::udp::endpoint& rs_endpoint,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen): "
-                       "return_value=%d.");
-               formatter % STOP;
-               putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return STOP;
 }
 
-/*!
- *handle_sorryserver_recv
- *
- *@param [in] thread_id
- *@param [in] sorry_endpoint
- *@param [in] recvbuffer
- *@param [in] recvlen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorryserver_recv(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorryserver_recv(
         const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint& sorry_endpoint, const boost::array<
                 char, MAX_BUFFER_SIZE>& recvbuffer, const size_t recvlen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen ): thread_id=%d, recvbuffer=%s, recvlen=%d");
-               formatter % thread_id % recvbuffer.data() % recvlen;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       EVENT_TAG status;
-       typedef std::vector<protocol_module_sessionless::send_status_it> send_end_it_vec;
-       send_end_it_vec send_end_vec;
-       size_t data_remain_start = 0; //未送信データ開始位置
-       size_t data_remain_size = 0; //未送信データサイズ
-       size_t request_data_remain_size = 0; //リクエストデータ残サイズ
-       bool bret = false;
-       CHECK_RESULT_TAG check_result; //チェック結果
-       size_t header_offset = 0;
-       size_t header_offset_len = 0;
-       size_t count_length_header_value = 0;
-       size_t value = 0;
-       std::string str_value;
-       const std::string http_header = "";
-       const std::string content_header = "Content-Length";
-       session_thread_data_sessionless* session_data = NULL;
-
-       char* buffer1 = NULL;
-       char* buffer2 = NULL;
-
-       //パラメータチェック
-       if (recvlen > recvbuffer.size())
-       {
-               putLogError(17000, "Data size bigger than buffer size.", __FILE__,
-               __LINE__ );
-               /*-------- DEBUG LOG --------*/
-               if (LOG_LV_DEBUG == getloglevel())
-               {
-                       boost::format formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                       "const size_t recvlen ): return_value=%d");
-                       formatter % FINALIZE;
-                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-               }
-               /*------DEBUG LOG END------*/
-               return FINALIZE;
-       }
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
-
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-                               return FINALIZE;
-                       }
-               }
-
-               //終了フラグがONの場合
-               if (session_data->end_flag == END_FLAG_ON)
-               {
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % CLIENT_RECV;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*-------- DEBUG LOG --------*/
-                       return CLIENT_RECV;
-               }
-
-               //終了フラグがOFFの場合
-               if (session_data->recive_data_map.find(session_data->target_endpoint) == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->target_endpoint];
-
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-
-               it = std::find_if(it, it_end, data_send_ok());
-               if (it != it_end)
-               {
-                       putLogError(17000, "sending data is invalid.", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it = std::adjacent_find(it, it_end, data_send_repeated());
-               if (it != it_end)
-               {
-                       putLogError(17000, "sending data is invalid..", __FILE__, __LINE__ );
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter(
-                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                               "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                               "const size_t recvlen ): return_value=%d");
-                               formatter % FINALIZE;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-                       return FINALIZE;
-               }
-
-               it = recv_data.send_status_list.begin();
-               //送信状態リストの要素数分繰り返し
-               for (; it != it_end; ++it)
-               {
-                       //送信状態が送信済の場合
-                       if (it->status == SEND_END)
-                       {
-                               //送信状態リストから削除する
-                               send_end_vec.push_back(it);
-                       }
-                       else if (it->status == SEND_CONTINUE) //送信状態が送信継続の場合
-                       {
-                               //送信データオフセットに送信済サイズを加算する
-                               it->send_offset += it->send_end_size;
-                               //未送信データ開始位置に送信データオフセットを設定する
-                               data_remain_start = it->send_offset;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-                       else
-                       { //送信状態が送信済以外の場合
-                               //未送信データ開始位置に送信データオフセットを設定する
-                               data_remain_start = it->send_offset;
-                               //未送信データサイズに未送信データサイズを設定する
-                               data_remain_size = it->unsend_size;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-               }
-
-               for (send_end_it_vec::iterator it = send_end_vec.begin(); it != send_end_vec.end(); ++it)
-               {
-                       //送信状態リストから削除する
-                       recv_data.send_status_list.erase(*it);
-               }
-
-               //データバッファ残サイズ < リクエストデータサイズ
-               if (recv_data.recive_buffer_rest_size < recvlen)
-               {
-                       //データバッファMAXサイズ < 未送信データサイズ + リクエストデータサイズ
-                       if (recv_data.recive_buffer_max_size < data_remain_size + recvlen)
-                       {
-                               if (recv_data.recive_buffer == NULL)
-                               {
-                                       //データバッファ1をMAX_BUFFER_SIZE分、
-                                       //新規に確保し、初期化する
-                                       recv_data.recive_buffer1 = new char[MAX_BUFFER_SIZE];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &recv_data.recive_buffer1 % (MAX_BUFFER_SIZE);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(recv_data.recive_buffer1, 0, MAX_BUFFER_SIZE);
-                                       //データバッファ2をMAX_BUFFER_SIZE分、
-                                       //新規に確保し、初期化する
-                                       recv_data.recive_buffer2 = new char[MAX_BUFFER_SIZE];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &recv_data.recive_buffer2 % (MAX_BUFFER_SIZE);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(recv_data.recive_buffer2, 0, MAX_BUFFER_SIZE);
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                                       //データバッファMAXサイズにMAX_BUFFER_SIZEを設定する
-                                       recv_data.recive_buffer_max_size = MAX_BUFFER_SIZE;
-                               }
-                               else
-                               {
-                                       //データバッファ1を「未送信データサイズ + リクエストデータサイズ」分、
-                                       //新規に確保し、初期化する
-                                       buffer1 = new char[data_remain_size + recvlen];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &buffer1 % (data_remain_size + recvlen);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(buffer1, 0, data_remain_size + recvlen);
-                                       //データバッファ2を「未送信データサイズ + リクエストデータサイズ」分、
-                                       //新規に確保し、初期化する
-                                       buffer2 = new char[data_remain_size + recvlen];
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("new: address=&(%d), size=%lu");
-                                               formatter % &buffer2 % (data_remain_size + recvlen);
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*-------- DEBUG LOG --------*/
-                                       memset(buffer2, 0, data_remain_size + recvlen);
-
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < data_remain_size + recvlen; ++i)
-                                               {
-                                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_sorryserver_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % buffer1 % (data_remain_size + recvlen) % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ1に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ1にリクエストデータをサイズ分追加設定する
-                                       memcpy(buffer1 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < data_remain_size + recvlen; ++i)
-                                               {
-                                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_sorryserver_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % buffer2 % (data_remain_size + recvlen) % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //旧データバッファ1、旧データバッファ2を解放する
-                                       if (recv_data.recive_buffer1 != NULL)
-                                       {
-                                               /*-------- DEBUG LOG --------*/
-                                               if (LOG_LV_DEBUG == getloglevel())
-                                               {
-                                                       boost::format formatter("delete: address=&(%d)");
-                                                       formatter % recv_data.recive_buffer1;
-                                                       putLogDebug(10005, formatter.str(), __FILE__,
-                                                       __LINE__ );
-                                               }
-                                               /*------DEBUG LOG END------*/
-                                               delete[] recv_data.recive_buffer1;
-                                               recv_data.recive_buffer1 = NULL;
-                                       }
-
-                                       if (recv_data.recive_buffer2 != NULL)
-                                       {
-                                               /*-------- DEBUG LOG --------*/
-                                               if (LOG_LV_DEBUG == getloglevel())
-                                               {
-                                                       boost::format formatter("delete: address=&(%d)");
-                                                       formatter % recv_data.recive_buffer2;
-                                                       putLogDebug(10005, formatter.str(), __FILE__,
-                                                       __LINE__ );
-                                               }
-                                               /*------DEBUG LOG END------*/
-                                               delete[] recv_data.recive_buffer2;
-                                               recv_data.recive_buffer2 = NULL;
-                                       }
-
-                                       //使用中データバッファにデータバッファ1を設定する
-                                       recv_data.recive_buffer1 = buffer1;
-                                       recv_data.recive_buffer2 = buffer2;
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                                       //データバッファMAXサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                                       recv_data.recive_buffer_max_size = data_remain_size + recvlen;
-                               }
-                       }
-                       //データバッファMAXサイズ ≧ 未送信データサイズ + リクエストデータサイズ
-                       else
-                       {
-                               if (recv_data.recive_buffer1 == NULL || recv_data.recive_buffer2 == NULL)
-                               {
-                                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter(
-                                                       "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                                               "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                               "const size_t recvlen ): return_value=%d");
-                                               formatter % FINALIZE;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       return FINALIZE;
-                               }
-                               //使用中データバッファがデータバッファ1の場合
-                               if (recv_data.recive_buffer == recv_data.recive_buffer1)
-                               {
-                                       //データバッファ2を初期化する
-                                       memset(recv_data.recive_buffer2, 0, recv_data.recive_buffer_max_size);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_sorryserver_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer2 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ2に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(recv_data.recive_buffer2, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ2にリクエストデータをサイズ分追加設定する
-                                       memcpy(recv_data.recive_buffer2 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer2[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_sorryserver_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer2 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //使用中データバッファにデータバッファ2を設定する
-                                       recv_data.recive_buffer = recv_data.recive_buffer2;
-                               }
-                               //使用中データバッファがデータバッファ2の場合
-                               else
-                               {
-                                       //データバッファ1を初期化する
-                                       memset(recv_data.recive_buffer1, 0, recv_data.recive_buffer_max_size);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_sorryserver_recv( ): before memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //データバッファ1に使用中データバッファの未送信データ開始位置から未送信データサイズ分設定する
-                                       memcpy(recv_data.recive_buffer1, recv_data.recive_buffer + data_remain_start, data_remain_size);
-                                       //データバッファ1にリクエストデータをサイズ分追加設定する
-                                       memcpy(recv_data.recive_buffer1 + data_remain_size, recvbuffer.data(), recvlen);
-                                       /*-------- DEBUG LOG --------*/
-                                       if (LOG_LV_DEBUG == getloglevel())
-                                       {
-                                               boost::format formatter("%02x");
-                                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                                               {
-                                                       formatter
-                                                               % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                                               }
-
-                                               std::string datadump = formatter.str();
-                                               formatter.parse(
-                                                       "function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                               "handle_sorryserver_recv( ): after memcpy (data dump):  "
-                                                               "data begin(%d), data_size=%d,data=%s.");
-                                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                                       }
-                                       /*------DEBUG LOG END------*/
-                                       //使用中データバッファにデータバッファ1を設定する
-                                       recv_data.recive_buffer = recv_data.recive_buffer1;
-                               }
-                       }
-
-                       //データバッファ残サイズに
-                       //「データバッファMAXサイズ - 未送信データサイズ - リクエストデータサイズ」を設定する
-                       recv_data.recive_buffer_rest_size = recv_data.recive_buffer_max_size - data_remain_size - recvlen;
-
-                       //未送信データサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                       data_remain_size += recvlen;
-
-                       send_status_it it_begin = recv_data.send_status_list.begin();
-                       send_status_it it_end = recv_data.send_status_list.end();
-
-                       for (; it_begin != it_end; ++it_begin)
-                       {
-                               //送信データオフセットから未送信データ開始位置を減算
-                               it->send_offset -= data_remain_start;
-                       }
-               }
-               //データバッファ残サイズ ≧ リクエストデータサイズ
-               else
-               {
-                       if (recv_data.recive_buffer == NULL)
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               /*-------- DEBUG LOG --------*/
-                               if (LOG_LV_DEBUG == getloglevel())
-                               {
-                                       boost::format formatter(
-                                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                                       "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                                                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                                                       "const size_t recvlen ): return_value=%d");
-                                       formatter % FINALIZE;
-                                       putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                               }
-                               /*------DEBUG LOG END------*/
-                               return FINALIZE;
-                       }
-                       /*-------- DEBUG LOG --------*/
-                       if (LOG_LV_DEBUG == getloglevel())
-                       {
-                               boost::format formatter("%02x");
-                               for (size_t i = 0; i < recv_data.recive_buffer_max_size; ++i)
-                               {
-                                       formatter % static_cast<unsigned short> (static_cast<unsigned char> (recv_data.recive_buffer1[i]));
-                               }
-
-                               std::string datadump = formatter.str();
-                               formatter.parse("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_sorryserver_recv( ): before memcpy (data dump):  "
-                                       "data begin(%d), data_size=%d,data=%s.");
-                               formatter % recv_data.recive_buffer1 % recv_data.recive_buffer_max_size % datadump;
-                               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-                       }
-                       /*------DEBUG LOG END------*/
-
-                       //使用中データバッファにリクエストデータをサイズ分追加設定する
-                       memcpy(recv_data.recive_buffer + recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size,
-                               recvbuffer.data(), recvlen);
-                       //データバッファ残サイズからリクエストデータサイズを減算する
-                       recv_data.recive_buffer_rest_size -= recvlen;
-                       //未送信データサイズに「未送信データサイズ + リクエストデータサイズ」を設定する
-                       data_remain_size += recvlen;
-               }
-
-               it = recv_data.send_status_list.begin();
-               it_end = recv_data.send_status_list.end();
-
-               //リクエストデータ残サイズにリクエストデータサイズを設定する
-               request_data_remain_size = recvlen;
-
-               for (; it != it_end; ++it)
-               {
-                       //送信状態が送信継続の場合
-                       if (it->status == SEND_CONTINUE)
-                       {
-                               //送信データ残サイズ > リクエストデータ残サイズ
-                               if (it->send_rest_size > request_data_remain_size)
-                               {
-                                       //送信可能データサイズにリクエストデータ残サイズを設定する
-                                       it->send_possible_size = request_data_remain_size;
-                                       //送信データ残サイズからリクエストデータ残サイズを減算する
-                                       it->send_rest_size -= request_data_remain_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                               }
-                               //送信データ残サイズ ≦ リクエストデータ残サイズ
-                               else
-                               {
-                                       //送信可能データサイズに送信データ残サイズを設定する
-                                       it->send_possible_size = it->send_rest_size;
-                                       //リクエストデータ残サイズから送信データ残サイズを減算する
-                                       request_data_remain_size -= it->send_rest_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //送信データ残サイズに0を設定する
-                                       it->send_rest_size = 0;
-                               }
-//                             //編集区分に編集なしを設定する
-//                             it->edit_division = EDIT_DIVISION_NO_EDIT;
-                               //送信状態に送信待を設定する
-                               it->status = SEND_OK;
-                       }
-                       //送信状態が送信不可の場合
-                       else if (it->status == SEND_NG)
-                       {
-                               //HTTPメソッドの妥当性をチェックする
-                               check_result = check_status_code(recv_data.recive_buffer + it->send_offset, data_remain_size);
-                               //チェック結果が正常の場合
-                               if (check_result == CHECK_OK)
-                               {
-                                       //HTTPバージョンの妥当性をチェックする
-                                       check_result = check_http_version(recv_data.recive_buffer + it->send_offset, data_remain_size);
-                               }
-                               //チェック結果が正常の場合
-                               if (check_result == CHECK_OK)
-                               {
-                                       //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                                       bret = find_http_header(recv_data.recive_buffer + it->send_offset, data_remain_size, http_header,
-                                               header_offset, header_offset_len);
-                                       //検索結果が該当ありの場合
-                                       if (bret)
-                                       {
-                                               //HTTPヘッダ(ContentLength)を検索する
-                                               bret = find_http_header(recv_data.recive_buffer + it->send_offset, data_remain_size,
-                                                       content_header, header_offset, count_length_header_value);
-                                               //検索結果が該当ありの場合
-                                               if (bret)
-                                               {
-                                                       str_value.assign(recv_data.recive_buffer + it->send_offset + header_offset,
-                                                               count_length_header_value);
-                                                       value = boost::lexical_cast<size_t>(str_value.c_str());
-                                                       //送信データ残サイズに
-                                                       //「HTTPヘッダサイズ + ContentLength」を設定する
-                                                       it->send_rest_size = header_offset_len + value;
-                                               }
-                                               //検索結果が該当なしの場合
-                                               else
-                                               {
-                                                       //送信データ残サイズに未送信データサイズ + リクエストデータ残サイズを設定する
-                                                       it->send_rest_size = it->unsend_size + request_data_remain_size;
-                                               }
-//                                             //編集区分に編集ありを設定する
-//                                             it->edit_division = EDIT_DIVISION_EDIT;
-                                       }
-                                       //検索結果が該当なしの場合
-                                       else
-                                       {
-                                               //未送信データサイズにリクエストデータ残サイズを加算する
-                                               it->unsend_size += request_data_remain_size;
-                                               //リクエストデータ残サイズに0を設定する
-                                               request_data_remain_size = 0;
-                                               //繰り返し処理を終了する
-                                               break;
-                                       }
-                               }
-                               //チェック結果が異常の場合
-                               else if (check_result == CHECK_NG)
-                               {
-//                                     //編集区分に編集なしを設定する
-//                                     it->edit_division = EDIT_DIVISION_NO_EDIT;
-                                       //送信データ残サイズにリクエストデータ残サイズを設定する
-                                       it->send_rest_size = request_data_remain_size;
-                               }
-                               //チェック結果が判定不能の場合
-                               //check_result == CHECK_INPOSSIBLE
-                               else
-                               {
-                                       //未送信データサイズにリクエストデータ残サイズを加算する
-                                       it->unsend_size += request_data_remain_size;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-
-                               //送信データ残サイズ > 未送信データサイズ+リクエストデータ残サイズ
-                               if (it->send_rest_size > it->unsend_size + request_data_remain_size)
-                               {
-                                       //送信可能データサイズに未送信データサイズ+リクエストデータ残サイズを設定する
-                                       it->send_possible_size = it->unsend_size + request_data_remain_size;
-                                       //送信データ残サイズから未送信データサイズ + リクエストデータ残サイズを減算する
-                                       it->send_rest_size -= (it->unsend_size + request_data_remain_size);
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //未送信データサイズに0を設定する
-                                       it->unsend_size = 0;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                               }
-                               //送信データ残サイズ ≦ 未送信データサイズ + リクエストデータ残サイズ
-                               else
-                               {
-                                       //送信可能データサイズに送信データ残サイズを設定する
-                                       it->send_possible_size = it->send_rest_size;
-                                       //リクエストデータ残サイズに
-                                       //「未送信データサイズ+リクエストデータ残サイズ-送信データ残サイズ」を設定する
-                                       request_data_remain_size = it->unsend_size + request_data_remain_size - it->send_rest_size;
-                                       //送信済データサイズに0を設定する
-                                       it->send_end_size = 0;
-                                       //未送信データサイズに0を設定する
-                                       it->unsend_size = 0;
-                                       //送信データ残サイズに0を設定する
-                                       it->send_rest_size = 0;
-                               }
-
-                               //送信状態に送信待を設定する
-                               it->status = SEND_OK;
-                       }
-                       //リクエストデータ残サイズ ≦ 0
-                       if (request_data_remain_size <= 0)
-                       {
-                               break;
-                       }
-               }
-
-               //リクエストデータ残サイズ > 0
-               while (request_data_remain_size > 0)
-               {
-                       //送信状態を生成する
-                       send_status new_send_state;
-                       //送信状態に送信不可を設定する
-                       new_send_state.status = SEND_NG;
-                       //送信状態リストに送信状態を設定する
-                       recv_data.send_status_list.push_back(new_send_state);
-                       std::list<send_status>::reverse_iterator new_send_it = recv_data.send_status_list.rbegin();
-                       //送信データオフセットを設定する
-                       new_send_it->send_offset = recv_data.recive_buffer_max_size - recv_data.recive_buffer_rest_size
-                               - request_data_remain_size;
-
-                       //HTTPメソッドの妥当性をチェックする
-                       check_result = check_status_code(recv_data.recive_buffer + new_send_it->send_offset,
-                               request_data_remain_size);
-                       //チェック結果が正常の場合
-                       if (check_result == CHECK_OK)
-                       {
-                               //HTTPバージョンの妥当性をチェックする
-                               check_result = check_http_version(recv_data.recive_buffer + new_send_it->send_offset,
-                                       request_data_remain_size);
-                       }
-                       //チェック結果が正常の場合
-                       if (check_result == CHECK_OK)
-                       {
-                               //送信可能データ内のHTTPヘッダの開始位置、サイズを取得する
-                               bret = find_http_header(recv_data.recive_buffer + new_send_it->send_offset, request_data_remain_size,
-                                       http_header, header_offset, header_offset_len);
-                               //検索結果が該当ありの場合
-                               if (bret)
-                               {
-                                       //HTTPヘッダ(ContentLength)を検索する
-                                       bret = find_http_header(recv_data.recive_buffer + new_send_it->send_offset,
-                                               request_data_remain_size, content_header, header_offset, count_length_header_value);
-
-                                       //検索結果が該当ありの場合
-                                       if (bret)
-                                       {
-                                               str_value.assign(recv_data.recive_buffer + it->send_offset + header_offset,
-                                                       count_length_header_value);
-                                               value = boost::lexical_cast<size_t>(str_value.c_str());
-                                               //送信データ残サイズに
-                                               //「HTTPヘッダサイズ + ContentLength」を設定する
-                                               new_send_it->send_rest_size = header_offset_len + value;
-                                       }
-                                       //検索結果が該当なしの場合
-                                       else
-                                       {
-                                               //送信データ残サイズにリクエストデータ残サイズを設定する
-                                               new_send_it->send_rest_size = request_data_remain_size;
-                                       }
-//                                     //編集区分に編集ありを設定する
-//                                     new_send_it->edit_division = EDIT_DIVISION_EDIT;
-                               }
-                               //検索結果が該当なしの場合
-                               else
-                               {
-                                       //未送信データサイズにリクエストデータ残サイズを設定する
-                                       new_send_it->unsend_size = request_data_remain_size;
-                                       //リクエストデータ残サイズに0を設定する
-                                       request_data_remain_size = 0;
-                                       //繰り返し処理を終了する
-                                       break;
-                               }
-                       }
-                       //チェック結果が異常の場合
-                       else if (check_result == CHECK_NG)
-                       {
-//                             //編集区分に編集なしを設定する
-//                             new_send_it->edit_division = EDIT_DIVISION_NO_EDIT;
-                               //送信データ残サイズにリクエストデータ残サイズを設定する
-                               new_send_it->send_rest_size = request_data_remain_size;
-                       }
-                       //チェック結果が判定不能の場合
-                       //check_result == CHECK_INPOSSIBLE
-                       else
-                       {
-                               //未送信データサイズにリクエストデータ残サイズを加算する
-                               new_send_it->unsend_size = request_data_remain_size;
-                               //リクエストデータ残サイズに0を設定する
-                               request_data_remain_size = 0;
-                               //繰り返し処理を終了する
-                               break;
-                       }
-
-                       //送信データ残サイズ > リクエストデータ残サイズ
-                       if (new_send_it->send_rest_size > request_data_remain_size)
-                       {
-                               //送信可能データサイズにリクエストデータ残サイズを設定する
-                               new_send_it->send_possible_size = request_data_remain_size;
-                               //送信データ残サイズからリクエストデータ残サイズを減算する
-                               new_send_it->send_rest_size -= request_data_remain_size;
-                               //送信済データサイズに0を設定する
-                               new_send_it->send_end_size = 0;
-                               //リクエストデータ残サイズに0を設定する
-                               request_data_remain_size = 0;
-                       }
-                       //送信データ残サイズ ≦ リクエストデータ残サイズ
-                       else
-                       {
-                               //送信可能データサイズに送信データ残サイズを設定する
-                               new_send_it->send_possible_size = new_send_it->send_rest_size;
-                               //リクエストデータ残サイズから送信データ残サイズを減算する
-                               request_data_remain_size -= new_send_it->send_rest_size;
-                               //送信済データサイズに0を設定する
-                               new_send_it->send_end_size = 0;
-                               //送信データ残サイズに0を設定する
-                               new_send_it->send_rest_size = 0;
-                       }
-
-                       //送信状態に送信待を設定する
-                       new_send_it->status = SEND_OK;
-
-               }
-
-               //送信可能データありをチェック
-               send_status_it it_find = find_if(recv_data.send_status_list.begin(), recv_data.send_status_list.end(),
-                       data_send_possible());
-               //送信可能データあり
-               if (it_find != recv_data.send_status_list.end())
-               {
-                       //遷移先ステータスを設定する
-                       status = CLIENT_CONNECTION_CHECK;
-               }
-               //送信可能データなし
-               else
-               {
-                       //遷移先ステータスを設定する
-                       status = SORRYSERVER_RECV;
-               }
-       } catch (const std::bad_alloc&)
-       {
-               std::cerr << "handle_sorryserver_recv exception: Could not allocate memory." << std::endl;
-               putLogError(17000, "Could not allocate memory.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_sorryserver_recv exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_recv() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               putLogError(17000, "function protocol_module_sessionless::check_message_result "
-                       "protocol_module_sessionless::handle_sorryserver_recv() : "
-                       "Unkown exception.", __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_recv( const boost::thread::id thread_id,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen ): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_response_send_inform
- *
- *@param [in] thread_id
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_response_send_inform(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_response_send_inform(
         const boost::thread::id thread_id)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in/out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_response_send_inform( const boost::thread::id thread_id):"
-                       "const boost::asio::ip::udp::endpoint& rs_endpoint,"
-                       "const boost::array<char,MAX_BUFFER_SIZE>& recvbuffer,"
-                       "const size_t recvlen): "
-                       "return_value=%d.");
-               formatter % STOP;
-               putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return STOP;
 }
 
-/*!
- *handle_client_connection_check
- *
- *@param [in] thread_id
- *@param [out]sendbuffer
- *@param [out]datalen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_client_connection_check(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_client_connection_check(
         const boost::thread::id thread_id, boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen)
 {
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_connection_check( const boost::thread::id thread_id, "
-                       "boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen): "
-                       "thread_id=%d, sendbuffer=%d, datalen=%d");
-               formatter % thread_id % sendbuffer.data() % datalen;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       size_t send_buffer_size = sendbuffer.max_size();
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       if (session_data->recive_data_map.find(session_data->target_endpoint) == session_data->recive_data_map.end())
-                       {
-                               putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->target_endpoint];
-
-               //該当スレッドの送信可能データを取得する
-               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(17000, "sending possible data is not existed.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //送信バッファサイズ ≧ 送信可能データサイズ
-               if (send_buffer_size > it->send_possible_size)
-               {
-                       //送信可能データを先頭から送信可能データサイズ分、送信バッファにコピーする
-                       memcpy(sendbuffer.data(), recv_data.recive_buffer + it->send_offset, it->send_possible_size);
-                       //送信済データサイズに送信可能データサイズを設定する
-                       it->send_end_size = it->send_possible_size;
-                       //送信可能データサイズに0を設定する
-                       it->send_possible_size = 0;
-                       //
-                       datalen = it->send_possible_size;
-               }
-               //送信バッファサイズ < 送信可能データサイズ
-               else
-               {
-                       //送信可能データを先頭から送信バッファサイズ分、送信バッファにコピーする
-                       memcpy(sendbuffer.data(), recv_data.recive_buffer + it->send_offset, send_buffer_size);
-                       //送信済データサイズに送信バッファサイズを設定する
-                       it->send_end_size = send_buffer_size;
-                       //送信可能データサイズから送信バッファサイズを減算する
-                       it->send_possible_size -= send_buffer_size;
-                       //
-                       datalen = send_buffer_size;
-               }
-
-               //遷移先ステータスを設定する
-               status = CLIENT_SEND;
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_client_connection_check exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_connection_check() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_connection_check() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_connection_check( const boost::thread::id thread_id): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return status;
 }
 
-/*!
- *handle_client_select
- *
- *@param [in] thread_id
- *@param [out] sendbuffer
- *@param [out] datalen
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_client_select(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_client_select(
         const boost::thread::id thread_id, boost::asio::ip::udp::endpoint& cl_endpoint, boost::array<char,
                 MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in/out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_select( const boost::thread::id thread_id,"
-                       "boost::asio::ip::udp::endpoint& cl_endpoint,"
-                       "boost::array<char,MAX_BUFFER_SIZE>& sendbuffer,"
-                       "size_t& datalen):"
-                       "return_value=%d.");
-               formatter % STOP;
-               putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return STOP;
 }
 
-/*!
- *handle_client_send
- *
- *@param [in] thread_id
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_client_send(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_client_send(
         const boost::thread::id thread_id)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_send( const boost::thread::id thread_id): "
-                       "thread_id=%d");
-               formatter % thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-               if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-               {
-                       putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               session_data = session_thread_data_map[thread_id];
-               if (session_data == NULL)
-               {
-                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               if (session_data->recive_data_map.find(session_data->target_endpoint) == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[session_data->target_endpoint];
-
-               send_status_it it = recv_data.send_status_list.begin();
-               send_status_it it_end = recv_data.send_status_list.end();
-               it = find_if(it, it_end, data_send_ok());
-               if (it == it_end)
-               {
-                       putLogError(17000, "sending possible data is not existed.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               //送信可能データサイズ > 0
-               if (it->send_possible_size > 0)
-               {
-                       //送信状態に送信待を設定する
-                       it->status = SEND_OK;
-                       //送信データオフセットに送信済データサイズを加算する
-                       it->send_offset += it->send_end_size;
-
-                       for (std::list<edit_data>::iterator list_it = it->edit_data_list.begin(); list_it
-                               != it->edit_data_list.end(); ++list_it)
-                       {
-                               //編集データ設定位置から送信済データサイズを減算する。
-                               list_it->insert_posission -= it->send_end_size;
-                       }
-
-                       //送信済データサイズに0を設定する
-                       it->send_end_size = 0;
-               }
-               //送信可能データサイズ ≦ 0
-               else
-               {
-                       //送信データ残サイズ > 0
-                       if (it->send_rest_size > 0)
-                       {
-                               //送信状態に送信継続を設定する
-                               it->status = SEND_CONTINUE;
-                       }
-                       //送信データ残サイズ ≦ 0
-                       else
-                       {
-                               //送信状態に送信済を設定する
-                               it->status = SEND_END;
-                       }
-               }
-
-               it = recv_data.send_status_list.begin();
-               it = find_if(it, it_end, data_send_ok());
-               //送信可能データあり
-               if (it != it_end)
-               {
-                       //遷移先ステータスを設定する
-                       status = REALSERVER_CONNECT;
-               }
-               //送信可能データなし
-               else
-               {
-                       //終了フラグがONの場合
-                       if (session_data->end_flag == END_FLAG_ON)
-                       {
-                               //遷移先ステータスを設定する
-                               status = CLIENT_DISCONNECT;
-                       }
-                       //終了フラグがOFFの場合
-                       else
-                       {
-                               //sorry状態の場合
-                               if (session_data->sorry_flag == SORRY_FLAG_ON)
-                               {
-                                       //遷移先ステータスを設定する
-                                       status = SORRYSERVER_RECV;
-                               }
-                               //sorry状態以外の場合
-                               else
-                               {
-                                       //遷移先ステータスを設定する
-                                       status = REALSERVER_RECV;
-                               }
-                       }
-               }
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_client_send exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_send() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_send() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_client_send( const boost::thread::id thread_id): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
        return status;
 }
 
-/*!
- *handle_client_disconnect
- *
- *@param [in] thread_id
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_client_disconnect(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_client_disconnect(
         const boost::thread::id thread_id)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               putLogDebug(10002, "in/out_function: protocol_module_sessionless::"
-                       "handle_client_disconnect()", __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
        return FINALIZE;
 }
 
-/*!
- *handle_sorry_enable
- *
- *@param [in] thread_id
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorry_enable(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorry_enable(
         const boost::thread::id thread_id)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_enable( const boost::thread::id thread_id): "
-                       "thread_id=%d");
-               formatter % thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
-       EVENT_TAG status;
-       boost::asio::ip::tcp::endpoint endpoint;
-       bool send_possible = false;
-       bool send_continue = false;
-       bool send_disable = false;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       endpoint = session_data->thread_division == THREAD_DIVISION_UP_STREAM ? session_data->client_endpoint_tcp
-                               : session_data->target_endpoint;
-                       if (session_data->recive_data_map.find(endpoint) == session_data->recive_data_map.end())
-                       {
-                               putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[endpoint];
-
-               //該当スレッドの送信可能データを取得する
-               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())
-               {
-                       send_possible = true;
-               }
-
-               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())
-               {
-                       send_continue = true;
-               }
-
-               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;
-               }
-
-               //上りスレッドの場合
-               if (session_data->thread_division == THREAD_DIVISION_UP_STREAM)
-               {
-                       //accept完了フラグOFFの場合
-                       if (session_data->accept_end_flag == ACCEPT_END_FLAG_OFF)
-                       {
-                               //sorry状態をON
-                               session_data->sorry_flag = SORRY_FLAG_ON;
-                               //遷移先ステータスを設定する
-                               status = ACCEPT;
-                       }
-                       //accept完了フラグONの場合
-                       else
-                       {
-                               //sorry状態の場合
-                               if (session_data->sorry_flag == SORRY_FLAG_ON)
-                               {
-                                       //送信可能データあり
-                                       if (send_possible)
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = SORRYSERVER_SELECT;
-                                       }
-                                       //送信可能データなし
-                                       else
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = CLIENT_RECV;
-                                       }
-                               }
-                               //sorry状態以外の場合
-                               else
-                               {
-                                       //送信継続データあり
-                                       if (send_continue)
-                                       {
-                                               //終了フラグをON
-                                               session_data->end_flag = END_FLAG_ON;
-                                               //遷移先ステータスを設定する
-                                               status = REALSERVER_DISCONNECT;
-                                       }
-                                       //送信継続データなし
-                                       else
-                                       {
-                                               //sorryserver切替中フラグON
-                                               session_data->sorryserver_switch_flag = SORRYSERVER_SWITCH_FLAG_ON;
-                                               //sorry状態をON
-                                               session_data->sorry_flag = SORRY_FLAG_ON;
-                                               //遷移先ステータスを設定する
-                                               status = REALSERVER_DISCONNECT;
-                                       }
-                               }
-                       }
-               }
-               //下りスレッドの場合
-               else
-               {
-                       //sorry状態の場合
-                       if (session_data->sorry_flag == SORRY_FLAG_ON)
-                       {
-                               //送信可能データあり
-                               if (send_possible)
-                               {
-                                       //遷移先ステータスを設定する
-                                       status = CLIENT_CONNECTION_CHECK;
-                               }
-                               //送信可能データなし
-                               else
-                               {
-                                       //遷移先ステータスを設定する
-                                       status = SORRYSERVER_RECV;
-                               }
-                       }
-                       //sorry状態以外の場合
-                       else
-                       {
-                               //送信不可データあり または 送信データ残サイズ > 0 が存在する場合
-                               if (send_disable)
-                               {
-                                       //終了フラグをON
-                                       session_data->end_flag = END_FLAG_ON;
-                                       //遷移先ステータスを設定する
-                                       status = REALSERVER_DISCONNECT;
-                               }
-                               //
-                               else
-                               {
-                                       //sorry状態をON
-                                       session_data->sorry_flag = SORRY_FLAG_ON;
-                                       //送信可能データあり
-                                       if (send_possible)
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = CLIENT_CONNECTION_CHECK;
-                                       }
-                                       //送信可能データなし
-                                       else
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = SORRYSERVER_RECV;
-                                       }
-                               }
-                       }
-               }
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_sorry_enable exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_enable() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_enable() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_enable( const boost::thread::id thread_id): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-
        return status;
 }
 
-/*!
- *handle_sorry_disable
- *
- *@param [in] thread_id
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorry_disable(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorry_disable(
         const boost::thread::id thread_id)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_disable( const boost::thread::id thread_id): "
-                       "thread_id=%d");
-               formatter % thread_id;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       boost::asio::ip::tcp::endpoint endpoint;
-       bool send_possible = false;
-       bool send_disable = false;
-       bool send_continue = false;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-                               putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                               return FINALIZE;
-                       }
-               }
-
-               endpoint = session_data->thread_division == THREAD_DIVISION_UP_STREAM ? session_data->client_endpoint_tcp
-                       : session_data->target_endpoint;
-               if (session_data->recive_data_map.find(endpoint) == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[endpoint];
-
-               //送信可能データを検索
-               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())
-               {
-                       send_possible = true;
-               }
-
-               //送信不可データあり または 送信データ残サイズ > 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;
-               }
-
-               //送信継続データを検索
-               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())
-               {
-                       send_continue = true;
-               }
-
-               //上りスレッドの場合
-               if (session_data->thread_division == THREAD_DIVISION_UP_STREAM)
-               {
-                       //accept完了フラグOFFの場合
-                       if (session_data->accept_end_flag == ACCEPT_END_FLAG_OFF)
-                       {
-                               //sorry状態をOFF
-                               session_data->sorry_flag = SORRY_FLAG_OFF;
-                               //遷移先ステータスを設定する
-                               status = ACCEPT;
-                       }
-                       //accept完了フラグONの場合
-                       else
-                       {
-                               //sorry状態の場合
-                               if (session_data->sorry_flag == SORRY_FLAG_ON)
-                               {
-                                       //送信継続データあり
-                                       if (send_continue)
-                                       {
-                                               //終了フラグをON
-                                               session_data->end_flag = END_FLAG_ON;
-                                               //遷移先ステータスを設定する
-                                               status = SORRYSERVER_DISCONNECT;
-                                       }
-                                       //送信継続データなし
-                                       else
-                                       {
-                                               //realserver切替中
-                                               session_data->realserver_switch_flag = REALSERVER_SWITCH_FLAG_ON;
-                                               //sorry状態をOFF
-                                               session_data->sorry_flag = SORRY_FLAG_OFF;
-                                               //遷移先ステータスを設定する
-                                               status = SORRYSERVER_DISCONNECT;
-                                       }
-                               }
-                               //sorry状態以外の場合
-                               else
-                               {
-                                       //送信可能データあり
-                                       if (send_possible)
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = REALSERVER_SELECT;
-                                       }
-                                       //送信可能データなし
-                                       else
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = CLIENT_RECV;
-                                       }
-                               }
-                       }
-               }
-               //下りスレッドの場合
-               else
-               {
-                       //sorry状態の場合
-                       if (session_data->sorry_flag == SORRY_FLAG_ON)
-                       {
-                               //送信不可データあり または 送信データ残サイズ > 0 が存在する場合
-                               if (send_disable)
-                               {
-                                       //終了フラグをON
-                                       session_data->end_flag = END_FLAG_ON;
-                                       //遷移先ステータスを設定する
-                                       status = SORRYSERVER_DISCONNECT;
-                               }
-                               //送信不可データなし かつ 送信データ残サイズ > 0 が存在しない場合
-                               else
-                               {
-                                       //sorry状態をOFF
-                                       session_data->sorry_flag = SORRY_FLAG_OFF;
-                                       //送信可能データあり
-                                       if (send_possible)
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = CLIENT_CONNECTION_CHECK;
-                                       }
-                                       //送信可能データなし
-                                       else
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = REALSERVER_RECV;
-                                       }
-                               }
-                       }
-                       //sorry状態以外の場合
-                       else
-                       {
-                               //送信可能データあり
-                               if (send_possible)
-                               {
-                                       //遷移先ステータスを設定する
-                                       status = CLIENT_CONNECTION_CHECK;
-                               }
-                               //送信可能データなし
-                               else
-                               {
-                                       //遷移先ステータスを設定する
-                                       status = REALSERVER_RECV;
-                               }
-                       }
-               }
-       } catch (std::exception& ex)
-       {
-               std::cerr << "handle_sorry_disable exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_disable() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_disable() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_disable( const boost::thread::id thread_id): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_sorryserver_disconnect
- *
- *@param [in] thread_id
- *@param [in] rs_endpoint
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_disconnect(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_disconnect(
         const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & rs_endpoint)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorry_disable( const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & rs_endpoint): "
-                       "thread_id=%d, rs_endpoint=%s");
-               formatter % thread_id % rs_endpoint.address().to_string();
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       bool possible_flag = false;
-       boost::asio::ip::tcp::endpoint endpoint;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               {
-                       boost::mutex::scoped_lock sclock(session_thread_data_map_mutex);
-                       if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-                       {
-
-                               return FINALIZE;
-                       }
-
-                       session_data = session_thread_data_map[thread_id];
-                       if (session_data == NULL)
-                       {
-                               return FINALIZE;
-                       }
-               }
-
-               if (session_data->recive_data_map.find(endpoint) == session_data->recive_data_map.end())
-               {
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[endpoint];
-
-               //送信可能データを検索
-               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())
-               {
-                       possible_flag = true;
-               }
-
-               //上りスレッドの場合
-               if (session_data->thread_division == THREAD_DIVISION_UP_STREAM)
-               {
-                       //終了フラグがONの場合
-                       if (session_data->end_flag == END_FLAG_ON)
-                       {
-                               //遷移先ステータスを設定する
-                               status = CLIENT_RECV;
-                       }
-                       //終了フラグがOFFの場合
-                       else
-                       {
-                               //sorryserver切替中の場合
-                               if (session_data->sorryserver_switch_flag == SORRYSERVER_SWITCH_FLAG_ON)
-                               {
-                                       //送信可能データあり
-                                       if (possible_flag)
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = SORRYSERVER_SELECT;
-                                       }
-                                       //送信可能データなし
-                                       else
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = CLIENT_RECV;
-                                       }
-                               }
-                               //sorryserver切替中でない場合
-                               else
-                               {
-                                       //終了フラグをON
-                                       session_data->end_flag = END_FLAG_ON;
-                                       status = CLIENT_RECV;
-                               }
-                       }
-               }
-               //下りスレッドの場合
-               else
-               {
-                       //終了フラグをON
-                       session_data->end_flag = END_FLAG_ON;
-                       //送信可能データあり
-                       if (possible_flag)
-                       {
-                               //遷移先ステータスを設定する
-                               status = CLIENT_CONNECTION_CHECK;
-                       }
-                       //送信可能データなし
-                       else
-                       {
-                               //遷移先ステータスを設定する
-                               status = CLIENT_DISCONNECT;
-                       }
-               }
-       } catch (std::exception& ex)
-       {
-               std::cerr << "handle_realserver_disconnect exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_disconnect() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_disconnect() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_disconnect( const boost::thread::id thread_id): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_sorryserver_disconnect
- *
- *@param [in] thread_id
- *@param [in] sorry_endpoint
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_sorryserver_disconnect(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_sorryserver_disconnect(
         const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & sorry_endpoint)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format
-                       formatter(
-                               "in_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_sorryserver_disconnect( const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & sorry_endpoint): "
-                                       "thread_id=%d, sorry_endpoint=%s");
-               formatter % thread_id % sorry_endpoint.address().to_string();
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
-       EVENT_TAG status;
-       bool possible_flag = false;
-       boost::asio::ip::tcp::endpoint endpoint;
-       session_thread_data_sessionless* session_data = NULL;
-
-       try
-       {
-               if (session_thread_data_map.find(thread_id) == session_thread_data_map.end())
-               {
-                       putLogError(17000, "Invalid thread id.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               session_data = session_thread_data_map[thread_id];
-
-               if (session_data == NULL)
-               {
-                       putLogError(17000, "Invalid pointer.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               if (session_data->recive_data_map.find(endpoint) == session_data->recive_data_map.end())
-               {
-                       putLogError(17000, "Invalid endpoint.", __FILE__, __LINE__ );
-                       return FINALIZE;
-               }
-
-               recive_data& recv_data = session_data->recive_data_map[endpoint];
-
-               //送信可能データを検索
-               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())
-               {
-                       possible_flag = true;
-               }
-
-               //上りスレッドの場合
-               if (session_data->thread_division == THREAD_DIVISION_UP_STREAM)
-               {
-                       //終了フラグがONの場合
-                       if (session_data->end_flag == END_FLAG_ON)
-                       {
-                               //遷移先ステータスを設定する
-                               status = CLIENT_RECV;
-                       }
-                       //終了フラグがOFFの場合
-                       else
-                       {
-                               //realserver切替中の場合
-                               if (session_data->realserver_switch_flag == REALSERVER_SWITCH_FLAG_ON)
-                               {
-                                       //送信可能データあり
-                                       if (possible_flag)
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = REALSERVER_SELECT;
-                                       }
-                                       //送信可能データなし
-                                       else
-                                       {
-                                               //遷移先ステータスを設定する
-                                               status = CLIENT_RECV;
-                                       }
-                               }
-                               //realserver切替中でない場合
-                               else
-                               {
-                                       //終了フラグをON
-                                       session_data->end_flag = END_FLAG_ON;
-                                       status = CLIENT_RECV;
-                               }
-                       }
-               }
-               //下りスレッドの場合
-               else
-               {
-                       //終了フラグをON
-                       session_data->end_flag = END_FLAG_ON;
-                       //送信可能データあり
-                       if (possible_flag)
-                       {
-                               //遷移先ステータスを設定する
-                               status = CLIENT_CONNECTION_CHECK;
-                       }
-                       //送信可能データなし
-                       else
-                       {
-                               //遷移先ステータスを設定する
-                               status = CLIENT_DISCONNECT;
-                       }
-               }
-       } catch (const std::exception& ex)
-       {
-               std::cerr << "handle_sorryserver_disconnect exception: error=%s" << ex.what() << "." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_disconnect() exception: result=%d, error=%s.");
-               formatter % FINALIZE % ex.what();
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       } catch (...)
-       {
-               std::cerr << "Unkown exception." << std::endl;
-               boost::format formatter("function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_sorryserver_disconnect() exception: result=%d.");
-               formatter % FINALIZE;
-               putLogError(17000, formatter.str(), __FILE__, __LINE__ );
-               status = FINALIZE;
-       }
-
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format
-                       formatter(
-                               "out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                                       "handle_sorryserver_disconnect( const boost::thread::id thread_id, const boost::asio::ip::tcp::endpoint & sorry_endpoint): return_value=%d");
-               formatter % status;
-               putLogDebug(10005, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
 
        return status;
 }
 
-/*!
- *handle_realserver_close
- *
- *@param [in] thread_id
- *@param [in] rs_endpoint
- */
-protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::handle_realserver_close(
+protocol_module_cinsert::EVENT_TAG protocol_module_cinsert::handle_realserver_close(
         const boost::thread::id thread_id, const boost::asio::ip::udp::endpoint & rs_endpoint)
 {
-       /*-------- DEBUG LOG --------*/
-       if (LOG_LV_DEBUG == getloglevel())
-       {
-               boost::format formatter("in/out_function: protocol_module_sessionless::EVENT_TAG protocol_module_sessionless::"
-                       "handle_realserver_close( const boost::thread::id thread_id,"
-                       "const boost::asio::ip::udp::endpoint & rs_endpoint ): "
-                       "return_value=%d.");
-               formatter % STOP;
-               putLogDebug(10000, formatter.str(), __FILE__, __LINE__ );
-       }
-       /*------DEBUG LOG END------*/
+
        return STOP;
 }