static void Main(string[] args) { RPC rpc = new RPC(); Console.WriteLine(rpc.route("Test", "hello", new object[] { "World" })); Console.WriteLine(rpc.route("Test", "multiply", new object[] { 10, 20 })); Console.WriteLine(rpc.route("Test", "callable", new object[] { })); Console.WriteLine(rpc.route("Test2", "classAsParameter", new object[] { new TestClass() })); Console.WriteLine(rpc.route("Test2", "classAsReturnValue", new object[] { "blub" })); foreach(object a in (int[])rpc.route("Test2", "returnAnArray", new object[] { })) { Console.WriteLine(a); } foreach (object a in (int[])rpc.route("Test2", "arrayAsParameter", new object[] { new object[] {1, 2, 3, 4, 5} })) { Console.WriteLine(a); } foreach (object a in (TestClass[])rpc.route("Test2", "classArrayAsParameter", new object[] { new object[] { new TestClass(), new TestClass() } })) { Console.WriteLine(a); } List<TestClass> l = new List<TestClass>(); l.Add(new TestClass()); l.Add(new TestClass()); foreach (object a in (TestClass[])rpc.route("Test2", "genericAsParameter", new object[] { l })) { Console.WriteLine(a); } Console.ReadKey(); }
public void Import(RPC.MethodResult result) { mMethodResult = result; if (MethodResult.Status == ResultStatus.Error) { Status = InvokeStatus.Completed; } else { Status = InvokeStatus.Return; if (result.Parameters != null) foreach (string p in result.Parameters) { if (!string.IsNullOrEmpty(p)) ParameterNames.Add(p); } if (result.IsVoid && ParameterNames.Count == 0) Status = InvokeStatus.Completed; else if (result.IsVoid && ParameterNames.Count > 0) Status = InvokeStatus.Parameter; else Status = InvokeStatus.Return; } }
public static uint GetRPCHash(RPC rpc_hash) { if (isFinished == true) { return rpc[Enum.GetName(typeof(RPC),rpc_hash)]; } else { return 0x0; } }
public RemoteInvokeArgs(RPC.MethodCall call) { CallID = call.ID; if (call.Parameters.Count > 0) { Parameters = new object[call.Parameters.Count]; } else { Parameters = new object[0]; mHasCompleted = true; } mCall = call; ParameterTypes = call.Parameters; }
void MessageHandler.RPCHandler(RPC rpc) { throw new NotImplementedException(); }
/// <exception cref="System.IO.IOException"/> public virtual bool IsMethodSupported(string methodName) { return(RpcClientUtil.IsMethodSupported(rpcProxy, typeof(HSAdminRefreshProtocolPB) , RPC.RpcKind.RpcProtocolBuffer, RPC.GetProtocolVersion(typeof(HSAdminRefreshProtocolPB )), methodName)); }
/// <exception cref="System.IO.IOException"/> public virtual void Close() { RPC.StopProxy(rpcProxy); }
private void btnAttach_Click(object sender, EventArgs e) { btnAttach.ForeColor = (EnableMods = PS4.AttachProcess()) ? Color.Green : Color.Red; RPC.Enable(PS4); }
public static T Call <T>(ulong address, params object[] parameters) { return(RPC.Call <T>(address, parameters)); }
public Helper(string ip, int port) { this.rpc = new RPC(ip, port); }
public virtual IPEndPoint GetConnectAddress() { return(RPC.GetServerAddress(proxy)); }
public TumblerConfiguration LoadArgs(String[] args) { ConfigurationFile = args.Where(a => a.StartsWith("-conf=", StringComparison.Ordinal)).Select(a => a.Substring("-conf=".Length).Replace("\"", "")).FirstOrDefault(); DataDir = args.Where(a => a.StartsWith("-datadir=", StringComparison.Ordinal)).Select(a => a.Substring("-datadir=".Length).Replace("\"", "")).FirstOrDefault(); if (DataDir != null && ConfigurationFile != null) { var isRelativePath = Path.GetFullPath(ConfigurationFile).Length > ConfigurationFile.Length; if (isRelativePath) { ConfigurationFile = Path.Combine(DataDir, ConfigurationFile); } } Network = args.Contains("-testnet", StringComparer.OrdinalIgnoreCase) ? Network.TestNet : args.Contains("-regtest", StringComparer.OrdinalIgnoreCase) ? Network.RegTest : Network.Main; if (ConfigurationFile != null) { AssetConfigFileExists(); var configTemp = TextFileConfiguration.Parse(File.ReadAllText(ConfigurationFile)); Network = configTemp.GetOrDefault <bool>("testnet", false) ? Network.TestNet : configTemp.GetOrDefault <bool>("regtest", false) ? Network.RegTest : Network.Main; } if (DataDir == null) { DataDir = DefaultDataDirectory.GetDefaultDirectory("NTumbleBitServer", Network); } if (ConfigurationFile == null) { ConfigurationFile = GetDefaultConfigurationFile(Network); } Logs.Configuration.LogInformation("Network: " + Network); Logs.Configuration.LogInformation("Data directory set to " + DataDir); Logs.Configuration.LogInformation("Configuration file set to " + ConfigurationFile); if (!Directory.Exists(DataDir)) { throw new ConfigurationException("Data directory does not exists"); } var consoleConfig = new TextFileConfiguration(args); var config = TextFileConfiguration.Parse(File.ReadAllText(ConfigurationFile)); consoleConfig.MergeInto(config, true); if (config.Contains("help")) { Console.WriteLine("Details on the wiki page : https://github.com/NTumbleBit/NTumbleBit/wiki/Server-Config"); OpenBrowser("https://github.com/NTumbleBit/NTumbleBit/wiki/Server-Config"); Environment.Exit(0); } var standardCycles = new StandardCycles(Network); var cycleName = "kotori"; //config.GetOrDefault<string>("cycle", standardCycles.Debug ? "shorty2x" : "shorty2x"); Logs.Configuration.LogInformation($"Using cycle {cycleName}"); var standardCycle = standardCycles.GetStandardCycle(cycleName); if (standardCycle == null) { throw new ConfigException($"Invalid cycle name, choose among {String.Join(",", standardCycles.ToEnumerable().Select(c => c.FriendlyName).ToArray())}"); } ClassicTumblerParameters.CycleGenerator = standardCycle.Generator; ClassicTumblerParameters.Denomination = standardCycle.Denomination; var torEnabled = config.GetOrDefault <bool>("tor.enabled", true); if (torEnabled) { TorSettings = TorConnectionSettings.ParseConnectionSettings("tor", config); } Cooperative = config.GetOrDefault <bool>("cooperative", true); var defaultPort = config.GetOrDefault <int>("port", 37123); OnlyMonitor = config.GetOrDefault <bool>("onlymonitor", false); Listen = new IPEndPoint(IPAddress.Parse("127.0.0.1"), defaultPort); RPC = RPCArgs.Parse(config, Network); TorPath = config.GetOrDefault <string>("torpath", "tor"); DBreezeRepository = new DBreezeRepository(Path.Combine(DataDir, "db2")); Tracker = new Tracker(DBreezeRepository, Network); // 1% fee by default (desired value should be set in configuration anyway) var defaultFee = Money.Satoshis((decimal)ClassicTumblerParameters.Denomination.Satoshi * 0.01m); ClassicTumblerParameters.Fee = config.GetOrDefault <Money>("tumbler.fee", defaultFee); RPCClient rpc = null; try { rpc = RPC.ConfigureRPCClient(Network); } catch { throw new ConfigException("Please, fix rpc settings in " + ConfigurationFile); } Services = ExternalServices.CreateFromRPCClient(rpc, DBreezeRepository, Tracker, true); return(this); }