|
|
@ -156,13 +156,14 @@ auto app_config::default_data_directory(const provider_type &prov)
|
|
|
|
{std::string{REPERTORY_DATA_NAME}, app_config::get_provider_name(prov)});
|
|
|
|
{std::string{REPERTORY_DATA_NAME}, app_config::get_provider_name(prov)});
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
#if defined(__APPLE__)
|
|
|
|
#if defined(__APPLE__)
|
|
|
|
auto data_directory = utils::path::resolve(
|
|
|
|
|
|
|
|
std::string("~/Library/Application Support/") + REPERTORY_DATA_NAME +
|
|
|
|
|
|
|
|
'/' + app_config::get_provider_name(prov));
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
auto data_directory =
|
|
|
|
auto data_directory =
|
|
|
|
utils::path::resolve(std::string("~/.local/") + REPERTORY_DATA_NAME +
|
|
|
|
utils::path::resolve(std::string{"~/Library/Application Support/"} +
|
|
|
|
'/' + app_config::get_provider_name(prov));
|
|
|
|
std::string{REPERTORY_DATA_NAME} + '/' +
|
|
|
|
|
|
|
|
app_config::get_provider_name(prov));
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
auto data_directory = utils::path::resolve(
|
|
|
|
|
|
|
|
std::string{"~/.local/"} + std::string{REPERTORY_DATA_NAME} + '/' +
|
|
|
|
|
|
|
|
app_config::get_provider_name(prov));
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
return data_directory;
|
|
|
|
return data_directory;
|
|
|
@ -194,71 +195,72 @@ auto app_config::default_rpc_port(const provider_type &prov) -> std::uint16_t {
|
|
|
|
|
|
|
|
|
|
|
|
auto app_config::get_json() const -> json {
|
|
|
|
auto app_config::get_json() const -> json {
|
|
|
|
json ret = {
|
|
|
|
json ret = {
|
|
|
|
{"ApiAuth", api_auth_},
|
|
|
|
{"ApiAuth", api_auth_},
|
|
|
|
{"ApiPort", api_port_},
|
|
|
|
{"ApiPort", api_port_},
|
|
|
|
{"ApiUser", api_user_},
|
|
|
|
{"ApiUser", api_user_},
|
|
|
|
{"ChunkDownloaderTimeoutSeconds", download_timeout_secs_},
|
|
|
|
{"ChunkDownloaderTimeoutSeconds", download_timeout_secs_},
|
|
|
|
{"EnableChunkDownloaderTimeout", enable_chunk_downloader_timeout_},
|
|
|
|
{"EnableChunkDownloaderTimeout", enable_chunk_downloader_timeout_},
|
|
|
|
{"EnableCommDurationEvents", enable_comm_duration_events_},
|
|
|
|
{"EnableCommDurationEvents", enable_comm_duration_events_},
|
|
|
|
{"EnableDriveEvents", enable_drive_events_},
|
|
|
|
{"EnableDriveEvents", enable_drive_events_},
|
|
|
|
#if defined(_WIN32)
|
|
|
|
#if defined(_WIN32)
|
|
|
|
{"EnableMountManager", enable_mount_manager_},
|
|
|
|
{"EnableMountManager", enable_mount_manager_},
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
{"EnableMaxCacheSize", enable_max_cache_size_},
|
|
|
|
{"EnableMaxCacheSize", enable_max_cache_size_},
|
|
|
|
{"EncryptConfig",
|
|
|
|
{"EncryptConfig",
|
|
|
|
{
|
|
|
|
{
|
|
|
|
{"EncryptionToken", encrypt_config_.encryption_token},
|
|
|
|
{"EncryptionToken", encrypt_config_.encryption_token},
|
|
|
|
{"Path", encrypt_config_.path},
|
|
|
|
{"Path", encrypt_config_.path},
|
|
|
|
}},
|
|
|
|
}},
|
|
|
|
{"EventLevel", event_level_to_string(event_level_)},
|
|
|
|
{"EventLevel", event_level_to_string(event_level_)},
|
|
|
|
{"EvictionDelayMinutes", eviction_delay_mins_},
|
|
|
|
{"EvictionDelayMinutes", eviction_delay_mins_},
|
|
|
|
{"EvictionUsesAccessedTime", eviction_uses_accessed_time_},
|
|
|
|
{"EvictionUsesAccessedTime", eviction_uses_accessed_time_},
|
|
|
|
{"HighFreqIntervalSeconds", high_freq_interval_secs_},
|
|
|
|
{"HighFreqIntervalSeconds", high_freq_interval_secs_},
|
|
|
|
{"HostConfig",
|
|
|
|
{"HostConfig",
|
|
|
|
{
|
|
|
|
{
|
|
|
|
{"AgentString", hc_.agent_string},
|
|
|
|
{"AgentString", hc_.agent_string},
|
|
|
|
{"ApiPassword", hc_.api_password},
|
|
|
|
{"ApiPassword", hc_.api_password},
|
|
|
|
{"ApiPort", hc_.api_port},
|
|
|
|
{"ApiPort", hc_.api_port},
|
|
|
|
{"HostNameOrIp", hc_.host_name_or_ip},
|
|
|
|
{"HostNameOrIp", hc_.host_name_or_ip},
|
|
|
|
{"TimeoutMs", hc_.timeout_ms},
|
|
|
|
{"TimeoutMs", hc_.timeout_ms},
|
|
|
|
}},
|
|
|
|
}},
|
|
|
|
{"LowFreqIntervalSeconds", low_freq_interval_secs_},
|
|
|
|
{"LowFreqIntervalSeconds", low_freq_interval_secs_},
|
|
|
|
{"MaxCacheSizeBytes", max_cache_size_bytes_},
|
|
|
|
{"MaxCacheSizeBytes", max_cache_size_bytes_},
|
|
|
|
{"MaxUploadCount", max_upload_count_},
|
|
|
|
{"MaxUploadCount", max_upload_count_},
|
|
|
|
{"OnlineCheckRetrySeconds", online_check_retry_secs_},
|
|
|
|
{"OnlineCheckRetrySeconds", online_check_retry_secs_},
|
|
|
|
{"OrphanedFileRetentionDays", orphaned_file_retention_days_},
|
|
|
|
{"OrphanedFileRetentionDays", orphaned_file_retention_days_},
|
|
|
|
{"PreferredDownloadType", preferred_download_type_},
|
|
|
|
{"PreferredDownloadType", preferred_download_type_},
|
|
|
|
{"ReadAheadCount", read_ahead_count_},
|
|
|
|
{"ReadAheadCount", read_ahead_count_},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"RemoteMount",
|
|
|
|
"RemoteMount",
|
|
|
|
{
|
|
|
|
{
|
|
|
|
{"EnableRemoteMount", enable_remote_mount_},
|
|
|
|
{"EnableRemoteMount", enable_remote_mount_},
|
|
|
|
{"IsRemoteMount", is_remote_mount_},
|
|
|
|
{"IsRemoteMount", is_remote_mount_},
|
|
|
|
{"RemoteClientPoolSize", remote_client_pool_size_},
|
|
|
|
{"RemoteClientPoolSize", remote_client_pool_size_},
|
|
|
|
{"RemoteMaxConnections", remote_max_connections_},
|
|
|
|
{"RemoteMaxConnections", remote_max_connections_},
|
|
|
|
{"RemoteHostNameOrIp", remote_host_name_or_ip_},
|
|
|
|
{"RemoteHostNameOrIp", remote_host_name_or_ip_},
|
|
|
|
{"RemotePort", remote_port_},
|
|
|
|
{"RemotePort", remote_port_},
|
|
|
|
{"RemoteReceiveTimeoutSeconds", remote_receive_timeout_secs_},
|
|
|
|
{"RemoteReceiveTimeoutSeconds", remote_receive_timeout_secs_},
|
|
|
|
{"RemoteSendTimeoutSeconds", remote_send_timeout_secs_},
|
|
|
|
{"RemoteSendTimeoutSeconds", remote_send_timeout_secs_},
|
|
|
|
{"RemoteToken", remote_token_},
|
|
|
|
{"RemoteToken", remote_token_},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{"RetryReadCount", retry_read_count_},
|
|
|
|
{"RetryReadCount", retry_read_count_},
|
|
|
|
{"RingBufferFileSize", ring_buffer_file_size_},
|
|
|
|
{"RingBufferFileSize", ring_buffer_file_size_},
|
|
|
|
{"S3Config",
|
|
|
|
{"S3Config",
|
|
|
|
{
|
|
|
|
{
|
|
|
|
{"AccessKey", s3_config_.access_key},
|
|
|
|
{"AccessKey", s3_config_.access_key},
|
|
|
|
{"Bucket", s3_config_.bucket},
|
|
|
|
{"Bucket", s3_config_.bucket},
|
|
|
|
{"CacheTimeoutSeconds", s3_config_.cache_timeout_secs},
|
|
|
|
{"CacheTimeoutSeconds", s3_config_.cache_timeout_secs},
|
|
|
|
{"EncryptionToken", s3_config_.encryption_token},
|
|
|
|
{"EncryptionToken", s3_config_.encryption_token},
|
|
|
|
{"Region", s3_config_.region},
|
|
|
|
{"Region", s3_config_.region},
|
|
|
|
{"SecretKey", s3_config_.secret_key},
|
|
|
|
{"SecretKey", s3_config_.secret_key},
|
|
|
|
{"TimeoutMs", s3_config_.timeout_ms},
|
|
|
|
{"TimeoutMs", s3_config_.timeout_ms},
|
|
|
|
{"URL", s3_config_.url},
|
|
|
|
{"URL", s3_config_.url},
|
|
|
|
{"UsePathStyle", s3_config_.use_path_style},
|
|
|
|
{"UsePathStyle", s3_config_.use_path_style},
|
|
|
|
{"UseRegionInURL", s3_config_.use_region_in_url},
|
|
|
|
{"UseRegionInURL", s3_config_.use_region_in_url},
|
|
|
|
}},
|
|
|
|
}},
|
|
|
|
{"Version", version_}};
|
|
|
|
{"Version", version_}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
if (prov_ == provider_type::encrypt) {
|
|
|
|
if (prov_ == provider_type::encrypt) {
|
|
|
|
ret.erase("ChunkDownloaderTimeoutSeconds");
|
|
|
|
ret.erase("ChunkDownloaderTimeoutSeconds");
|
|
|
|