diff --git a/.vscode/settings.json b/.vscode/settings.json index 06f46f52ffb6c5efc728e51640e065fb6beff4a6..889090c012737e9f0a8dc0b210ab129c04303486 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -91,6 +91,7 @@ "npos", "orams", "parametrization", + "pgflinewidth", "preflow", "printbibliography", "printf", diff --git a/diagrams/protocol.tex b/diagrams/protocol.tex index dec874106a847153a9d8be6a103ea267d385ced7..b26cc5c86dbf30b447da74768b8e6b6a05e2211b 100644 --- a/diagrams/protocol.tex +++ b/diagrams/protocol.tex @@ -1,13 +1,12 @@ \newcommand{\lockedData}{$\text{\lock}_\text{block}$} \begin{tikzpicture}[ - every node/.append style={draw,minimum width=3em,minimum height=1.5em}, + every node/.append style={minimum width=3em,minimum height=1.5em}, align=center, >=latex ] \node[ - draw=none, inner sep=0, outer sep=0, scale=0.01 @@ -16,8 +15,7 @@ \node[ below=of fake, label={above:{\small Position table}}, - scale=0.75, - draw=none + scale=0.75 ] (table) { \begin{tabular}{ l | c } @@ -37,7 +35,6 @@ \node[ label={\small Stash}, below=of table, - draw=none ] (stash) { $\{ 3, 5, 7, 13, \ldots \}$ @@ -46,15 +43,22 @@ \node[ label={Client}, - fit=(fake)(table)(stash) - ] (client) { - + fit=(fake)(table)(stash), + draw + ] (client) { }; + \node[ + label={User}, + right=6.0 of client.north, + ] (user) { + \Huge \user }; \node[ label={Server}, - right=of client + right=7.0 of client.south, + anchor=south, + draw ] (server) { \Tree @@ -71,5 +75,40 @@ }; + \uncover<2->{ + \draw[ + shorten >=\pgflinewidth, + -> + ] (user.west) -- node[sloped, anchor=center, above] {\scriptsize $\textsc{Access}(id)$} (client.north east); + } + + \uncover<6->{ + \draw[ + shorten >=\pgflinewidth, + <- + ] ([yshift=-3.0]user.west) -- node[sloped, anchor=center, below] {\scriptsize Return $data$} ([yshift=-3.0]client.north east); + } + + \uncover<3->{ + \draw[ + shorten >=\pgflinewidth, + <- + ] (server.north west) -- node[sloped, anchor=center, above] {\scriptsize Read path} (client.east); + } + + \uncover<4->{ + \draw[ + shorten >=\pgflinewidth, + -> + ] ([yshift=-3.0]server.north west) -- node[sloped, anchor=center, below] {\scriptsize Return path} ([yshift=-3.0]client.east); + } + + \uncover<5->{ + \draw[ + shorten >=\pgflinewidth, + -> + ] (client.south east) -- node[sloped, anchor=center, above] {\scriptsize Write path} (server.south west); + } + \end{tikzpicture}