- From: Gavigan, Kevin <kgavigan@jaguarlandrover.com>
- Date: Wed, 8 Jun 2016 09:45:39 +0100
- To: Paul Boyes <Paul.Boyes@inrix.com>, Peter Winzell <Peter.Winzell@melcogot.com>, "Crofts, Adam" <acrofts1@jaguarlandrover.com>, public-automotive <public-automotive@w3.org>, Peter Virk <pvirk1@jaguarlandrover.com>, Lovene Bhatia <lbhatia@jaguarlandrover.com>
- Message-ID: <CAKaHsmfcon40vomEr49Hou0svwrKr2jfK+rqsHvObgcOck_TAQ@mail.gmail.com>
Hi, [I've started a new thread as the previous one was being used for both WebSockets and Security/Certificate discussions] Thanks very much to Rudi and Powell for the feedback on the call re. the client passing a client request id to the server on subscribe, get, set messages. The server then echo's the client request id back in the response to make it easier for client's to link requests and responses. I would be happy to amend the draft that Adam and I have prepared to include 'requestId'. Intention would be that for subscriptions, the 'requestId' passed in the subscription request includes the clients definition of the subscription id (as Rudi proposed) and for get and set messages it is the clients unique id for the particular get/set request. If there is a better name than 'requestId', please do let me know (trying to keep it short and for simplicity, to allow same id to be used on subscribe, unsubscribe, get and set) >From server perspective, implementation is simple, for subscribe, get and set it will just echo back the requestId value in the response. For unsubscribe, the client could pass this to unsubscribe (as Rudi proposed) and value is echoed back in the unsubscribe success response. Could you please confirm that this addresses the concerns you raised or please add to this new thread if it doesn't. Thanks very much and regards, Kevin Hi Rudi, Thanks for the feedback, my comments are in blue below. Client-side Subscription ID -------------------------------------- The server returns an acknowledgement when a subscription attempt was successful. The acknowledgement contains a server-side subscription ID and the subscription parameters so that the client can identify the request. I suggest for the subscription request to contain a client-side subscription ID/handle. That would alleviate the client from parsing the subscription parameters and matching them to the request. That client-side subscription ID could also be included with the data sent to the client. Agree that we could do this, but my preference would be for the subscription id to be server generated (as this is simpler, please see also answers to other questions). The server can then guarantee uniqueness for that websocket session. Personally, I don't think it would be too onerous for client to link the server subscription id to the using the path. In the real world, if I subscribe to receive a magazine in the post, the publisher decides what the subscription id is. This follows the same pattern. Repeated Interval Subscription -------------------------------------------- The subscribe action in the table does not define what happens when the client sends repeat subscription messages with different intervals for the same signal path. Would that result in another subscription or in a change of the interval of the previously made subscription? I would think that it should change the subscription interval. However, if we used a client-side subscription ID and the client uses a different ID for the subsequent subscription request to the same signal with a different, or essentially any interval, would that result in a change of the previous subscription despite the different client ID (eventually with an updated client-side subscription ID)? If the client sends multiple subscriptions to the server for different intervals, then the server would respect the request and create separate subscriptions with different ids, and use the different id to identify the response. Slightly unusual case, but for all the server knows, the client might have a legitimate reason for wanting to see the same signal at different intervals. Similarly, a client could subscribe using onchange and interval to obtain data for the same signal. These two requests would result in two independent subscriptions. This keeps it simple on the server side. The server just respects the clients wishes. Repeated Onchange Subscription ------------------------------------------------- Are repeated onchange subscriptions supported for the same signal but with different above and below thresholds? One could think of multiple subscriptions to define bands of engine.rpm: (above: 0, below: 1000), (above: 1000, below: 2000), ... If that is possible then overlapping intervals/bands would result in multiple messages? Yes. This keeps it simple again. If the client wants to create multiple independent subscriptions, then thist is allowed. Thanks for the quick feedback, look forward to speaking to you in a few minutes on the call. Kind regards, Kevin *Kevin Gavigan BSc, MSc, PhD, MCP, MCTS* *Software Architect* *Connected Infotainment* *Electrical, Electronic and Software Engineering (EESE)* Jaguar Land Rover *Mobile: 07990 084866* *Email:* kgavigan@jaguarlandrover.com *Office address:* GO03/057 • Building 523, Gaydon • Maildrop: (G03) Jaguar Land Rover • Banbury Road • Gaydon • Warwick • CV35 0RR
Received on Wednesday, 8 June 2016 08:46:27 UTC