quicksilverpb

package
v0.0.0-...-85aef26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TransactionLogs_LogKind_name = map[int32]string{
		0: "UNKNOWN",
		1: "HEARTBEAT",
		2: "OPERATIONAL",
	}
	TransactionLogs_LogKind_value = map[string]int32{
		"UNKNOWN":     0,
		"HEARTBEAT":   1,
		"OPERATIONAL": 2,
	}
)

Enum value maps for TransactionLogs_LogKind.

View Source
var (
	TransactionLogs_Operation_name = map[int32]string{
		0: "UNDEFINED",
		1: "SET",
		2: "DELETE",
	}
	TransactionLogs_Operation_value = map[string]int32{
		"UNDEFINED": 0,
		"SET":       1,
		"DELETE":    2,
	}
)

Enum value maps for TransactionLogs_Operation.

View Source
var File_v1_quicksilverpb_logentry_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type KVObject

type KVObject struct {

	// encrypted signifies if the value has been encrypted.
	// algorithm known should be used by the client.
	Encrypted bool   `protobuf:"varint,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"`
	Key       string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Value     []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	XxHash64  uint64 `protobuf:"varint,4,opt,name=xxHash64,proto3" json:"xxHash64,omitempty"` // key-value level CRC
	// z_compressed denotes if the value has been zst compressed
	ZCompressed bool `protobuf:"varint,5,opt,name=z_compressed,json=zCompressed,proto3" json:"z_compressed,omitempty"`
	// optional metadata for the KVObject
	Metadata map[string]string `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

KVObject are persistent entities in the key value database. Database should save the KVObject instead of saving the client provided value directly.

func (*KVObject) Descriptor deprecated

func (*KVObject) Descriptor() ([]byte, []int)

Deprecated: Use KVObject.ProtoReflect.Descriptor instead.

func (*KVObject) GetEncrypted

func (x *KVObject) GetEncrypted() bool

func (*KVObject) GetKey

func (x *KVObject) GetKey() string

func (*KVObject) GetMetadata

func (x *KVObject) GetMetadata() map[string]string

func (*KVObject) GetValue

func (x *KVObject) GetValue() []byte

func (*KVObject) GetXxHash64

func (x *KVObject) GetXxHash64() uint64

func (*KVObject) GetZCompressed

func (x *KVObject) GetZCompressed() bool

func (*KVObject) ProtoMessage

func (*KVObject) ProtoMessage()

func (*KVObject) ProtoReflect

func (x *KVObject) ProtoReflect() protoreflect.Message

func (*KVObject) Reset

func (x *KVObject) Reset()

func (*KVObject) String

func (x *KVObject) String() string

type Trace

type Trace struct {

	// x_request_id enables logging across the invoked services to be correlated.
	XRequestId string `protobuf:"bytes,1,opt,name=x_request_id,json=xRequestId,proto3" json:"x_request_id,omitempty"`
	// b3 propagator.
	// x-b3-traceid: {TraceId}
	XB3TraceId string `protobuf:"bytes,2,opt,name=x_b3_trace_id,json=xB3TraceId,proto3" json:"x_b3_trace_id,omitempty"`
	// x-b3-spanid: {SpanId}
	XB3SpanId string `protobuf:"bytes,3,opt,name=x_b3_span_id,json=xB3SpanId,proto3" json:"x_b3_span_id,omitempty"`
	// x-b3-parentspanid: {ParentSpanId}
	XB3ParentSpanId string `protobuf:"bytes,4,opt,name=x_b3_parent_span_id,json=xB3ParentSpanId,proto3" json:"x_b3_parent_span_id,omitempty"`
	// x-b3-sampled: {SamplingState}
	XB3Sampled string `protobuf:"bytes,5,opt,name=x_b3_sampled,json=xB3Sampled,proto3" json:"x_b3_sampled,omitempty"`
	// x-b3-flags: {DebugFlag}
	XB3Flags string `protobuf:"bytes,6,opt,name=x_b3_flags,json=xB3Flags,proto3" json:"x_b3_flags,omitempty"`
	// contains filtered or unexported fields
}

Trace provides additional context, to enable parent/child relationships

Traces are propagated in the B3 HTTP Multiple Headers Format. https://github.com/openzipkin/b3-propagation B3 propagated to support non sampled debug propagation

func (*Trace) Descriptor deprecated

func (*Trace) Descriptor() ([]byte, []int)

Deprecated: Use Trace.ProtoReflect.Descriptor instead.

func (*Trace) GetXB3Flags

func (x *Trace) GetXB3Flags() string

func (*Trace) GetXB3ParentSpanId

func (x *Trace) GetXB3ParentSpanId() string

func (*Trace) GetXB3Sampled

func (x *Trace) GetXB3Sampled() string

func (*Trace) GetXB3SpanId

func (x *Trace) GetXB3SpanId() string

func (*Trace) GetXB3TraceId

func (x *Trace) GetXB3TraceId() string

func (*Trace) GetXRequestId

func (x *Trace) GetXRequestId() string

func (*Trace) ProtoMessage

func (*Trace) ProtoMessage()

func (*Trace) ProtoReflect

func (x *Trace) ProtoReflect() protoreflect.Message

func (*Trace) Reset

func (x *Trace) Reset()

func (*Trace) String

func (x *Trace) String() string

type TransactionLogs

type TransactionLogs struct {

	// logKind defines what kind of TransactionLogs this message is.
	// logKind of Unknown and Heartbeat should not be saved inside the database.
	LogKind TransactionLogs_LogKind `protobuf:"varint,1,opt,name=logKind,proto3,enum=v1.quicksilver.TransactionLogs_LogKind" json:"logKind,omitempty"`
	// operation defines what kind of action to take for this log message while creating database.
	Operation TransactionLogs_Operation `protobuf:"varint,2,opt,name=operation,proto3,enum=v1.quicksilver.TransactionLogs_Operation" json:"operation,omitempty"`
	// created_unix_timestamp store the log creation timestamp into int64.
	// this is useful for calculation the overall replication delay in the system in heartbeat message.
	// note this doesn't take clock skew and clock drift into account.
	CreatedUnixTimestamp int64 `protobuf:"varint,3,opt,name=created_unix_timestamp,json=createdUnixTimestamp,proto3" json:"created_unix_timestamp,omitempty"`
	// sequence_number is not necessarily continuous monotonically increasing sequence number.
	// It is incremented for each request with SET or DEL operation.
	// validate last_sequence_number to check for continuity of logs.
	SequenceNumber uint64 `protobuf:"varint,4,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"`
	// last_sequence_number stores the last seen sequence number in order.
	// this helps in detecting the continuity in the replicated log.
	LastSequenceNumber uint64 `protobuf:"varint,5,opt,name=last_sequence_number,json=lastSequenceNumber,proto3" json:"last_sequence_number,omitempty"`
	// database is Name of the database where this configuration Object Belongs.
	// This is logical namespace for different configuration kind.
	Database string `protobuf:"bytes,6,opt,name=database,proto3" json:"database,omitempty"`
	// kv is the config object.
	Kv *KVObject `protobuf:"bytes,7,opt,name=kv,proto3" json:"kv,omitempty"`
	// CheckSum is XXHash64 from http://cyan4973.github.io/xxHash/
	// This should encode all of the information.
	// 1. LogKind
	// 2. Operation
	// 3. created_unix_timestamp
	// 4. sequence_number
	// 5. last_sequence_number
	// 4. database name
	// 5. KVObject Hash
	LogXxHash64_Checksum uint64 `protobuf:"varint,8,opt,name=log_xxHash64_Checksum,json=logXxHash64Checksum,proto3" json:"log_xxHash64_Checksum,omitempty"`
	// entry_unix_timestamp saves the time when this log entry was saved into the database for this instance.
	EntryUnixTimestamp int64 `protobuf:"varint,9,opt,name=entry_unix_timestamp,json=entryUnixTimestamp,proto3" json:"entry_unix_timestamp,omitempty"`
	// applied_to_db indicates if log has been already applied to the database.
	AppliedToDb bool `protobuf:"varint,10,opt,name=applied_to_db,json=appliedToDb,proto3" json:"applied_to_db,omitempty"`
	// optional metadata for the TransactionLogs
	Metadata map[string]string `` /* 158-byte string literal not displayed */
	// Not all the log message have the trace, but trace are send explicitly when debugging or in heartbeat message.
	Trace *Trace `protobuf:"bytes,15,opt,name=trace,proto3" json:"trace,omitempty"`
	// contains filtered or unexported fields
}

TransactionLogs is the persistent log entries in the database.

func (*TransactionLogs) Descriptor deprecated

func (*TransactionLogs) Descriptor() ([]byte, []int)

Deprecated: Use TransactionLogs.ProtoReflect.Descriptor instead.

func (*TransactionLogs) GetAppliedToDb

func (x *TransactionLogs) GetAppliedToDb() bool

func (*TransactionLogs) GetCreatedUnixTimestamp

func (x *TransactionLogs) GetCreatedUnixTimestamp() int64

func (*TransactionLogs) GetDatabase

func (x *TransactionLogs) GetDatabase() string

func (*TransactionLogs) GetEntryUnixTimestamp

func (x *TransactionLogs) GetEntryUnixTimestamp() int64

func (*TransactionLogs) GetKv

func (x *TransactionLogs) GetKv() *KVObject

func (*TransactionLogs) GetLastSequenceNumber

func (x *TransactionLogs) GetLastSequenceNumber() uint64

func (*TransactionLogs) GetLogKind

func (x *TransactionLogs) GetLogKind() TransactionLogs_LogKind

func (*TransactionLogs) GetLogXxHash64_Checksum

func (x *TransactionLogs) GetLogXxHash64_Checksum() uint64

func (*TransactionLogs) GetMetadata

func (x *TransactionLogs) GetMetadata() map[string]string

func (*TransactionLogs) GetOperation

func (x *TransactionLogs) GetOperation() TransactionLogs_Operation

func (*TransactionLogs) GetSequenceNumber

func (x *TransactionLogs) GetSequenceNumber() uint64

func (*TransactionLogs) GetTrace

func (x *TransactionLogs) GetTrace() *Trace

func (*TransactionLogs) ProtoMessage

func (*TransactionLogs) ProtoMessage()

func (*TransactionLogs) ProtoReflect

func (x *TransactionLogs) ProtoReflect() protoreflect.Message

func (*TransactionLogs) Reset

func (x *TransactionLogs) Reset()

func (*TransactionLogs) String

func (x *TransactionLogs) String() string

type TransactionLogs_LogKind

type TransactionLogs_LogKind int32

LogKind defines what kind of TransactionLogs this message is.

const (
	TransactionLogs_UNKNOWN     TransactionLogs_LogKind = 0
	TransactionLogs_HEARTBEAT   TransactionLogs_LogKind = 1
	TransactionLogs_OPERATIONAL TransactionLogs_LogKind = 2
)

func (TransactionLogs_LogKind) Descriptor

func (TransactionLogs_LogKind) Enum

func (TransactionLogs_LogKind) EnumDescriptor deprecated

func (TransactionLogs_LogKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use TransactionLogs_LogKind.Descriptor instead.

func (TransactionLogs_LogKind) Number

func (TransactionLogs_LogKind) String

func (x TransactionLogs_LogKind) String() string

func (TransactionLogs_LogKind) Type

type TransactionLogs_Operation

type TransactionLogs_Operation int32

Operation defines what kind of action to take for this message while creating database.

const (
	TransactionLogs_UNDEFINED TransactionLogs_Operation = 0
	TransactionLogs_SET       TransactionLogs_Operation = 1
	TransactionLogs_DELETE    TransactionLogs_Operation = 2
)

func (TransactionLogs_Operation) Descriptor

func (TransactionLogs_Operation) Enum

func (TransactionLogs_Operation) EnumDescriptor deprecated

func (TransactionLogs_Operation) EnumDescriptor() ([]byte, []int)

Deprecated: Use TransactionLogs_Operation.Descriptor instead.

func (TransactionLogs_Operation) Number

func (TransactionLogs_Operation) String

func (x TransactionLogs_Operation) String() string

func (TransactionLogs_Operation) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL