Revision 35f68e9a40bfbb04e4486e072e2ef18f8a0f7c99 (click the page title to view the current version)

Behavioral/WebSocketProtocol

Simplified Web Socket Protocol

enum Request = open | close
abstract WebSocket
xor request -> Request ?
success
failure
xor states
initial ready
[ initially no request ]
opened
[ initially no request ]
closed --> closed
[ no request ]
failed --> failed
[ no request ]

Example scenarios

  1. Web socket successfully opened and closed
webSocketOpenedClosed : WebSocket
|WebSocket WebSocket |WebSocket |WebSocket |WebSocket |WebSocket
|   request->open | |  request->close | |
|     success |     success | |
|  ready |  ready |  opened | |  closed |  closed
  1. Web socket successfully opened but failed to be closed
webSocketOpenedFailed : WebSocket
WebSocket WebSocket WebSocket WebSocket WebSocket WebSocket
  request->open   request->close
    success     failure
  ready   ready   opened   failed  failed
  1. Web socket failed to be opened
webSocketFailed : WebSocket
[ ready --> request = open && request.failure --> failed --> failed ]
WebSocket WebSocket WebSocket WebSocket
  request->open
    failure
  ready   ready   failed   failed