1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-17 01:02:23 +03:00

Checkpointing.

This commit is contained in:
Patrick LeBlanc
2019-01-28 15:14:01 -06:00
parent 5d894b9a77
commit 0d74c32d08
10 changed files with 358 additions and 37 deletions

View File

@@ -13,9 +13,18 @@ namespace storagemanager
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
// all msgs to and from StorageManager begin with this magic
// all msgs to and from StorageManager begin with this magic and a payload length
static const uint SM_MSG_START=0xbf65a7e1;
// for read/write/append, which may break a message into chunks, messages not the
// beginning or end of the larger message will preface a chunk with this magic
static const uint SM_MSG_CONT=0xfa371bd2;
// for read/write/append, the last chunk of a message should begin with this magic
static const uint SM_MSG_END=0x9d5bc31b;
static const uint SM_HEADER_LEN = 8;
// the unix socket StorageManager is listening on
static const char *socket_name = "\0storagemanager";
@@ -46,6 +55,8 @@ enum Opcodes {
value for errno follows. On success, no errno is sent.
On success, what follows is any output parameters from the call.
TBD: Require filenames to be NULL-terminated. Currently they are not.
OPEN
----
@@ -66,7 +77,7 @@ enum Opcodes {
WRITE
-----
command format:
1-byte opcode|4-byte filename length|filename|size_t count|off_t offset|data
1-byte opcode|size_t count|off_t offset|4-byte filename length|filename|data
response format: