]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/journal-remote/journal-remote-write.h
tree-wide: beautify remaining copyright statements
[thirdparty/systemd.git] / src / journal-remote / journal-remote-write.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
0ef6f454
LP
2#pragma once
3
fdfccdbc 4/***
96b2fb93 5 Copyright © 2014 Zbigniew Jędrzejewski-Szmek
fdfccdbc
ZJS
6***/
7
fdfccdbc 8#include "journal-file.h"
b18453ed 9#include "journal-importer.h"
fdfccdbc 10
9ff48d09
ZJS
11typedef struct RemoteServer RemoteServer;
12
fdfccdbc
ZJS
13typedef struct Writer {
14 JournalFile *journal;
15 JournalMetrics metrics;
9ff48d09 16
fdfccdbc 17 MMapCache *mmap;
9ff48d09
ZJS
18 RemoteServer *server;
19 char *hashmap_key;
20
fdfccdbc 21 uint64_t seqnum;
9ff48d09
ZJS
22
23 int n_ref;
fdfccdbc
ZJS
24} Writer;
25
9ff48d09
ZJS
26Writer* writer_new(RemoteServer* server);
27Writer* writer_free(Writer *w);
28
29Writer* writer_ref(Writer *w);
30Writer* writer_unref(Writer *w);
31
32DEFINE_TRIVIAL_CLEANUP_FUNC(Writer*, writer_unref);
9ff48d09 33
fdfccdbc
ZJS
34int writer_write(Writer *s,
35 struct iovec_wrapper *iovw,
36 dual_timestamp *ts,
37 bool compress,
38 bool seal);
8201af08
ZJS
39
40typedef enum JournalWriteSplitMode {
41 JOURNAL_WRITE_SPLIT_NONE,
42 JOURNAL_WRITE_SPLIT_HOST,
43 _JOURNAL_WRITE_SPLIT_MAX,
44 _JOURNAL_WRITE_SPLIT_INVALID = -1
45} JournalWriteSplitMode;