Janet 1.39.1-e9c6678 Documentation
(Other Versions:
1.38.0
1.37.1
1.36.0
1.35.0
1.34.0
1.31.0
1.29.1
1.28.0
1.27.0
1.26.0
1.25.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.1
1.17.1
1.16.1
1.15.0
1.13.1
1.12.2
1.11.1
1.10.1
1.9.1
1.8.1
1.7.0
1.6.0
1.5.1
1.5.0
1.4.0
1.3.1
)
rpc
A simple remote procedure call tool for Janet.
Server
(import spork/rpc)
(def functions
@{:print (fn [self x] (print "remote print: " x))
:add (fn [self & xs] (sum xs))})
(rpc/server functions "127.0.0.1" "9001")
Client
(import spork/rpc)
(def c (rpc/client "127.0.0.1" "9001" "joe"))
# Will print on server
(:print c "Hello from client!")
(:add c 1 3 5 7 9) # -> 25
# Close the underlying connection
(:close c)
Reference
rpc/client rpc/default-host rpc/default-port rpc/server
rpc/client function source
(client &opt host port name) Create an RPC client. The default host is "127.0.0.1" and the default port is "9366". Returns a table of async functions that can be used to make remote calls. This table also contains a :close function that can be used to close the connection.
rpc/server function source
(server functions &opt host port workers-per-connection) Create an RPC server. The default host is "127.0.0.1" and the default port is "9366". Also must take a dictionary of functions that clients can call.