mirror of
https://git.sfja.dk/Mikkel/slige.git
synced 2025-01-18 22:46:30 +00:00
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include "actions.hpp"
|
|
#include "vm_provider.hpp"
|
|
|
|
auto sliger::rpc::action::RunDebug::perform_action(
|
|
std::unique_ptr<sliger::rpc::BufferedWriter> writer,
|
|
vm_provider::VmProvider& vm) -> void
|
|
{
|
|
auto program = this->instructions;
|
|
vm.load_and_run(program);
|
|
writer->write("{ \"ok\": true }");
|
|
writer->flush();
|
|
};
|
|
|
|
auto sliger::rpc::action::FlameGraph::perform_action(
|
|
std::unique_ptr<sliger::rpc::BufferedWriter> writer,
|
|
vm_provider::VmProvider& vm) -> void
|
|
{
|
|
auto json = vm.flame_graph_json();
|
|
if (json) {
|
|
writer->write(std::format(
|
|
"{{ \"ok\": true, \"flameGraph\": {} }}", json.value()));
|
|
} else {
|
|
writer->write("{ \"ok\": false }");
|
|
}
|
|
writer->flush();
|
|
};
|
|
|
|
auto sliger::rpc::action::CodeCoverage::perform_action(
|
|
std::unique_ptr<sliger::rpc::BufferedWriter> writer,
|
|
vm_provider::VmProvider& vm) -> void
|
|
{
|
|
auto json = vm.code_coverage_json();
|
|
if (json) {
|
|
writer->write(std::format(
|
|
"{{ \"ok\": true, \"codeCoverage\": {} }}", json.value()));
|
|
} else {
|
|
writer->write("{ \"ok\": false }");
|
|
}
|
|
writer->flush();
|
|
};
|