Esempio n. 1
0
        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 + "\"");
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        /// <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)
 {
 }
Esempio n. 7
0
 /// <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)
 {
 }
Esempio n. 8
0
 /// <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)
 {
 }