2023-02-08 06:39:23 +01:00
|
|
|
#ifndef DP_COMMON_H
|
|
|
|
#define DP_COMMON_H
|
|
|
|
|
|
|
|
#include <nng/nng.h>
|
2023-02-11 23:52:20 +01:00
|
|
|
#include <stdlib.h>
|
2023-02-12 13:38:54 +01:00
|
|
|
#include "dp_types.h"
|
|
|
|
#include "log.h"
|
2023-02-08 06:39:23 +01:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2023-02-11 23:52:20 +01:00
|
|
|
#define dp_fatal(...) log_fatal(__VA_ARGS__)
|
|
|
|
|
2023-02-08 06:39:23 +01:00
|
|
|
void dp_nng_fatal(const char *const msg, int rv);
|
|
|
|
void dp_errno_fatal(const char *const msg);
|
|
|
|
|
2023-02-11 23:52:20 +01:00
|
|
|
void dp_nng_init_limits(int ncpu_max, int pool_thread_limit_max, int resolv_thread_limit);
|
|
|
|
|
2023-02-08 06:39:23 +01:00
|
|
|
nng_socket make_ctrl_pub(const char *url);
|
|
|
|
nng_socket make_ctrl_sub(const char *url);
|
|
|
|
nng_socket make_doom_pub(const char *url);
|
|
|
|
nng_socket make_doom_sub(const char *url);
|
|
|
|
|
2023-02-11 23:52:20 +01:00
|
|
|
static const char *const CtrlUrl = "ipc://666_ctrl.socket"; // controller publishes here
|
|
|
|
static const char *const DoomUrl = "ipc://666_doom.socket"; // dooms publish here
|
|
|
|
|
2023-02-12 13:38:54 +01:00
|
|
|
typedef u32 doomid_t; // unique id for each doom instance
|
|
|
|
typedef u16 dmt_t; // for DP_MessageType values
|
2023-02-11 23:52:20 +01:00
|
|
|
|
2023-02-12 15:48:15 +01:00
|
|
|
typedef enum DP_MessageType
|
2023-02-11 23:52:20 +01:00
|
|
|
{
|
|
|
|
DP_MT_Invalid,
|
|
|
|
DP_MT_DoomReady,
|
|
|
|
DP_MT_RunDoom,
|
|
|
|
DP_MT_QuitDoom,
|
|
|
|
DP_MT_COUNT
|
2023-02-12 15:48:15 +01:00
|
|
|
} DP_MessageType;
|
2023-02-11 23:52:20 +01:00
|
|
|
|
2023-02-12 15:48:15 +01:00
|
|
|
typedef enum DP_DoomState
|
|
|
|
{
|
2023-02-14 23:41:47 +01:00
|
|
|
DP_DS_Unknown,
|
2023-02-12 15:48:15 +01:00
|
|
|
DP_DS_Ready,
|
|
|
|
DP_DS_Running,
|
|
|
|
DP_DS_Quit,
|
|
|
|
DP_DS_COUNT,
|
|
|
|
} DP_DoomState;
|
|
|
|
|
|
|
|
extern const char *const DP_DoomState_Strings[DP_DS_COUNT];
|
|
|
|
|
|
|
|
static inline const char *doomstate_str(DP_DoomState ds)
|
|
|
|
{
|
|
|
|
return DP_DoomState_Strings[ds];
|
|
|
|
}
|
2023-02-11 23:52:20 +01:00
|
|
|
|
2023-02-08 06:39:23 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* DP_COMMON_H */
|