Ripples 1.0
High Performant Software Architecture For Transaction Processing
Loading...
Searching...
No Matches
channel.h
Go to the documentation of this file.
1
42#ifndef CHANNEL_H
43#define CHANNEL_H
44
45#include <stdbool.h>
46#include <stddef.h>
47#include <stdint.h>
48
49#include <liblfds711.h>
50
51#include "constants.h"
52
64
66typedef struct channel_bss_msg_s {
68 uint64_t id;
69
72
78 void *p;
79
86 size_t result;
88
90typedef struct channel_bss_queue_s {
92 struct lfds711_queue_bss_element qbsse[CHANNEL_BSS_QUEUE_LEN];
93
95 struct lfds711_queue_bss_state qbsss;
97
112
113
116 void *p);
122uint64_t channel_bss_assign_msg_id(uint64_t *id_base);
123
124
126typedef struct channel_log_msg_s {
131 uint32_t log_msg_id;
132
136 char *log_msg;
137
141 bool exit;
143
145typedef struct channel_log_s {
147 struct lfds711_queue_bss_element qbsse[CHANNEL_LOG_QUEUE_LEN];
148
150 struct lfds711_queue_bss_state qbsss;
152
153channel_log_msg_t * channel_log_msg_create(uint32_t log_msg_id, char *log_msg,
154 bool exit);
158
159#endif /* End of CHANNEL_H */
160
void channel_bss_msg_release(channel_bss_msg_t *msg)
Definition channel.c:61
channel_bss_ops_e
Definition channel.h:54
channel_log_msg_t * channel_log_msg_create(uint32_t log_msg_id, char *log_msg, bool exit)
Definition channel.c:163
int channel_log_send(channel_log_t *ch, channel_log_msg_t *msg)
Definition channel.c:203
struct channel_log_s channel_log_t
int channel_log_recv(channel_log_t *ch, channel_log_msg_t **msg)
Definition channel.c:221
uint64_t channel_bss_assign_msg_id(uint64_t *id_base)
Definition channel.c:146
struct channel_log_msg_s channel_log_msg_t
struct channel_bss_msg_s channel_bss_msg_t
struct channel_bss_queue_s channel_bss_queue_t
int channel_bss_recv(channel_bss_t *ch, channel_bss_msg_t **msg)
Definition channel.c:101
int channel_bss_send(channel_bss_t *ch, channel_bss_msg_t *msg)
Definition channel.c:83
channel_bss_msg_t * channel_bss_msg_create(uint64_t id, channel_bss_ops_t op, void *p)
Definition channel.c:43
void channel_log_msg_release(channel_log_msg_t *msg)
Definition channel.c:181
int channel_bssvl_recv(channel_bss_t *ch, channel_bss_msg_t **msg)
Definition channel.c:133
struct channel_bss_s channel_bss_t
enum channel_bss_ops_e channel_bss_ops_t
int channel_bssvl_send(channel_bss_t *ch, channel_bss_msg_t *msg)
Definition channel.c:117
@ CH_OP_RES_SET_RESOURCE2
Definition channel.h:59
@ CH_OP_QUERY_LOG_FLIP
Definition channel.h:62
@ CH_OP_RES_SET_RESOURCE1
Definition channel.h:56
#define CHANNEL_BSS_QUEUE_LEN
Definition constants.h:275
#define CHANNEL_LOG_QUEUE_LEN
Definition constants.h:285
Definition channel.h:66
void * p
Definition channel.h:78
uint64_t id
Definition channel.h:68
channel_bss_ops_t op
Definition channel.h:71
size_t result
Definition channel.h:86
Definition channel.h:90
struct lfds711_queue_bss_state qbsss
Definition channel.h:95
struct lfds711_queue_bss_element qbsse[CHANNEL_BSS_QUEUE_LEN]
Definition channel.h:92
Definition channel.h:101
channel_bss_queue_t bss
Definition channel.h:105
channel_bss_queue_t vl
Definition channel.h:110
Definition channel.h:126
uint32_t log_msg_id
Definition channel.h:131
char * log_msg
Definition channel.h:136
bool exit
Definition channel.h:141
Definition channel.h:145
struct lfds711_queue_bss_state qbsss
Definition channel.h:150
struct lfds711_queue_bss_element qbsse[CHANNEL_LOG_QUEUE_LEN]
Definition channel.h:147