upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/components/wisp_relay/relay_core.h
blob: d8e7096d35654d1dfd12a89bd7dd7f596f571cee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef RELAY_CORE_H
#define RELAY_CORE_H

#include <stdint.h>

#include "ws_server.h"

typedef struct sub_manager sub_manager_t;
typedef struct storage_engine storage_engine_t;
typedef struct rate_limiter rate_limiter_t;

typedef struct relay_ctx {
    ws_server_t ws_server;
    sub_manager_t *sub_manager;
    storage_engine_t *storage;
    rate_limiter_t *rate_limiter;

    struct {
        uint16_t port;
        uint32_t max_event_age_sec;
        uint8_t max_subs_per_conn;
        uint8_t max_filters_per_sub;
        int64_t max_future_sec;
    } config;
} relay_ctx_t;

#endif