Add template parameters to MQDescriptor
First parameter is used to determine the type of the payload, and the second parameter is used to determine the type of queue. Added two types to be use in that second parameter. SynchronizedReadWrite and UnsynchronizedWrite. Test: atest fmq_unit_tests fmq_test Bug: 142326204 Change-Id: If736389ebecd02b87879850714606523e5145579
This commit is contained in:
parent
0a10d6918c
commit
340f895d30
5 changed files with 102 additions and 1 deletions
|
@ -0,0 +1,22 @@
|
|||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.hardware.common;
|
||||
@VintfStability
|
||||
enum SynchronizedReadWrite {
|
||||
EMPTY = 0,
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.hardware.common;
|
||||
@VintfStability
|
||||
enum UnsynchronizedWrite {
|
||||
EMPTY = 0,
|
||||
}
|
|
@ -22,9 +22,12 @@ import android.hardware.common.GrantorDescriptor;
|
|||
* For use with libfmq. This is created from an instance of AidlMessageQueue,
|
||||
* and is used to pass information required to create another instance of that
|
||||
* queue for fast communication.
|
||||
* T - is used to specify the type of the payload
|
||||
* Flavor - is used to specify the type of the queue using
|
||||
* android.hardware.common.SynchronizedReadWrite or UnsynchronizedWrite
|
||||
*/
|
||||
@VintfStability
|
||||
parcelable MQDescriptor {
|
||||
parcelable MQDescriptor<T, Flavor> {
|
||||
/*
|
||||
* Describes each of the grantors for the message queue. They are used to
|
||||
* get the readptr, writeptr, dataptr, and the optional EventFlag word
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.hardware.common;
|
||||
|
||||
/*
|
||||
* For use with android.hardware.common.MQDescriptor to specify which type of
|
||||
* queue to use. SynchronizedReadWrite is single reader, single writer, with no
|
||||
* overflow. All messages written need to be read.
|
||||
*/
|
||||
@VintfStability
|
||||
enum SynchronizedReadWrite {
|
||||
EMPTY,
|
||||
}
|
27
common/aidl/android/hardware/common/UnsynchronizedWrite.aidl
Normal file
27
common/aidl/android/hardware/common/UnsynchronizedWrite.aidl
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.hardware.common;
|
||||
|
||||
/*
|
||||
* For use with android.hardware.common.MQDescriptor to specify which type of
|
||||
* queue to use. UnsynchronizedWrite is single writer, multiple reader, with
|
||||
* overflow. If messages are not read fast enough, they can be overwritten.
|
||||
*/
|
||||
@VintfStability
|
||||
enum UnsynchronizedWrite {
|
||||
EMPTY,
|
||||
}
|
Loading…
Reference in a new issue