summaryrefslogtreecommitdiff
path: root/script/rpc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'script/rpc.lua')
-rw-r--r--script/rpc.lua91
1 files changed, 0 insertions, 91 deletions
diff --git a/script/rpc.lua b/script/rpc.lua
deleted file mode 100644
index 4a495695..00000000
--- a/script/rpc.lua
+++ /dev/null
@@ -1,91 +0,0 @@
-local json = require 'json'
-
-local TIMEOUT = 600.0
-
-local ID = 0
-local BUF = {}
-
-local function notify(self, method, params)
- local pack = {
- jsonrpc = '2.0',
- method = method,
- params = params,
- }
- local content = json.encode(pack)
- local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content)
- io.write(buf)
-end
-
-local function request(self, method, params, callback)
- ID = ID + 1
- local pack = {
- jsonrpc = '2.0',
- id = ID,
- method = method,
- params = params,
- }
- local content = json.encode(pack)
- local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content)
- BUF[ID] = {
- callback = callback,
- timeout = os.clock() + TIMEOUT,
- }
- io.write(buf)
-end
-
-local function requestWait(self, method, params, callback)
- ID = ID + 1
- local pack = {
- jsonrpc = '2.0',
- id = ID,
- method = method,
- params = params,
- }
- local content = json.encode(pack)
- local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content)
- BUF[ID] = {
- callback = callback,
- }
- io.write(buf)
-end
-
-local function response(self, id, data)
- data.jsonrpc = '2.0'
- data.id = id
- local content = json.encode(data)
- local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content)
- io.write(buf)
-end
-
-local function recieve(self, proto)
- local id = proto.id
- local data = BUF[id]
- if not data then
- log.warn('Recieve id not found: ', table.dump(proto))
- return
- end
- BUF[id] = nil
- if data.timeout and os.clock() > data.timeout then
- log.warn('Recieve timeout: ', table.dump(proto))
- if data.callback then
- local info = debug.getinfo(data.callback, 'S')
- log.warn('Call back info: ', info.source, info.linedefined)
- end
- return
- end
- if proto.error then
- log.warn('Recieve: ', table.dump(proto.error))
- return
- end
- if data.callback then
- data.callback(proto.result)
- end
-end
-
-return {
- notify = notify,
- request = request,
- requestWait = requestWait,
- response = response,
- recieve = recieve,
-}