Skip to content

Documentation / @andrew_l/binlog / Binlog

Class: Binlog

TypeScript implementation of binlog system Adapted from https://github.com/vk-com/kphp-kdb/blob/master/binlog/kdb-binlog-common.c

Constructors

Constructor

new Binlog(options): Binlog

Parameters

options

BinlogOptions

Returns

Binlog

Accessors

currentFileIndex

Get Signature

get currentFileIndex(): number

Get the current binlog file index

Returns

number


currentFileName

Get Signature

get currentFileName(): string

Get current binlog file name

Returns

string


directory

Get Signature

get directory(): string

Get current binlog directory

Returns

string

Methods

close()

close(): Promise<void>

Close the current binlog file

Returns

Promise<void>


init()

init(): Promise<void>

Initialize the binlog system, ensuring directory exists and pick most recent binlog file

Returns

Promise<void>

Promise resolving to true if successful, false otherwise


open()

open(): Promise<void>

Open the binlog for writing

Returns

Promise<void>


readEntries()

readEntries<TData>(filename, unsafe?): Promise<BinlogEntry<TData>[]>

Read and parse all entries from a binlog file

Type Parameters

TData

TData = Buffer

Parameters

filename

string

Binlog file to read

unsafe?

boolean

Ignore broken binlog records otherwise throws error

Returns

Promise<BinlogEntry<TData>[]>

Array of parsed entries


rotate()

rotate(): Promise<void>

Rotate the binlog file

Returns

Promise<void>


write()

write(opcode, data): Promise<void>

Write a binlog entry

Parameters

opcode

number

Operation code

data

unknown

Data to write

Returns

Promise<void>

Promise resolving to true if successful, false otherwise