Start an RPC server to allow decentralized application communication
(port string)
| 2886 | |
| 2887 | // Start an RPC server to allow decentralized application communication |
| 2888 | func toggleRPCServer(port string) { |
| 2889 | var err error |
| 2890 | if engram.Disk == nil { |
| 2891 | return |
| 2892 | } |
| 2893 | |
| 2894 | if cyberdeck.RPC.server != nil { |
| 2895 | cyberdeck.RPC.server.RPCServer_Stop() |
| 2896 | cyberdeck.RPC.server = nil |
| 2897 | cyberdeck.RPC.status.Text = "Blocked" |
| 2898 | cyberdeck.RPC.status.Color = colors.Gray |
| 2899 | cyberdeck.RPC.status.Refresh() |
| 2900 | cyberdeck.RPC.toggle.Text = "Turn On" |
| 2901 | cyberdeck.RPC.toggle.Refresh() |
| 2902 | status.Cyberdeck.FillColor = colors.Gray |
| 2903 | status.Cyberdeck.StrokeColor = colors.Gray |
| 2904 | status.Cyberdeck.Refresh() |
| 2905 | cyberdeck.RPC.userText.Text = cyberdeck.RPC.user |
| 2906 | cyberdeck.RPC.passText.Text = cyberdeck.RPC.pass |
| 2907 | cyberdeck.RPC.userText.Enable() |
| 2908 | cyberdeck.RPC.passText.Enable() |
| 2909 | logger.Printf("[Engram] RPC server closed\n") |
| 2910 | } else { |
| 2911 | logger.Printf("[Engram] Starting RPC server %s\n", port) |
| 2912 | |
| 2913 | globals.Arguments["--rpc-bind"] = port |
| 2914 | |
| 2915 | if cyberdeck.RPC.user == "" { |
| 2916 | cyberdeck.RPC.user = newRPCUsername() |
| 2917 | } |
| 2918 | |
| 2919 | if cyberdeck.RPC.pass == "" { |
| 2920 | cyberdeck.RPC.pass = newRPCPassword() |
| 2921 | } |
| 2922 | |
| 2923 | globals.Arguments["--rpc-login"] = cyberdeck.RPC.user + ":" + cyberdeck.RPC.pass |
| 2924 | |
| 2925 | cyberdeck.RPC.server, err = rpcserver.RPCServer_Start(engram.Disk, "Cyberdeck") |
| 2926 | if err != nil { |
| 2927 | cyberdeck.RPC.server = nil |
| 2928 | cyberdeck.RPC.status.Text = "Blocked" |
| 2929 | cyberdeck.RPC.status.Color = colors.Gray |
| 2930 | cyberdeck.RPC.status.Refresh() |
| 2931 | cyberdeck.RPC.toggle.Text = "Turn On" |
| 2932 | cyberdeck.RPC.toggle.Refresh() |
| 2933 | status.Cyberdeck.FillColor = colors.Gray |
| 2934 | status.Cyberdeck.StrokeColor = colors.Gray |
| 2935 | status.Cyberdeck.Refresh() |
| 2936 | cyberdeck.RPC.userText.Text = cyberdeck.RPC.user |
| 2937 | cyberdeck.RPC.passText.Text = cyberdeck.RPC.pass |
| 2938 | cyberdeck.RPC.userText.Enable() |
| 2939 | cyberdeck.RPC.passText.Enable() |
| 2940 | } else { |
| 2941 | cyberdeck.RPC.status.Text = "Allowed" |
| 2942 | cyberdeck.RPC.status.Color = colors.Green |
| 2943 | cyberdeck.RPC.status.Refresh() |
| 2944 | cyberdeck.RPC.toggle.Text = "Turn Off" |
| 2945 | cyberdeck.RPC.toggle.Refresh() |
no test coverage detected