41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
title Remote tunnel proxy
|
|
|
|
nymea->proxy: TunnelProxy.RegisterServer(serverUuid, serverName)
|
|
|
|
note over proxy: Register the server using the uuid
|
|
|
|
nymea<-proxy: TunnelProxyErrorNoError
|
|
|
|
note over nymea, proxy: Protocol from now on SLIP\nThe proxy is client 0x0000
|
|
|
|
note over nymea, proxy: SLIP encoded data: 2 Bytes address + data
|
|
|
|
proxy<-client: TunnelProxy.RegisterClient(clientUuid, clientName, serverUuid)
|
|
|
|
note over proxy: Search server with given uuid
|
|
|
|
note over proxy: Server: Assign address for this client socket (0x0001)
|
|
|
|
proxy->nymea: SLIP:0x0000: ProxyTunnel.ClientConnected (address: 0x0001)
|
|
|
|
|
|
proxy->client: TunnelProxyErrorNoError
|
|
|
|
note over client: Connected\nAny incomming and outgoing data will\nbe from the connected nymea instance\nuntil disconnected.
|
|
|
|
note over nymea, client: Connected: The client can now communicate with nymea directly.\nThe proxy will not interpret any data from the client, and from the server only\nthe transmission frame (SLIP + 2 bytes of address)
|
|
|
|
|
|
|
|
proxy<-client: "request data"
|
|
|
|
nymea<-proxy: SLIP:0x0001 "request data"
|
|
|
|
nymea->proxy: SLIP:0x0001 "response data"
|
|
|
|
proxy->client: "response data"
|
|
|
|
nymea->proxy: SLIP:0x0001 "notification data"
|
|
|
|
proxy->client: "notification data"
|