5#include "../ds/files.h"
6#include "../enclave/interface.h"
14#include <nlohmann/json.hpp>
26 static constexpr size_t max_messages = 256;
43 AdminMessage::fatal_error_msg,
44 [](
const uint8_t* data,
size_t size) {
46 ringbuffer::read_message<AdminMessage::fatal_error_msg>(data, size);
48 std::cerr << msg << std::endl << std::flush;
49 throw std::logic_error(msg);
53 bp, AdminMessage::stopped, [](
const uint8_t*,
size_t) {
54 uv_stop(uv_default_loop());
59 bp, AdminMessage::restart, [&](
const uint8_t*,
size_t) {
60 LOG_INFO_FMT(
"Received request to restart enclave, sending stops");
69 bp.
read_n(max_messages, r);
Definition handle_ring_buffer.h:22
HandleRingbufferImpl(messaging::BufferProcessor &bp, ringbuffer::Reader &r, ringbuffer::NonBlockingWriterFactory &nbwf)
Definition handle_ring_buffer.h:33
void on_timer()
Definition handle_ring_buffer.h:66
Definition messaging.h:187
size_t read_n(size_t max_messages, ringbuffer::Reader &r)
Definition messaging.h:216
Definition non_blocking.h:193
bool flush_all_inbound()
Definition non_blocking.h:256
std::shared_ptr< ringbuffer::AbstractWriter > create_writer_to_inside() override
Definition non_blocking.h:267
Definition ring_buffer.h:172
#define LOG_INFO_FMT
Definition internal_logger.h:15
#define DISPATCHER_SET_MESSAGE_HANDLER(DISP, MSG,...)
Definition messaging.h:292
#define RINGBUFFER_WRITE_MESSAGE(MSG,...)
Definition ring_buffer_types.h:259