OPTION(rgw_bucket_quota_soft_threshold, OPT_DOUBLE, 0.95) // threshold from which we don't rely on cached info for quota decisions
OPTION(rgw_bucket_quota_cache_size, OPT_INT, 10000) // number of entries in bucket quota cache
+OPTION(rgw_standalone_server_port, OPT_INT, 0) // 0 means disabled
+
OPTION(mutex_perf_counter, OPT_BOOL, false) // enable/disable mutex perf counter
// This will be set to true when it is safe to start threads.
olog->init(g_conf->rgw_ops_log_socket_path);
}
- struct mg_context *ctx;
- const char *options[] = {"listening_ports", "8080", "enable_keep_alive", "yes", NULL};
-
+ bool use_mongoose = (g_conf->rgw_standalone_server_port != 0);
+ struct mg_context *ctx = NULL;
RGWProcessEnv pe = { store, &rest, olog };
- ctx = mg_start((const char **)&options, &mongoose_callback, &pe);
- assert(ctx);
+ if (use_mongoose) {
+ char port_buf[32];
+ snprintf(port_buf, sizeof(port_buf), "%d", (int)g_conf->rgw_standalone_server_port);
+
+ const char *options[] = {"listening_ports", port_buf, "enable_keep_alive", "yes", NULL};
+
+ ctx = mg_start((const char **)&options, &mongoose_callback, &pe);
+ assert(ctx);
+ }
RGWProcess *pprocess = new RGWProcess(g_ceph_context, &pe, g_conf->rgw_thread_pool_size);
pprocess->run();
- mg_stop(ctx);
+ if (use_mongoose) {
+ mg_stop(ctx);
+ }
derr << "shutting down" << dendl;