diff options
| author | ruki <[email protected]> | 2022-05-21 10:08:05 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-05-21 10:08:05 +0800 |
| commit | 525f5145e9b0a1a28757bf8273b74d4caf675f57 (patch) | |
| tree | 5504a4de932edeb034a664c49dbbd053a9873e85 /xmake/modules/private/service/remote_cache/server_session.lua | |
| parent | a391526b3c1ffdcad34c2095980ee046e161016e (diff) | |
use remote cache
Diffstat (limited to 'xmake/modules/private/service/remote_cache/server_session.lua')
| -rw-r--r-- | xmake/modules/private/service/remote_cache/server_session.lua | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/xmake/modules/private/service/remote_cache/server_session.lua b/xmake/modules/private/service/remote_cache/server_session.lua index 53845a189..a73734749 100644 --- a/xmake/modules/private/service/remote_cache/server_session.lua +++ b/xmake/modules/private/service/remote_cache/server_session.lua @@ -101,9 +101,21 @@ function server_session:push(respmsg) local stream = self:stream() local cachekey = body.filename local cachefile = path.join(self:cachedir(), cachekey:sub(1, 2), cachekey) - if not stream:recv_file(cachefile) then + local cachefile_tmp = cachefile .. ".tmp" + if not stream:recv_file(cachefile_tmp) then + os.tryrm(cachefile_tmp) raise("recv %s failed!", cachefile) end + os.mv(cachefile_tmp, cachefile) +end + +-- get file info +function server_session:fileinfo(respmsg) + local body = respmsg:body() + local stream = self:stream() + local cachekey = body.filename + local cachefile = path.join(self:cachedir(), cachekey:sub(1, 2), cachekey) + body.fileinfo = {filesize = os.filesize(cachefile), exists = os.isfile(cachefile)} end -- clean files |
