Skip to content

Instantly share code, notes, and snippets.

@meshula
Created June 13, 2020 23:16
Show Gist options
  • Save meshula/76d69ec82c191c57de54bdf64aa7f1fa to your computer and use it in GitHub Desktop.
Save meshula/76d69ec82c191c57de54bdf64aa7f1fa to your computer and use it in GitHub Desktop.
rendezvous
# 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