@@ -175,7 +175,12 @@ Pulled by :5558 from localhost:5557: 0 blobs using 1 RPCs, 0.044928375 secs
Note that this is show counts of blobs and RPCs used for each pull
request, though the video does not. Yours should do this.
### Server command line args:
-**-b <dir>** : Directory where the blobdirectory should be
placed. CHANGES: your blob directory should be called
`<dir>/blob<port>`, where the dir is specified like `-b /tmp/`, and
the port is specified w/ `-s <port>`. For example: "/tmp/blob5001".
-**-s <serverport>** : Bare integer.
-**-S <serv1:port1,serv2:port2...>** : Comma-separated list of
<servname:portno>. If specified, this takes precendence over
...
...
@@ -183,9 +188,9 @@ request, though the video does not. Yours should do this.
debugging, whereas the server names from `compose.yaml` are
used in the containerization test.
-**-p <period>**: Changes the anti-entropy period.
-**-a**: The code you use to implement *pull* requests should spin
off new gothreads to handle *path* and *get* calls in parallel. This
should significantly improve your performance w/o impacting correctness.
-**-D <treedepth>**: Changes the tree depth. Remember that a depth
*N* counds all levels, including root and leaves (i.e. height+1).
### Antientropy
...
...
@@ -319,21 +324,218 @@ counts of blobs pulled and RPCs as described above.
## Notes
- The maximum size of gRPC message is 4MB by default. We should not be
running up against this limit in my testing.
-`async` NOT TESTED.
## Testing
The following will be my testing procedure. Yours should look very
similar, and accept the same command line arguments as below, or you
will not get credit.
First thing we test is probing your merkle tree. To make this concrete, grab [this file](blob5001.tgz), and then untar it in `/tmp/`, so that you now have a directory `/tmp/blob5001` that has 95 blobs in it.
**Test 1 (10 pts):** Then fire up an ubiserver, which should NOT wipe out the blobdir you just uncompressed, and instead should treat it as its own.
```
io:~/818/projects/p4/solution> go run ubiserver.go -b /tmp/blob -s :5001 -S localhost:5002 -p 1000 &
[1] 46194
io:~/818/projects/p4/solution> And we are up..."io.lan"....[localhost:5002]
serving gRPC on :5001, host "io.lan", servers [localhost:5002], /tmp/blob5001/
io:~/818/projects/p4/solution> go run cli.go -s :5001 list | wc
96 97 6373
```
**Test 2 (10 pts):** The above showed that your ubiserver can find my blobs. Next, create and probe a merkle tree:
```
io:~/818/projects/p4/solution> go run cli.go -s :5001 build
95-sig tree on :5001: sha256_32_MEKYINRK35PJ67GPQZRFM2X4KUOTOU756ZJWNDCCY6U4LYEHN3YQ====
io:~/818/projects/p4/solution> go run cli.go -s :5001 path last E