MCPcopy Create free account
hub / github.com/DEROFDN/Engram / toggleRPCServer

Function toggleRPCServer

functions.go:2888–2955  ·  view source on GitHub ↗

Start an RPC server to allow decentralized application communication

(port string)

Source from the content-addressed store, hash-verified

2886
2887// Start an RPC server to allow decentralized application communication
2888func 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()

Callers 1

layoutCyberdeckFunction · 0.85

Calls 3

newRPCUsernameFunction · 0.85
newRPCPasswordFunction · 0.85
RefreshMethod · 0.80

Tested by

no test coverage detected