+//! virtualservice option session_thread_pool_size function
+//! @param[in] argument position
+//! @param[in] argument count
+//! @param[in] argument value
+bool l7vs::l7vsadm::parse_opt_vs_session_thread_pool_size_func(int &pos, int argc, char *argv[])
+{
+ Logger logger(LOG_CAT_L7VSADM_COMMON, 10, "l7vsadm::parse_opt_vs_session_thread_pool_size_func", __FILE__, __LINE__);
+ if (++pos >= argc) {
+ // session_thread_pool_size is not specified.
+ std::string buf("session_thread_pool_size is not specified.(--session-thread-pool-size)");
+ l7vsadm_err.setter(true, buf);
+ Logger::putLogError(LOG_CAT_L7VSADM_PARSE, /* fix me */999, buf, __FILE__, __LINE__);
+ return false;
+ }
+ try {
+ virtualservice_element &elem = request.vs_element; // request virtualservice element reference get.
+ std::string tmp = argv[pos];
+ unsigned long long ullval = boost::lexical_cast<unsigned long long> (argv[pos]);
+ if (ullval < 1) {
+ std::string buf("session-thread-pool-size is too small.(--session-thread-pool-size)");
+ l7vsadm_err.setter(true, buf);
+ Logger::putLogError(LOG_CAT_L7VSADM_PARSE, /* fix me */999, buf, __FILE__, __LINE__);
+ return false;
+ }
+ elem.session_thread_pool_size = ullval; // set session_thread_pool_size
+ } catch (boost::bad_lexical_cast &ex) {
+ std::string buf("invalid session-thread-pool-size.(--session-thiread-pool-size)");
+ l7vsadm_err.setter(true, buf);
+ Logger::putLogError(LOG_CAT_L7VSADM_PARSE, /* fix me */999, buf, __FILE__, __LINE__);
+ return false;
+ }
+ return true;
+}
+