public RpcWebClient(IRpcSettings rpcSettings, ITimerSettings timerSettings) { RpcSettings = rpcSettings; TimerSettings = timerSettings; var httpClientHandler = new HttpClientHandler(); if (httpClientHandler.SupportsAutomaticDecompression) { httpClientHandler.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; } if (httpClientHandler.SupportsProxy) { var proxy = rpcSettings.Proxy; if (proxy != null) { httpClientHandler.Proxy = proxy; httpClientHandler.UseProxy = true; } } HttpClient = new HttpClient(httpClientHandler) { Timeout = TimeSpan.FromMilliseconds(Timeout.Infinite) }; HttpClient.DefaultRequestHeaders.ExpectContinue = false; }
internal DaemonProcessManager(IRpcSettings rpcSettings, IDaemonProcessSettings processSettings) : base(processSettings.SoftwareDaemon, rpcSettings.UrlHostDaemon, rpcSettings.UrlPortDaemon) { ProcessArguments = new List <string> { "--log-level " + (int)processSettings.LogLevel }; string testnetString; if (processSettings.UseTestnet) { testnetString = "testnet-"; ProcessArguments.Add("--testnet"); } else { testnetString = ""; } if (rpcSettings.UrlHostDaemon != MoneroAPI.Utilities.DefaultRpcUrlHost) { ProcessArguments.Add("--rpc-bind-ip " + rpcSettings.UrlHostDaemon); } ProcessArguments.Add("--" + testnetString + "rpc-bind-port " + rpcSettings.UrlPortDaemon); ProcessArguments.Add("--" + testnetString + "data-dir \"" + processSettings.DirectoryDaemonData + "\""); }
internal AccountProcessManager(IRpcSettings rpcSettings, IAccountManagerProcessSettings pathSettings, DaemonProcessManager daemonProcess) : base(pathSettings.SoftwareAccountManager, rpcSettings.UrlHostAccountManager, rpcSettings.UrlPortAccountManager) { Exited += OnProcessExited; RpcSettings = rpcSettings; ProcessSettings = pathSettings; DaemonProcess = daemonProcess; }
/// <summary>Creates a new instance of Monero API .NET's RPC manager service.</summary> /// <param name="rpcSettings">IP-related settings to use when communicating through the Monero core assemblies' RPC protocol.</param> /// <param name="timerSettings">Timer settings which can be used to alter data fetching intervals.</param> public MoneroRpcManager(IRpcSettings rpcSettings, ITimerSettings timerSettings) { if (rpcSettings == null) { rpcSettings = new RpcSettings(); } if (timerSettings == null) { timerSettings = new TimerSettings(); } RpcWebClient = new RpcWebClient(rpcSettings, timerSettings); RpcSettings = rpcSettings; TimerSettings = timerSettings; Daemon = new DaemonRpcManager(RpcWebClient); AccountManager = new AccountRpcManager(RpcWebClient); }
/// <summary>Creates a new instance of Monero API .NET's process manager service.</summary> /// <param name="rpcSettings">IP-related settings to use when communicating through the Monero core assemblies' RPC protocol.</param> /// <param name="accountManagerProcessSettings">Path settings for the account manager process.</param> /// <param name="daemonProcessSettings">Path settings for the daemon process.</param> public MoneroProcessManager(IRpcSettings rpcSettings, IAccountManagerProcessSettings accountManagerProcessSettings, IDaemonProcessSettings daemonProcessSettings) { if (rpcSettings == null) { rpcSettings = new RpcSettings(); } if (daemonProcessSettings == null) { daemonProcessSettings = new DaemonProcessSettings(); } if (accountManagerProcessSettings == null) { accountManagerProcessSettings = new AccountManagerProcessSettings(); } RpcSettings = rpcSettings; DaemonProcessSettings = daemonProcessSettings; AccountManagerProcessSettings = accountManagerProcessSettings; Daemon = new DaemonProcessManager(rpcSettings, daemonProcessSettings); AccountManager = new AccountProcessManager(rpcSettings, accountManagerProcessSettings, Daemon); }
/// <summary>Creates a new instance of Monero API .NET's RPC manager service.</summary> /// <param name="rpcSettings">IP-related settings to use when communicating through the Monero core assemblies' RPC protocol.</param> public MoneroRpcManager(IRpcSettings rpcSettings) : this(rpcSettings, null) { }
/// <summary>Creates a new instance of Monero API .NET's process manager service.</summary> /// <param name="rpcSettings">IP-related settings to use when communicating through the Monero core assemblies' RPC protocol.</param> public MoneroProcessManager(IRpcSettings rpcSettings) : this(rpcSettings, null, null) { }
/// <summary>Creates a new instance of Monero API .NET's process manager service.</summary> /// <param name="rpcSettings">IP-related settings to use when communicating through the Monero core assemblies' RPC protocol.</param> /// <param name="accountManagerProcessSettings">Path settings for the account manager process.</param> public MoneroProcessManager(IRpcSettings rpcSettings, IAccountManagerProcessSettings accountManagerProcessSettings) : this(rpcSettings, accountManagerProcessSettings, null) { }