summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-05-21 09:11:59 +0800
committerruki <[email protected]>2022-05-21 09:11:59 +0800
commit3387f817869fa72eaef44cae85220223cc5514f5 (patch)
tree9548e733f35efa82c93902d38847b7089f6593a5
parent67343fb260abfbf202dc6feae643de3e8bec9458 (diff)
add pull and push message
-rw-r--r--xmake/modules/private/service/message.lua50
1 files changed, 42 insertions, 8 deletions
diff --git a/xmake/modules/private/service/message.lua b/xmake/modules/private/service/message.lua
index e4af25945..71cd9ce28 100644
--- a/xmake/modules/private/service/message.lua
+++ b/xmake/modules/private/service/message.lua
@@ -25,14 +25,16 @@ import("core.base.object")
local message = message or object()
-- the common message code
-message.CODE_CONNECT = 1 -- connect server
-message.CODE_DISCONNECT = 2 -- disconnect server
-message.CODE_CLEAN = 3 -- clean all cached files in server
-message.CODE_DATA = 4 -- send data
-message.CODE_RUNCMD = 5 -- run the given command in server
-message.CODE_DIFF = 6 -- diff files between server and client
-message.CODE_SYNC = 7 -- sync files between server and client
-message.CODE_COMPILE = 8 -- compile the given file from client in server
+message.CODE_CONNECT = 1 -- connect server
+message.CODE_DISCONNECT = 2 -- disconnect server
+message.CODE_CLEAN = 3 -- clean all cached files in server
+message.CODE_DATA = 4 -- send data
+message.CODE_RUNCMD = 5 -- run the given command in server
+message.CODE_DIFF = 6 -- diff files between server and client
+message.CODE_SYNC = 7 -- sync files between server and client
+message.CODE_COMPILE = 8 -- compile the given file from client in server
+message.CODE_PULL = 9 -- pull the given file from server
+message.CODE_PUSH = 10 -- push the given file to server
-- init message
function message:init(body)
@@ -89,6 +91,16 @@ function message:is_data()
return self:code() == message.CODE_DATA
end
+-- is pull message?
+function message:is_pull()
+ return self:code() == message.CODE_PULL
+end
+
+-- is push message?
+function message:is_push()
+ return self:code() == message.CODE_PUSH
+end
+
-- get user authorization
function message:token()
return self:body().token
@@ -230,6 +242,28 @@ function new_compile(session_id, toolname, toolkind, plat, arch, toolchain, flag
})
end
+-- new pull message
+function new_pull(session_id, filename, opt)
+ opt = opt or {}
+ return _new({
+ code = message.CODE_PULL,
+ filename = filename,
+ session_id = session_id,
+ token = opt.token
+ })
+end
+
+-- new push message
+function new_push(session_id, filename, opt)
+ opt = opt or {}
+ return _new({
+ code = message.CODE_PUSH,
+ filename = filename,
+ session_id = session_id,
+ token = opt.token
+ })
+end
+
function main(body)
return _new(body)
end