Adds VMS START_SESSION message type and message definition.

Bug: 130313799
Test: No tests affected. VmsUtils support will be added in a separate CL.
Change-Id: I1c7b713b85f191b057051737ca6bbdd0ae9bc170
This commit is contained in:
Mark Tabry
2019-04-17 17:16:35 -07:00
parent e84f442c4c
commit 0862fabdbe

View File

@@ -3248,6 +3248,16 @@ enum DiagnosticFloatSensorIndex : int32_t {
* the message is decoded.
*/
enum VmsMessageType : int32_t {
/**
* A notification indicating that the sender has been reset.
*
* The receiving party must reset its internal state and respond to the
* sender with a START_SESSION message as acknowledgement.
*
* This message type uses enum VmsStartSessionMessageIntegerValuesIndex.
*/
START_SESSION = 17,
/**
* A request from the subscribers to the VMS service to subscribe to a layer.
*
@@ -3364,7 +3374,7 @@ enum VmsMessageType : int32_t {
*/
PUBLISHER_INFORMATION_RESPONSE = 16,
LAST_VMS_MESSAGE_TYPE = PUBLISHER_INFORMATION_RESPONSE,
LAST_VMS_MESSAGE_TYPE = START_SESSION,
};
/**
@@ -3377,6 +3387,30 @@ enum VmsBaseMessageIntegerValuesIndex : int32_t {
MESSAGE_TYPE = 0,
};
/*
* Handshake data sent as part of a VmsMessageType.START_SESSION message.
*
* A new session is initiated by sending a START_SESSION message with the
* sender's identifier populated and the receiver's identifier set to -1.
*
* Identifier values are independently generated, but must be non-negative, and
* increase monotonically between reboots.
*
* Upon receiving a START_SESSION with a mis-matching identifier, the receiver
* must clear any cached VMS offering or subscription state and acknowledge the
* new session by responding with a START_SESSION message that populates both
* identifier fields.
*
* Any VMS messages received between initiation and completion of the handshake
* must be discarded.
*/
enum VmsStartSessionMessageIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
/* Identifier field for the Android system service. */
SERVICE_ID = 1,
/* Identifier field for the HAL client process. */
CLIENT_ID = 2,
};
/*
* A VMS message with a layer is sent as part of a VmsMessageType.SUBSCRIBE or
* VmsMessageType.UNSUBSCRIBE messages.