tin  1.5.9
resource_manifest.h
Go to the documentation of this file.
1 // Copyright (c) 2026 Tinverse LLC. All rights reserved.
2 // SPDX-License-Identifier: LicenseRef-Tinverse-Commercial
3 
13 
14 #pragma once
15 
16 #include "tsm/runtime/resources.h"
17 
18 namespace tsm::runtime {
19 
25 template<typename Stream>
26 void
27 write_resource_manifest(Stream& output,
28  char const* name,
29  resource_snapshot const& snapshot)
30 {
31  output << "{\n"
32  << " \"schema\": \"tsm.resource_manifest.v1\",\n"
33  << " \"name\": \"" << name << "\",\n"
34  << " \"max_event_bytes\": " << snapshot.max_event_bytes << ",\n"
35  << " \"max_event_alignment\": " << snapshot.max_event_alignment
36  << ",\n"
37  << " \"queue_slots\": " << snapshot.queue_slots << ",\n"
38  << " \"delayed_event_timer_slots\": "
39  << snapshot.delayed_event_timer_slots << ",\n"
40  << " \"task_count\": " << snapshot.task_count << ",\n"
41  << " \"task_group_count\": " << snapshot.task_group_count << ",\n"
42  << " \"task_group_entry_count\": "
43  << snapshot.task_group_entry_count << ",\n"
44  << " \"task_arena_bytes\": " << snapshot.task_arena_bytes << ",\n"
45  << " \"task_timer_slots\": " << snapshot.task_timer_slots << ",\n"
46  << " \"uses_heap\": " << (snapshot.uses_heap ? "true" : "false")
47  << "\n"
48  << "}\n";
49 }
50 
51 } // namespace tsm::runtime
Definition: freertos.h:26
void write_resource_manifest(Stream &output, char const *name, resource_snapshot const &snapshot)
Definition: resource_manifest.h:27
Static resource accounting for runtimes and task executors.
Definition: resources.h:23
std::size_t max_event_bytes
Definition: resources.h:24
std::size_t delayed_event_timer_slots
Definition: resources.h:27
std::size_t task_timer_slots
Definition: resources.h:32
std::size_t task_arena_bytes
Definition: resources.h:31
std::size_t max_event_alignment
Definition: resources.h:25
bool uses_heap
Definition: resources.h:33
std::size_t queue_slots
Definition: resources.h:26
std::size_t task_group_entry_count
Definition: resources.h:30
std::size_t task_count
Definition: resources.h:28
std::size_t task_group_count
Definition: resources.h:29