forked from bloomberg/comdb2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
comdb2_queue.h
65 lines (46 loc) · 1.46 KB
/
comdb2_queue.h
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
Copyright 2015 Bloomberg Finance L.P.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef INCLUDED_COMDB2_QUEUE_H
#define INCLUDED_COMDB2_QUEUE_H
/*
* Defines the protocol by which comdb2 fstsnds messages to listening
* applications.
*/
#include <bb_stdint.h>
struct dbq_key {
bbuint32_t keywords[2];
};
struct dbq_msgbuf {
/* prccom header */
bbint16_t prccom[4];
/* Eight characters - CDB2_MSG */
char comdb2[8];
/* Total size of this buffer in bytes including prccom header */
bbuint32_t buflen;
/* Sending database name */
char dbname[8];
/* Name of queue that this message came from. */
char queue_name[32];
/* Should be sent as all zeroes for now. */
bbuint32_t reserved[8];
/* How many messages are encoded in this buffer. */
bbuint32_t num_messages;
/* The messages. */
char msgs[1];
};
struct dbq_msg {
bbuint32_t length;
struct dbq_key key;
char data[1];
};
#endif