Commits

Tuukka Norri committed ec839fb

MSC's

  • Participants
  • Parent commits 644b29c

Comments (0)

Files changed (3)

File Documentation/baseten-connect.msc

-msc
-{
-    hscale = "1";
-
-    d   [ label = "Delegate" ],
-    ctx [ label = "Database context" ],
-    c   [ label = "Connector" ] ;
-
-    d=>ctx [ label = "-connect:" ];
-    ctx->c [ label = "Begin connection attempt" ];
-    c->c   [ label = "Display connection panel" ];
-    ...    [ label = "User sets the host name" ];
-    c=>>d  [ label = "-databaseContextGotDatabaseURI:" ];
-    d=>ctx [ label = "-entityForTable:error: or\n-entityForTable:inSchema:error:", ID = "Repeat" ];
-    ctx>>d [ label = "BXEntityDescription" ];
-    d->d   [ label = "Prepare entities" ];
-    c->c   [ label = "Continue connecting" ];
-    ...    [ label = "Connection gets negotiated" ];
-    ---    [ label = "Connection attempt finished" ];
-    c=>>d  [ label = "-databaseContextConnectionSucceeded: or -databaseContext:failedToConnect:" ];
-}

File Documentation/connect.msc

+msc
+{
+    hscale = "1.5";
+
+    d   [ label = "Delegate" ],
+    ctx [ label = "Database context" ],
+    c   [ label = "Connector" ] ;
+
+    d=>ctx [ label = "-connect:" ];
+    ctx->c [ label = "Begin connection attempt" ];
+    c->c   [ label = "Display connection panel" ];
+    ...    [ label = "User sets the host name" ];
+    ...;
+    c=>>d  [ label = "-databaseContextGotDatabaseURI:" ];
+    d->d   [ label = "Prepare entities" ];
+    d>>c;
+    c->c   [ label = "Continue connecting" ];
+    ...    [ label = "Connection gets negotiated" ];
+    ...;
+    ---    [ label = "Connection attempt finished" ];
+    c=>>d  [ label = "-databaseContextConnectionSucceeded: or -databaseContext:failedToConnect:" ];
+}

File Documentation/update-change-propagation.msc

+msc
+{
+    hscale = "3";
+
+    a    [ label = "Client A" ],
+    obja [ label = "Database object" ],
+    ctxa [ label = "A's Database context" ],
+    db   [ label = "Database server" ],
+    ctxb [ label = "B's Database context" ],
+    objb [ label = "Database object" ],
+    b    [ label = "Client B" ];
+     
+    a=>obja    [ label = "-setPrimitiveValue:forKey:" ];
+    obja=>obja [ label = "Cache the given value" ];
+    obja=>ctxa [ label = "Update the database" ];
+    ctxa=>db   [ label = "Send the UPDATE query" ];
+    db=>ctxb   [ label = "Notify the other clients about rows being changed" ];
+    ctxb=>db   [ label = "Send a SELECT query" ];
+    db>>ctxb   [ label = "Return changed rows' primary keys" ];
+    ctxb=>objb [ label = "Fault the corresponding object" ];
+    ...;
+    ...;
+    b=>objb    [ label = "-primitiveValueForKey:" ];
+    objb=>ctxb [ label = "Fire the fault" ];
+    ctxb=>db   [ label = "Send a SELECT query" ];
+    db>>ctxb   [ label = "Return the corresponding row" ];
+    ctxb=>objb [ label = "Cache the received values" ];
+    objb>>b    [ label = "Return the value" ];
+}