From 688a39117967ee276ad1340dcfdbc790d6048e48 Mon Sep 17 00:00:00 2001 From: Peter Keleher <keleher@umd.edu> Date: Tue, 3 Oct 2023 16:10:18 -0400 Subject: [PATCH] auto --- notes/crypto.ppt | Bin 2517504 -> 2515456 bytes p2.md | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/notes/crypto.ppt b/notes/crypto.ppt index dc82b219cdc19da4362014e2fb8f275784777648..bd50b9eeeaffc807955b7328c04989d84f0d4bf2 100644 GIT binary patch delta 23456 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 KSkF!T=Kllj>iEn6 delta 25119 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 Kn)gUl+W`Q{Dyky@ diff --git a/p2.md b/p2.md index 2bf2ab9..5324054 100644 --- a/p2.md +++ b/p2.md @@ -65,7 +65,7 @@ There are essentially two parts to this project, both of which that rely on usin gRPCs. The first part is taking your simple blob store and splitting it to a distinct -blob *store* in `p2/ubi/server.go` and command-line tools `p2/blob.go` and `p2/lock.go`. +blob *store* in `p2/ubi/server.go` and command-line tools `p2/cli.go` and `p2/lock.go`. The command-line tools understand files and directories, the server is just a dump blob server. The second part is building a lock server that will allow shared and @@ -158,7 +158,7 @@ The server: The clients: ``` - go run blob.go [-d] [-s <host:port>] (desc <sig>|get <sig> <destination>|put <source>|list|lock <path>|unlock <path>) + go run cli.go [-d] [-s <host:port>] (desc <sig>|get <sig> <destination>|put <source>|list|lock <path>|unlock <path>) go run lock.go [-d] [-s <host:port>] (lock <path>|rlock <path>|unlock <path>|runlock <path>) ``` -- GitLab