| /* |
| * Copyright (C) 2017 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. |
| */ |
| |
| /* This HAL is a work in progress */ |
| |
| package android.hardware.neuralnetworks@1.0; |
| |
| /** |
| * The IEvent interface is a callback object passed by the |
| * Neuralnetworks runtime to the vendor service. It is used as a |
| * synchronization primitive between one or more runtime threads and a |
| * single asynchronous vendor thread. An event object is passed as an |
| * argument to a HIDL call that is expected to take a non-trivial |
| * amount of time. When the asynchronous execution thread has |
| * completed its computation, it must call "notify" on the event to |
| * indicate to the Neuralnetworks runtime whether the computation was |
| * successful or not, and that the corresponding output is ready to be |
| * consumed if the execution was successful. |
| * |
| * TODO: Mention that "notify" is also called by a runtime thread |
| * during CPU fallback execution? Depends on whether the HIDL comments |
| * are strictly for vendors or not. |
| */ |
| interface IEvent { |
| |
| /** |
| * IEvent::notify is called by the server thread (i.e. the thread doing the |
| * work) to mark the event as completed so that any threads requiring the |
| * corresponding resources can continue executing. |
| * |
| * @param status Status of the execution associated with the Event. |
| * Should be SUCCESS or ERROR. |
| */ |
| oneway notify(Status status); |
| |
| }; |