Difference between revisions of "Common NetMsg Exchanges"

(list initial connect pattern)
 
(8 intermediate revisions by one user not shown)
Line 1: Line 1:
{{DesignDocument}}
+
This whole page needs to be redone with flow charts!
  
==Application Interconnect Handshake==
+
Initial handshake:
This sequence of NetMsg exchanges represents the communications between an external application (App M) attempting to connect to a running Geometry Service (App GS).  This sequence assumes success.
+
* Server sends [GS Remote Nodename Set]
 +
* Client sends [GS Remote Nodename Set]
 +
* Client sends [NewSessionReqMsg] (login/passwd)
 +
* Server sends [SessionInfoMsg] (uuid of session)
  
===Main Sequence===
+
Now ready to process
# App GS waits for incoming socket requests.
+
# App M creates a socket connection to App GS.
+
# App GS accepts the socket connection.
+
# App M and App GS are now connected at the socket level.
+
# App M sends a RemHostNameSET NetMsg to App GS.
+
# App GS checks its RemHostName list for duplicates. (Alt #1)
+
# App GS sends a RemHostNameSETOK NetMsg to App M.
+
# App GS sends a RemHostNameSET NetMsg to App M.
+
# App GS waits for App M to send a RemHostNameSETOK NetMsg.
+
# App M sends a RemHostNameSETOK NetMsg.
+
# App M is now connected to the Geometry Service network.
+
# App M sends a NewSessionREQ NetMsg.
+
# App GS creates a new Session.
+
# App GS sends a NewSessionREQOK NetMsg.
+
 
+
===Alt Sequence #1===
+
:6a. App GS finds that the incoming Host is already on the HostList.  Either a duplicate name, or a duplicate connection. 
+
 
+
:6b. App GS sends App M a RemHostNameSETFAIL NetMsg.
+
 
+
:6c. App GS drops socket connection to App M.
+
 
+
:6d. App M drops socket connection to App GS.
+
 
+
 
+
==Application Request For Geometry==
+
This sequence of NetMsg exchanges represents the communications between an external application (App M) as it requests Geometry from the Geometry Service (App GS).  This sequence assumes success.
+

Latest revision as of 14:25, 28 March 2011

This whole page needs to be redone with flow charts!

Initial handshake:

  • Server sends [GS Remote Nodename Set]
  • Client sends [GS Remote Nodename Set]
  • Client sends [NewSessionReqMsg] (login/passwd)
  • Server sends [SessionInfoMsg] (uuid of session)

Now ready to process