Skip to content

DSA Protocol Structure

Aaron edited this page Nov 27, 2018 · 3 revisions

The DSA protocol is implemented as a hierarchy of nodes located at /sys/Connection.

The important nodes are:

  • Connection
    • Transport
    • Session
      • Requester
        • Subscriptions
      • Responder
        • Subscriptions

Connection

The connection manages a reconnect loop and is responsible for creating the transport and session.

Transport

The transport is responsible for reading and writing directly to a network connection. The default implementation is uses Tyrus which is the reference implementation of the Java websocket API. Environments such as Jetty already have a websocket implementation so those can be used instead.

Session

The session is the message director. It reads messages from the transport and sends them to either the requester or responder. The connection will create either a DSA v1 or DSA v2 session based on the broker URL.

Requester

Manages outbound requests.

Responder

Processes inbound requests.

Clone this wiki locally