aboutsummaryrefslogtreecommitdiff
path: root/applications/message_handler/lib/include/message_queue.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'applications/message_handler/lib/include/message_queue.hpp')
-rw-r--r--applications/message_handler/lib/include/message_queue.hpp74
1 files changed, 0 insertions, 74 deletions
diff --git a/applications/message_handler/lib/include/message_queue.hpp b/applications/message_handler/lib/include/message_queue.hpp
deleted file mode 100644
index ec9d7b6..0000000
--- a/applications/message_handler/lib/include/message_queue.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2020-2022 Arm Limited.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * 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
- *
- * 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.
- */
-
-#ifndef MESSAGE_QUEUE_H
-#define MESSAGE_QUEUE_H
-
-#include <cstddef>
-#include <ethosu_core_interface.h>
-
-namespace MessageQueue {
-
-template <uint32_t SIZE>
-struct Queue {
- EthosU::ethosu_core_queue_header header;
- uint8_t data[SIZE];
-
- constexpr Queue() : header({SIZE, 0, {0}, 0}) {}
-
- constexpr EthosU::ethosu_core_queue *toQueue() {
- return reinterpret_cast<EthosU::ethosu_core_queue *>(&header);
- }
-};
-
-class QueueImpl {
-public:
- struct Vec {
- const void *base;
- size_t length;
- };
-
- QueueImpl(EthosU::ethosu_core_queue &queue);
-
- bool empty() const;
- size_t available() const;
- size_t capacity() const;
- void reset();
- bool read(uint8_t *dst, uint32_t length);
- template <typename T>
- bool read(T &dst) {
- return read(reinterpret_cast<uint8_t *>(&dst), sizeof(dst));
- }
- bool write(const Vec *vec, size_t length);
- bool write(const uint32_t type, const void *src = nullptr, uint32_t length = 0);
- template <typename T>
- bool write(const uint32_t type, const T &src) {
- return write(type, reinterpret_cast<const void *>(&src), sizeof(src));
- }
-
-private:
- void cleanHeader() const;
- void cleanHeaderData() const;
- void invalidateHeader() const;
- void invalidateHeaderData() const;
-
- EthosU::ethosu_core_queue &queue;
-};
-} // namespace MessageQueue
-
-#endif