Created
June 13, 2020 23:16
-
-
Save meshula/76d69ec82c191c57de54bdf64aa7f1fa to your computer and use it in GitHub Desktop.
rendezvous
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Rendezvous protocol | |
RENDEZVOUS | |
Admin | |
ShowAdmins | |
[name, email, [tags], show] | |
Contributors | |
[name, email, [tags], [shows]] | |
Shows | |
[name, assetRoot, meta, [tags], [episodes]] | |
Episodes | |
[name, id, show, [sequences], [tags], meta] | |
Sequences | |
[name, id, show, episode, [tags], [shots]] | |
Shots | |
[id, show, episode, sequence, directionNotes, [tags], [takes]] | |
Takes | |
[id, show, episode, sequence, shot, [tags], notes] | |
ShowSessions | |
[show, [sessionIds]] | |
Sessions | |
id, name, show, episode, sequence, shot, take, [users] | |
--------------------------------------------------------------------- | |
Admin adds session master server to rendezvous session master pool | |
--------------------------------------------------------------------- | |
ADMIN RENDEZVOUS | |
: : | |
add $SESSIONSERVER -- add to pool | |
--------------------------------------------------------------------- | |
Admin removes session master server to rendezvous session master pool | |
--------------------------------------------------------------------- | |
ADMIN RENDEZVOUS | |
: : | |
remove $SESSIONSERVER -- remove from pool | |
------------------------------ | |
Admin lists session servers | |
------------------------------ | |
ADMIN RENDEZVOUS | |
: : | |
list sessions ------------+ | |
: | |
+---------------- generate list | |
: | |
receive list | |
----------------- | |
Admin adds a show | |
----------------- | |
--------------------- | |
Admin removes a show | |
--------------------- | |
---------------------------- | |
Admin adds a Show admin | |
---------------------------- | |
------------------------------- | |
Admin edits Show admin details | |
------------------------------- | |
---------------------------- | |
Admin removes a Show admin | |
---------------------------- | |
---------------------------- | |
Show admin adds a contributor | |
---------------------------- | |
---------------------------------- | |
Show admin edits contributor details | |
---------------------------------- | |
---------------------------- | |
Show admin removes a contributor | |
---------------------------- | |
---------------------------- | |
Show admin adds an episode | |
---------------------------- | |
------------------------------ | |
Show admin removes an episode | |
------------------------------ | |
---------------------------- | |
Show admin adds a sequence | |
---------------------------- | |
------------------------------ | |
Show admin removes a sequence | |
------------------------------ | |
---------------------------- | |
contributor adds a shot | |
---------------------------- | |
---------------------------- | |
contributor removes a shot | |
---------------------------- | |
---------------------------- | |
contributor adds a take of a shot | |
---------------------------- | |
-------------------------------- | |
contributor removes a take of a shot | |
-------------------------------- | |
--------------------- | |
contributor enters system | |
--------------------- | |
CLIENT RENDEZVOUS | |
: : | |
join session $USER/$SHOW/$DURATION -+ | |
: | |
authenticate ----* reject | |
: | |
issue session $CREDENTIAL for $USER/$SHOW | |
start authentication timedown. | |
: | |
+-----------------------------+ | |
: | |
* | |
----------------------------- | |
contributor asks for sessions list | |
----------------------------- | |
CLIENT RENDEZVOUS | |
: : | |
available sessions $CREDENTIAL ---+ | |
: | |
return $SESSIONS list | |
| | |
+----------------------------+ | |
: | |
* | |
----------------------- | |
contributor joins a session | |
----------------------- | |
CLIENT RENDEZVOUS $SESSION MASTER | |
: : | |
join $SESSION $CREDENTIAL ---+ | |
: | |
+----------- allow $CREDENTIAL join to $SESSION ----* reject | |
: | |
issue session $MEMBERSHIP on $MASTER | |
: | |
+----------------------------------------------+ | |
: | |
* | |
------------------------- | |
contributor creates a session | |
------------------------- | |
CLIENT RENDEZVOUS MASTER | |
: : | |
create $SESSION(EPISODE/SEQUENCE/SHOT/TAKE) $CREDENTIAL -+ | |
: | |
+----------- allow $CREDENTIAL to create $SESSION ----* reject | |
: | |
issue session $MEMBERSHIP | |
: | |
+----------------------------------------------+ | |
: | |
* | |
--------------------------------- | |
contributor formally leaves a session | |
--------------------------------- | |
CLIENT SESSION MASTER RENDEZVOUS | |
: : | |
leave $SESSION $CREDENTIAL --+ | |
: : | |
* if no members left, -------- suspend $SESSION | |
------------------------- | |
contributor credential expires | |
------------------------- | |
SESSION MASTER CLIENT RENDEZVOUS | |
: : : | |
timeout notification ------ refresh request ----- authenticate ---* reject | |
: | |
refresh request for new $CREDENTIAL | |
: | |
+------------------------------------------------+ | |
: : | |
anticipate new $CREDENTIAL for old : | |
: | |
receive new $CREDENTIAL --+ | |
: | |
transfer old for new | |
: | |
transfer old for new -------+ | |
: | |
* | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment