Sen API
Sen Libraries
Loading...
Searching...
No Matches
kernel.h File Reference
#include "sen/core/base/class_helpers.h"
#include "sen/core/base/span.h"
#include "sen/core/meta/class_type.h"
#include "sen/kernel/kernel_config.h"
#include "stl/sen/kernel/basic_types.stl.h"
#include "stl/sen/kernel/network_footprint.stl.h"
#include <filesystem>
#include <memory>
#include <optional>

Go to the source code of this file.

Classes

class  sen::kernel::Kernel
 Main entry point of a sen microkernel. More...

Namespaces

namespace  sen
namespace  sen::kernel
 Strong type for the unique identifier for a transport timer.
namespace  sen::kernel::crash
 Crash reporting, which belongs to the process rather than to any one kernel: a process has one crash reporter however many kernels it builds.

Enumerations

enum class  sen::kernel::KernelBlockMode { sen::kernel::doNotBlock , sen::kernel::doBlock }
 How to deal with the thread that calls the Kernel::run() function. More...

Functions

bool sen::kernel::crash::arm (const std::filesystem::path &reportDirectory={})
 Turns on crash reporting for this process: a terminate handler for an uncaught exception, and an out-of-process Crashpad handler for a fault. Both write under reportDirectory, or under the system temporary directory when it is empty.
std::optional< int > sen::kernel::crash::runHandlerIfRequested (int argc, char *argv[])
 Give main() its own arguments here, before anything else, and leave with the value it returns when it returns one. Sen has no separate handler program, so on Windows the handler is this executable run again, and this call is what recognises that and becomes it. On other platforms it never claims the process, so the call costs nothing and the code stays the same.