101 bool (*
send)(_In_opt_
void* ctx, _In_reads_bytes_(len)
const uint8* buf,
size_t len);
110#define LOG_FORWARD_SPOOL_DEFAULT (4 * 1024 * 1024)
116#define LOG_FORWARD_SEGMENT_DEFAULT (256 * 1024)
119#define LOG_FORWARD_MAXHOPS_DEFAULT 4
struct LogDest LogDest
Opaque handle to a registered log destination.
void logforwardUnregister(LogForwarder *fwd)
bool logForwardApplySub(LogForwarder *fwd, const LogSubSpec *spec)
LogDest * logForwardDest(LogForwarder *fwd)
void logForwardDisconnected(LogForwarder *fwd)
void logForwardConnected(LogForwarder *fwd)
void logForwardStats(LogForwarder *fwd, LogForwardStats *out)
struct LogForwarder LogForwarder
Opaque handle to a registered forwarder.
LogForwarder * logforwardRegister(int maxlevel, strref chanfilter, const LogForwardHandlers *handlers, void *ctx, const LogForwardConfig *config)
void logForwardResume(LogForwarder *fwd)
bool logForwardRecv(LogForwarder *fwd, const uint8 *buf, size_t len)
bool logForwardTake(LogForwarder *fwd, Buffer *out)
bool logForwardCatalog(LogForwarder *fwd, Buffer *out)
Wire codec for log records: records in, framed bytes out, and back again.
Optional forwarder settings; zero in any field takes the default.
uint64 segbytes
Bytes per spool segment.
strref origin
This instance's identity on the wire.
uint64 spoolbytes
Spooled bytes held before the oldest are dropped.
uint32 maxhops
Refuse a record that has already travelled this far.
bool(* send)(void *ctx, const uint8 *buf, size_t len)
What a forwarder has done so far.
bool subscribed
A receiver has asked for something and has not been unsubscribed.
uint64 failed
Records that could not be encoded.
uint64 dropped
Records the spool evicted to stay within its bound.
uint64 sent
Records handed to the transport.
uint64 pending
Bytes currently spooled.
uint64 looped
Records refused because forwarding them would close a loop.
uint64 spooled
Records held because the transport was not taking any.