2024-04-01 18:40:03 +00:00
using ArgsUniform ;
namespace AutoClient
{
public class Configuration
{
2024-09-12 10:05:42 +00:00
[Uniform("codex-endpoints", "ce", "CODEXENDPOINTS", false, "Codex endpoints. Semi-colon separated. (default 'http://localhost:8080')")]
public string CodexEndpoints { get ; set ; } = "http://localhost" ;
2024-04-01 18:40:03 +00:00
[Uniform("datapath", "dp", "DATAPATH", false, "Root path where all data files will be saved.")]
public string DataPath { get ; set ; } = "datapath" ;
2024-06-28 06:47:09 +00:00
[Uniform("purchases", "np", "PURCHASES", false, "Number of concurrent purchases.")]
2024-06-28 07:16:12 +00:00
public int NumConcurrentPurchases { get ; set ; } = 10 ;
2024-06-28 06:47:09 +00:00
2024-08-23 11:21:31 +00:00
[Uniform("contract-duration", "cd", "CONTRACTDURATION", false, "contract duration in minutes. (default 6 hours)")]
public int ContractDurationMinutes { get ; set ; } = 60 * 6 ;
2024-04-01 18:40:03 +00:00
2024-08-23 11:21:31 +00:00
[Uniform("contract-expiry", "ce", "CONTRACTEXPIRY", false, "contract expiry in minutes. (default 15 minutes)")]
2024-04-01 18:40:03 +00:00
public int ContractExpiryMinutes { get ; set ; } = 15 ;
[Uniform("num-hosts", "nh", "NUMHOSTS", false, "Number of hosts for contract. (default 5)")]
public int NumHosts { get ; set ; } = 5 ;
[Uniform("num-hosts-tolerance", "nt", "NUMTOL", false, "Number of host tolerance for contract. (default 2)")]
public int HostTolerance { get ; set ; } = 2 ;
[Uniform("price","p", "PRICE", false, "Price of contract. (default 10)")]
public int Price { get ; set ; } = 10 ;
[Uniform("collateral", "c", "COLLATERAL", false, "Required collateral. (default 1)")]
public int RequiredCollateral { get ; set ; } = 1 ;
2024-08-23 11:21:31 +00:00
[Uniform("filesizemb", "smb", "FILESIZEMB", false, "When greater than zero, size of file generated and uploaded. When zero, random images are used instead.")]
public int FileSizeMb { get ; set ; } = 0 ;
2024-04-01 18:40:03 +00:00
public string LogPath
{
get
{
return Path . Combine ( DataPath , "logs" ) ;
}
}
}
}