Documentation
¶
Index ¶
- Variables
- func RegisterReplicationServer(s *grpc.Server, srv ReplicationServer)
- type CollectionKind
- func (CollectionKind) Descriptor() protoreflect.EnumDescriptor
- func (x CollectionKind) Enum() *CollectionKind
- func (CollectionKind) EnumDescriptor() ([]byte, []int)deprecated
- func (x CollectionKind) Number() protoreflect.EnumNumber
- func (x CollectionKind) String() string
- func (CollectionKind) Type() protoreflect.EnumType
- type CompressedValue
- func (*CompressedValue) Descriptor() ([]byte, []int)deprecated
- func (x *CompressedValue) GetCodec() Compression
- func (x *CompressedValue) GetData() []byte
- func (x *CompressedValue) GetRawLen() uint64
- func (*CompressedValue) ProtoMessage()
- func (x *CompressedValue) ProtoReflect() protoreflect.Message
- func (x *CompressedValue) Reset()
- func (x *CompressedValue) String() string
- type Compression
- func (Compression) Descriptor() protoreflect.EnumDescriptor
- func (x Compression) Enum() *Compression
- func (Compression) EnumDescriptor() ([]byte, []int)deprecated
- func (x Compression) Number() protoreflect.EnumNumber
- func (x Compression) String() string
- func (Compression) Type() protoreflect.EnumType
- type DataEffect
- func (d *DataEffect) Decompress() []byte
- func (*DataEffect) Descriptor() ([]byte, []int)deprecated
- func (x *DataEffect) GetChild() []byte
- func (x *DataEffect) GetCollection() CollectionKind
- func (x *DataEffect) GetCompressed() *CompressedValue
- func (x *DataEffect) GetFloatVal() float64
- func (x *DataEffect) GetId() []byte
- func (x *DataEffect) GetIntVal() int64
- func (x *DataEffect) GetMerge() MergeRule
- func (x *DataEffect) GetOp() EffectOp
- func (x *DataEffect) GetPlacement() Placement
- func (x *DataEffect) GetRaw() []byte
- func (x *DataEffect) GetReference() []byte
- func (m *DataEffect) GetValue() isDataEffect_Value
- func (*DataEffect) ProtoMessage()
- func (x *DataEffect) ProtoReflect() protoreflect.Message
- func (x *DataEffect) Reset()
- func (x *DataEffect) String() string
- type DataEffect_Child
- type DataEffect_Compressed
- type DataEffect_FloatVal
- type DataEffect_IntVal
- type DataEffect_Raw
- type Effect
- func (*Effect) Descriptor() ([]byte, []int)deprecated
- func (x *Effect) GetData() *DataEffect
- func (x *Effect) GetDeps() []*EffectRef
- func (x *Effect) GetForkChoiceHash() []byte
- func (x *Effect) GetHlc() *timestamppb.Timestamp
- func (x *Effect) GetKey() []byte
- func (m *Effect) GetKind() isEffect_Kind
- func (x *Effect) GetMeta() *MetaEffect
- func (x *Effect) GetNodeId() uint64
- func (x *Effect) GetNoop() *NoopEffect
- func (x *Effect) GetObservation() *ObservationEffect
- func (x *Effect) GetPubsubMessage() *PubSubMessage
- func (x *Effect) GetRowWrite() *RowWriteEffect
- func (x *Effect) GetSerialization() *SerializationEffect
- func (x *Effect) GetSnapshot() *SnapshotEffect
- func (x *Effect) GetSubscription() *SubscriptionEffect
- func (x *Effect) GetTxnBind() *TransactionalBindEffect
- func (x *Effect) GetTxnId() string
- func (x *Effect) GetVirtual() []byte
- func (*Effect) ProtoMessage()
- func (x *Effect) ProtoReflect() protoreflect.Message
- func (x *Effect) Reset()
- func (x *Effect) String() string
- type EffectOp
- type EffectRef
- type EffectSeq
- type Effect_Data
- type Effect_Meta
- type Effect_Noop
- type Effect_Observation
- type Effect_PubsubMessage
- type Effect_RowWrite
- type Effect_Serialization
- type Effect_Snapshot
- type Effect_Subscription
- type Effect_TxnBind
- type FetchRequest
- type FetchResponse
- func (*FetchResponse) Descriptor() ([]byte, []int)deprecated
- func (x *FetchResponse) GetEffectData() []byte
- func (x *FetchResponse) GetRef() *EffectRef
- func (*FetchResponse) ProtoMessage()
- func (x *FetchResponse) ProtoReflect() protoreflect.Message
- func (x *FetchResponse) Reset()
- func (x *FetchResponse) String() string
- type ForwardedCommand
- func (*ForwardedCommand) Descriptor() ([]byte, []int)deprecated
- func (x *ForwardedCommand) GetArgs() [][]byte
- func (x *ForwardedCommand) GetCommandName() []byte
- func (*ForwardedCommand) ProtoMessage()
- func (x *ForwardedCommand) ProtoReflect() protoreflect.Message
- func (x *ForwardedCommand) Reset()
- func (x *ForwardedCommand) String() string
- type ForwardedResponse
- func (*ForwardedResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ForwardedResponse) GetError() bool
- func (x *ForwardedResponse) GetErrorMessage() string
- func (x *ForwardedResponse) GetRespData() []byte
- func (*ForwardedResponse) ProtoMessage()
- func (x *ForwardedResponse) ProtoReflect() protoreflect.Message
- func (x *ForwardedResponse) Reset()
- func (x *ForwardedResponse) String() string
- type ForwardedTransaction
- func (*ForwardedTransaction) Descriptor() ([]byte, []int)deprecated
- func (x *ForwardedTransaction) GetAuthorizedUser() string
- func (x *ForwardedTransaction) GetCommands() []*ForwardedCommand
- func (x *ForwardedTransaction) GetOriginNode() uint64
- func (x *ForwardedTransaction) GetWatchedKeys() [][]byte
- func (*ForwardedTransaction) ProtoMessage()
- func (x *ForwardedTransaction) ProtoReflect() protoreflect.Message
- func (x *ForwardedTransaction) Reset()
- func (x *ForwardedTransaction) String() string
- type KeyConsumedTips
- func (*KeyConsumedTips) Descriptor() ([]byte, []int)deprecated
- func (x *KeyConsumedTips) GetConsumedTips() []*EffectRef
- func (x *KeyConsumedTips) GetKey() []byte
- func (*KeyConsumedTips) ProtoMessage()
- func (x *KeyConsumedTips) ProtoReflect() protoreflect.Message
- func (x *KeyConsumedTips) Reset()
- func (x *KeyConsumedTips) String() string
- type MergeRule
- type MetaEffect
- func (*MetaEffect) Descriptor() ([]byte, []int)deprecated
- func (x *MetaEffect) GetElementId() []byte
- func (x *MetaEffect) GetExpiresAt() *timestamppb.Timestamp
- func (x *MetaEffect) GetTypeTag() ValueType
- func (*MetaEffect) ProtoMessage()
- func (x *MetaEffect) ProtoReflect() protoreflect.Message
- func (x *MetaEffect) Reset()
- func (x *MetaEffect) String() string
- type NackNotify
- func (*NackNotify) Descriptor() ([]byte, []int)deprecated
- func (x *NackNotify) GetCausalChain() []*EffectRef
- func (x *NackNotify) GetConflicting() *EffectRef
- func (x *NackNotify) GetFilterVersion() uint64
- func (x *NackNotify) GetKey() []byte
- func (x *NackNotify) GetNodeKeyFilter() []byte
- func (x *NackNotify) GetNotSubscribed() bool
- func (x *NackNotify) GetTipDetails() []*NackTipDetail
- func (x *NackNotify) GetTips() []*EffectRef
- func (*NackNotify) ProtoMessage()
- func (x *NackNotify) ProtoReflect() protoreflect.Message
- func (x *NackNotify) Reset()
- func (x *NackNotify) String() string
- type NackTipDetail
- func (*NackTipDetail) Descriptor() ([]byte, []int)deprecated
- func (x *NackTipDetail) GetBindConsumedTips() []*KeyConsumedTips
- func (x *NackTipDetail) GetBindForkChoiceHash() []byte
- func (x *NackTipDetail) GetBindHlc() *timestamppb.Timestamp
- func (x *NackTipDetail) GetBindNodeId() uint64
- func (x *NackTipDetail) GetCollection() CollectionKind
- func (x *NackTipDetail) GetDeps() []*EffectRef
- func (x *NackTipDetail) GetElementId() []byte
- func (x *NackTipDetail) GetHlc() *timestamppb.Timestamp
- func (x *NackTipDetail) GetIsBind() bool
- func (x *NackTipDetail) GetIsData() bool
- func (x *NackTipDetail) GetIsTransactional() bool
- func (x *NackTipDetail) GetOp() EffectOp
- func (x *NackTipDetail) GetRef() *EffectRef
- func (*NackTipDetail) ProtoMessage()
- func (x *NackTipDetail) ProtoReflect() protoreflect.Message
- func (x *NackTipDetail) Reset()
- func (x *NackTipDetail) String() string
- type NodeID
- type NoopEffect
- type ObservationEffect
- func (*ObservationEffect) Descriptor() ([]byte, []int)deprecated
- func (x *ObservationEffect) GetPredicate() *Predicate
- func (*ObservationEffect) ProtoMessage()
- func (x *ObservationEffect) ProtoReflect() protoreflect.Message
- func (x *ObservationEffect) Reset()
- func (x *ObservationEffect) String() string
- type OffsetNotify
- func (*OffsetNotify) Descriptor() ([]byte, []int)deprecated
- func (x *OffsetNotify) GetDeps() []*EffectRef
- func (x *OffsetNotify) GetEffectData() []byte
- func (x *OffsetNotify) GetHlc() *timestamppb.Timestamp
- func (x *OffsetNotify) GetKey() []byte
- func (x *OffsetNotify) GetOrigin() *EffectRef
- func (x *OffsetNotify) GetTraceContext() []byte
- func (*OffsetNotify) ProtoMessage()
- func (x *OffsetNotify) ProtoReflect() protoreflect.Message
- func (x *OffsetNotify) Reset()
- func (x *OffsetNotify) String() string
- type Placement
- type Predicate
- func (*Predicate) Descriptor() ([]byte, []int)deprecated
- func (x *Predicate) GetBoolVal() bool
- func (x *Predicate) GetChild() *Predicate
- func (x *Predicate) GetChildren() []*Predicate
- func (x *Predicate) GetCol() uint32
- func (x *Predicate) GetCol2() uint32
- func (x *Predicate) GetKind() Predicate_Kind
- func (x *Predicate) GetLiteral() *TypedValue
- func (x *Predicate) GetOp() PredicateCmpOp
- func (*Predicate) ProtoMessage()
- func (x *Predicate) ProtoReflect() protoreflect.Message
- func (x *Predicate) Reset()
- func (x *Predicate) String() string
- type PredicateCmpOp
- func (PredicateCmpOp) Descriptor() protoreflect.EnumDescriptor
- func (x PredicateCmpOp) Enum() *PredicateCmpOp
- func (PredicateCmpOp) EnumDescriptor() ([]byte, []int)deprecated
- func (x PredicateCmpOp) Number() protoreflect.EnumNumber
- func (x PredicateCmpOp) String() string
- func (PredicateCmpOp) Type() protoreflect.EnumType
- type Predicate_Kind
- func (Predicate_Kind) Descriptor() protoreflect.EnumDescriptor
- func (x Predicate_Kind) Enum() *Predicate_Kind
- func (Predicate_Kind) EnumDescriptor() ([]byte, []int)deprecated
- func (x Predicate_Kind) Number() protoreflect.EnumNumber
- func (x Predicate_Kind) String() string
- func (Predicate_Kind) Type() protoreflect.EnumType
- type PubSubMessage
- func (*PubSubMessage) Descriptor() ([]byte, []int)deprecated
- func (x *PubSubMessage) GetChannel() []byte
- func (x *PubSubMessage) GetPayload() []byte
- func (*PubSubMessage) ProtoMessage()
- func (x *PubSubMessage) ProtoReflect() protoreflect.Message
- func (x *PubSubMessage) Reset()
- func (x *PubSubMessage) String() string
- type ReducedEffect
- func (*ReducedEffect) Descriptor() ([]byte, []int)deprecated
- func (x *ReducedEffect) GetCollection() CollectionKind
- func (x *ReducedEffect) GetCommutative() bool
- func (x *ReducedEffect) GetExpiresAt() *timestamppb.Timestamp
- func (x *ReducedEffect) GetForkChoiceHash() []byte
- func (x *ReducedEffect) GetHlc() *timestamppb.Timestamp
- func (x *ReducedEffect) GetMerge() MergeRule
- func (x *ReducedEffect) GetNetAdds() map[string]*ReducedElement
- func (x *ReducedEffect) GetNetRemoves() map[string]bool
- func (x *ReducedEffect) GetNodeId() uint64
- func (x *ReducedEffect) GetOp() EffectOp
- func (x *ReducedEffect) GetOrderedElements() []*ReducedElement
- func (x *ReducedEffect) GetPartitions() map[string]*ReducedEffect
- func (x *ReducedEffect) GetScalar() *DataEffect
- func (x *ReducedEffect) GetSerializationLeader() uint64
- func (x *ReducedEffect) GetSubscribers() map[uint64]bool
- func (x *ReducedEffect) GetTypeTag() ValueType
- func (*ReducedEffect) ProtoMessage()
- func (x *ReducedEffect) ProtoReflect() protoreflect.Message
- func (x *ReducedEffect) Reset()
- func (x *ReducedEffect) String() string
- type ReducedElement
- func (*ReducedElement) Descriptor() ([]byte, []int)deprecated
- func (x *ReducedElement) GetData() *DataEffect
- func (x *ReducedElement) GetExpiresAt() *timestamppb.Timestamp
- func (x *ReducedElement) GetForkChoiceHash() []byte
- func (x *ReducedElement) GetHlc() *timestamppb.Timestamp
- func (x *ReducedElement) GetNodeId() uint64
- func (*ReducedElement) ProtoMessage()
- func (x *ReducedElement) ProtoReflect() protoreflect.Message
- func (x *ReducedElement) Reset()
- func (x *ReducedElement) String() string
- type ReplicationClient
- type ReplicationServer
- type Replication_NotifyStreamClient
- type Replication_NotifyStreamServer
- type RowWriteEffect
- func (*RowWriteEffect) Descriptor() ([]byte, []int)deprecated
- func (x *RowWriteEffect) GetColumns() []*TypedValue
- func (x *RowWriteEffect) GetKind() RowWriteEffect_Kind
- func (x *RowWriteEffect) GetPk() []byte
- func (*RowWriteEffect) ProtoMessage()
- func (x *RowWriteEffect) ProtoReflect() protoreflect.Message
- func (x *RowWriteEffect) Reset()
- func (x *RowWriteEffect) String() string
- type RowWriteEffect_Kind
- func (RowWriteEffect_Kind) Descriptor() protoreflect.EnumDescriptor
- func (x RowWriteEffect_Kind) Enum() *RowWriteEffect_Kind
- func (RowWriteEffect_Kind) EnumDescriptor() ([]byte, []int)deprecated
- func (x RowWriteEffect_Kind) Number() protoreflect.EnumNumber
- func (x RowWriteEffect_Kind) String() string
- func (RowWriteEffect_Kind) Type() protoreflect.EnumType
- type SerializationEffect
- func (*SerializationEffect) Descriptor() ([]byte, []int)deprecated
- func (x *SerializationEffect) GetLeaderNodeId() uint64
- func (x *SerializationEffect) GetRelease() bool
- func (*SerializationEffect) ProtoMessage()
- func (x *SerializationEffect) ProtoReflect() protoreflect.Message
- func (x *SerializationEffect) Reset()
- func (x *SerializationEffect) String() string
- type SnapshotEffect
- func (*SnapshotEffect) Descriptor() ([]byte, []int)deprecated
- func (x *SnapshotEffect) GetCollection() CollectionKind
- func (x *SnapshotEffect) GetPrevSnapshot() *EffectRef
- func (x *SnapshotEffect) GetState() *ReducedEffect
- func (x *SnapshotEffect) GetTxnVerdicts() map[string]Verdict
- func (*SnapshotEffect) ProtoMessage()
- func (x *SnapshotEffect) ProtoReflect() protoreflect.Message
- func (x *SnapshotEffect) Reset()
- func (x *SnapshotEffect) String() string
- type SubscriptionEffect
- func (*SubscriptionEffect) Descriptor() ([]byte, []int)deprecated
- func (x *SubscriptionEffect) GetDiscovery() bool
- func (x *SubscriptionEffect) GetEphemeral() bool
- func (x *SubscriptionEffect) GetSubscriberNodeId() uint64
- func (x *SubscriptionEffect) GetUnsubscribe() bool
- func (*SubscriptionEffect) ProtoMessage()
- func (x *SubscriptionEffect) ProtoReflect() protoreflect.Message
- func (x *SubscriptionEffect) Reset()
- func (x *SubscriptionEffect) String() string
- type TransactionalBindEffect
- func (*TransactionalBindEffect) Descriptor() ([]byte, []int)deprecated
- func (x *TransactionalBindEffect) GetAbortDeps() []*EffectRef
- func (x *TransactionalBindEffect) GetKeys() []*TransactionalBindEffect_KeyBind
- func (x *TransactionalBindEffect) GetOriginatorNodeId() uint64
- func (x *TransactionalBindEffect) GetTxnHlc() *timestamppb.Timestamp
- func (*TransactionalBindEffect) ProtoMessage()
- func (x *TransactionalBindEffect) ProtoReflect() protoreflect.Message
- func (x *TransactionalBindEffect) Reset()
- func (x *TransactionalBindEffect) String() string
- type TransactionalBindEffect_KeyBind
- func (*TransactionalBindEffect_KeyBind) Descriptor() ([]byte, []int)deprecated
- func (x *TransactionalBindEffect_KeyBind) GetConsumedTips() []*EffectRef
- func (x *TransactionalBindEffect_KeyBind) GetHeads() []uint64
- func (x *TransactionalBindEffect_KeyBind) GetKey() []byte
- func (x *TransactionalBindEffect_KeyBind) GetNewTip() *EffectRef
- func (*TransactionalBindEffect_KeyBind) ProtoMessage()
- func (x *TransactionalBindEffect_KeyBind) ProtoReflect() protoreflect.Message
- func (x *TransactionalBindEffect_KeyBind) Reset()
- func (x *TransactionalBindEffect_KeyBind) String() string
- type TypedValue
- func (*TypedValue) Descriptor() ([]byte, []int)deprecated
- func (x *TypedValue) GetBlobVal() []byte
- func (x *TypedValue) GetFloatVal() float64
- func (x *TypedValue) GetIntVal() int64
- func (x *TypedValue) GetKind() TypedValue_Kind
- func (x *TypedValue) GetTextVal() string
- func (*TypedValue) ProtoMessage()
- func (x *TypedValue) ProtoReflect() protoreflect.Message
- func (x *TypedValue) Reset()
- func (x *TypedValue) String() string
- type TypedValue_Kind
- func (TypedValue_Kind) Descriptor() protoreflect.EnumDescriptor
- func (x TypedValue_Kind) Enum() *TypedValue_Kind
- func (TypedValue_Kind) EnumDescriptor() ([]byte, []int)deprecated
- func (x TypedValue_Kind) Number() protoreflect.EnumNumber
- func (x TypedValue_Kind) String() string
- func (TypedValue_Kind) Type() protoreflect.EnumType
- type UnimplementedReplicationServer
- type UnsafeReplicationServer
- type ValueType
- type Verdict
Constants ¶
This section is empty.
Variables ¶
var ( EffectOp_name = map[int32]string{ 0: "UNKNOWN_OP", 1: "INSERT_OP", 2: "REMOVE_OP", } EffectOp_value = map[string]int32{ "UNKNOWN_OP": 0, "INSERT_OP": 1, "REMOVE_OP": 2, } )
Enum value maps for EffectOp.
var ( MergeRule_name = map[int32]string{ 0: "LAST_WRITE_WINS", 1: "ADDITIVE_INT", 2: "ADDITIVE_FLOAT", 3: "MAX_INT", 4: "FIRST_WRITE_WINS", 5: "MAX_BYTES", } MergeRule_value = map[string]int32{ "LAST_WRITE_WINS": 0, "ADDITIVE_INT": 1, "ADDITIVE_FLOAT": 2, "MAX_INT": 3, "FIRST_WRITE_WINS": 4, "MAX_BYTES": 5, } )
Enum value maps for MergeRule.
var ( CollectionKind_name = map[int32]string{ 0: "SCALAR", 1: "KEYED", 2: "ORDERED", } CollectionKind_value = map[string]int32{ "SCALAR": 0, "KEYED": 1, "ORDERED": 2, } )
Enum value maps for CollectionKind.
var ( Placement_name = map[int32]string{ 0: "PLACE_NONE", 1: "PLACE_HEAD", 2: "PLACE_TAIL", 3: "PLACE_AFTER", 4: "PLACE_BEFORE", 5: "PLACE_SELF", } Placement_value = map[string]int32{ "PLACE_NONE": 0, "PLACE_HEAD": 1, "PLACE_TAIL": 2, "PLACE_AFTER": 3, "PLACE_BEFORE": 4, "PLACE_SELF": 5, } )
Enum value maps for Placement.
var ( Compression_name = map[int32]string{ 0: "COMPRESSION_NONE", 1: "COMPRESSION_ZSTD", } Compression_value = map[string]int32{ "COMPRESSION_NONE": 0, "COMPRESSION_ZSTD": 1, } )
Enum value maps for Compression.
var ( ValueType_name = map[int32]string{ 0: "TYPE_UNSPECIFIED", 1: "TYPE_STRING", 2: "TYPE_LIST", 3: "TYPE_HASH", 4: "TYPE_SET", 5: "TYPE_ZSET", 6: "TYPE_STREAM", 7: "TYPE_HLL", 8: "TYPE_BITMAP", 9: "TYPE_GEO", 10: "TYPE_JSON", 11: "TYPE_JSON_OBJECT", 12: "TYPE_JSON_ARRAY", } ValueType_value = map[string]int32{ "TYPE_UNSPECIFIED": 0, "TYPE_STRING": 1, "TYPE_LIST": 2, "TYPE_HASH": 3, "TYPE_SET": 4, "TYPE_ZSET": 5, "TYPE_STREAM": 6, "TYPE_HLL": 7, "TYPE_BITMAP": 8, "TYPE_GEO": 9, "TYPE_JSON": 10, "TYPE_JSON_OBJECT": 11, "TYPE_JSON_ARRAY": 12, } )
Enum value maps for ValueType.
var ( Verdict_name = map[int32]string{ 0: "VERDICT_UNSPECIFIED", 1: "WON", 2: "LOST", } Verdict_value = map[string]int32{ "VERDICT_UNSPECIFIED": 0, "WON": 1, "LOST": 2, } )
Enum value maps for Verdict.
var ( PredicateCmpOp_name = map[int32]string{ 0: "CMP_EQ", 1: "CMP_LT", 2: "CMP_LE", 3: "CMP_GT", 4: "CMP_GE", } PredicateCmpOp_value = map[string]int32{ "CMP_EQ": 0, "CMP_LT": 1, "CMP_LE": 2, "CMP_GT": 3, "CMP_GE": 4, } )
Enum value maps for PredicateCmpOp.
var ( TypedValue_Kind_name = map[int32]string{ 0: "NULL_VALUE", 1: "INT", 2: "FLOAT", 3: "TEXT", 4: "BLOB", } TypedValue_Kind_value = map[string]int32{ "NULL_VALUE": 0, "INT": 1, "FLOAT": 2, "TEXT": 3, "BLOB": 4, } )
Enum value maps for TypedValue_Kind.
var ( Predicate_Kind_name = map[int32]string{ 0: "BOOL", 1: "AND", 2: "OR", 3: "NOT", 4: "CMP", 5: "COL_CMP", 6: "IS_NULL", } Predicate_Kind_value = map[string]int32{ "BOOL": 0, "AND": 1, "OR": 2, "NOT": 3, "CMP": 4, "COL_CMP": 5, "IS_NULL": 6, } )
Enum value maps for Predicate_Kind.
var ( RowWriteEffect_Kind_name = map[int32]string{ 0: "INSERT", 1: "UPDATE", 2: "DELETE", } RowWriteEffect_Kind_value = map[string]int32{ "INSERT": 0, "UPDATE": 1, "DELETE": 2, } )
Enum value maps for RowWriteEffect_Kind.
var File_cluster_proto_replication_proto protoreflect.FileDescriptor
Functions ¶
func RegisterReplicationServer ¶
func RegisterReplicationServer(s *grpc.Server, srv ReplicationServer)
Types ¶
type CollectionKind ¶
type CollectionKind int32
CollectionKind determines how elements are tracked within a key.
const ( CollectionKind_SCALAR CollectionKind = 0 // Single value per key (string, counter) CollectionKind_KEYED CollectionKind = 1 // Named elements: member/field/entry (set, hash, zset) CollectionKind_ORDERED CollectionKind = 2 // Positionally ordered elements (list) )
func (CollectionKind) Descriptor ¶
func (CollectionKind) Descriptor() protoreflect.EnumDescriptor
func (CollectionKind) Enum ¶
func (x CollectionKind) Enum() *CollectionKind
func (CollectionKind) EnumDescriptor
deprecated
func (CollectionKind) EnumDescriptor() ([]byte, []int)
Deprecated: Use CollectionKind.Descriptor instead.
func (CollectionKind) Number ¶
func (x CollectionKind) Number() protoreflect.EnumNumber
func (CollectionKind) String ¶
func (x CollectionKind) String() string
func (CollectionKind) Type ¶
func (CollectionKind) Type() protoreflect.EnumType
type CompressedValue ¶
type CompressedValue struct {
Codec Compression `protobuf:"varint,1,opt,name=codec,proto3,enum=swytch.cluster.v1.Compression" json:"codec,omitempty"`
RawLen uint64 `protobuf:"varint,2,opt,name=raw_len,json=rawLen,proto3" json:"raw_len,omitempty"`
Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
// contains filtered or unexported fields
}
CompressedValue is a raw value stored under a compression codec: data is codec output, raw_len its inflated length. A distinct value arm rather than a flag on raw, so a consumer that never learned about compression sees no raw value at all (loud) instead of codec bytes masquerading as the value (silent). Writers compress by choice (--compress, and only when it actually shrinks the value); every reader inflates unconditionally, so nodes with different settings interoperate on one DAG. Travels with the effect everywhere — peers, cloud, snapshots — and billing declares raw_len, not the stored length.
func (*CompressedValue) Descriptor
deprecated
func (*CompressedValue) Descriptor() ([]byte, []int)
Deprecated: Use CompressedValue.ProtoReflect.Descriptor instead.
func (*CompressedValue) GetCodec ¶
func (x *CompressedValue) GetCodec() Compression
func (*CompressedValue) GetData ¶
func (x *CompressedValue) GetData() []byte
func (*CompressedValue) GetRawLen ¶
func (x *CompressedValue) GetRawLen() uint64
func (*CompressedValue) ProtoMessage ¶
func (*CompressedValue) ProtoMessage()
func (*CompressedValue) ProtoReflect ¶
func (x *CompressedValue) ProtoReflect() protoreflect.Message
func (*CompressedValue) Reset ¶
func (x *CompressedValue) Reset()
func (*CompressedValue) String ¶
func (x *CompressedValue) String() string
type Compression ¶
type Compression int32
DataEffect carries a mutation to a key's value. Compression identifies the codec of a CompressedValue.
const ( Compression_COMPRESSION_NONE Compression = 0 Compression_COMPRESSION_ZSTD Compression = 1 )
func (Compression) Descriptor ¶
func (Compression) Descriptor() protoreflect.EnumDescriptor
func (Compression) Enum ¶
func (x Compression) Enum() *Compression
func (Compression) EnumDescriptor
deprecated
func (Compression) EnumDescriptor() ([]byte, []int)
Deprecated: Use Compression.Descriptor instead.
func (Compression) Number ¶
func (x Compression) Number() protoreflect.EnumNumber
func (Compression) String ¶
func (x Compression) String() string
func (Compression) Type ¶
func (Compression) Type() protoreflect.EnumType
type DataEffect ¶
type DataEffect struct {
Op EffectOp `protobuf:"varint,1,opt,name=op,proto3,enum=swytch.cluster.v1.EffectOp" json:"op,omitempty"`
Merge MergeRule `protobuf:"varint,2,opt,name=merge,proto3,enum=swytch.cluster.v1.MergeRule" json:"merge,omitempty"`
Collection CollectionKind `protobuf:"varint,3,opt,name=collection,proto3,enum=swytch.cluster.v1.CollectionKind" json:"collection,omitempty"`
Placement Placement `protobuf:"varint,4,opt,name=placement,proto3,enum=swytch.cluster.v1.Placement" json:"placement,omitempty"`
Reference []byte `protobuf:"bytes,5,opt,name=reference,proto3" json:"reference,omitempty"` // pivot element ID for AFTER/BEFORE placement
Id []byte `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` // element ID (nil for scalar operations)
// Types that are assignable to Value:
//
// *DataEffect_Raw
// *DataEffect_IntVal
// *DataEffect_FloatVal
// *DataEffect_Compressed
// *DataEffect_Child
Value isDataEffect_Value `protobuf_oneof:"value"`
// contains filtered or unexported fields
}
func (*DataEffect) Decompress ¶
func (d *DataEffect) Decompress() []byte
Decompress returns the value's plain bytes regardless of how the writer stored them: the raw arm as-is, the compressed arm inflated. This is THE byte-value reader — call it wherever GetRaw() would be read as a value, or a compressed value silently reads as absent. Non-byte arms (int, float) and nil return nil, mirroring GetRaw. The stored effect is never mutated; inflation allocates fresh bytes per call.
A corrupt or unknown-codec value returns nil after logging loudly: the same bytes fail identically on every observer, so "no value" is at least a deterministic answer while the log points at the damage.
func (*DataEffect) Descriptor
deprecated
func (*DataEffect) Descriptor() ([]byte, []int)
Deprecated: Use DataEffect.ProtoReflect.Descriptor instead.
func (*DataEffect) GetChild ¶
func (x *DataEffect) GetChild() []byte
func (*DataEffect) GetCollection ¶
func (x *DataEffect) GetCollection() CollectionKind
func (*DataEffect) GetCompressed ¶
func (x *DataEffect) GetCompressed() *CompressedValue
func (*DataEffect) GetFloatVal ¶
func (x *DataEffect) GetFloatVal() float64
func (*DataEffect) GetId ¶
func (x *DataEffect) GetId() []byte
func (*DataEffect) GetIntVal ¶
func (x *DataEffect) GetIntVal() int64
func (*DataEffect) GetMerge ¶
func (x *DataEffect) GetMerge() MergeRule
func (*DataEffect) GetOp ¶
func (x *DataEffect) GetOp() EffectOp
func (*DataEffect) GetPlacement ¶
func (x *DataEffect) GetPlacement() Placement
func (*DataEffect) GetRaw ¶
func (x *DataEffect) GetRaw() []byte
func (*DataEffect) GetReference ¶
func (x *DataEffect) GetReference() []byte
func (*DataEffect) GetValue ¶
func (m *DataEffect) GetValue() isDataEffect_Value
func (*DataEffect) ProtoMessage ¶
func (*DataEffect) ProtoMessage()
func (*DataEffect) ProtoReflect ¶
func (x *DataEffect) ProtoReflect() protoreflect.Message
func (*DataEffect) Reset ¶
func (x *DataEffect) Reset()
func (*DataEffect) String ¶
func (x *DataEffect) String() string
type DataEffect_Child ¶
type DataEffect_Child struct {
Child []byte `protobuf:"bytes,14,opt,name=child,proto3,oneof"` // element references a child container partition (JSON); value lives in partition <child>
}
type DataEffect_Compressed ¶
type DataEffect_Compressed struct {
Compressed *CompressedValue `protobuf:"bytes,13,opt,name=compressed,proto3,oneof"`
}
type DataEffect_FloatVal ¶
type DataEffect_FloatVal struct {
FloatVal float64 `protobuf:"fixed64,12,opt,name=float_val,json=floatVal,proto3,oneof"`
}
type DataEffect_IntVal ¶
type DataEffect_IntVal struct {
IntVal int64 `protobuf:"zigzag64,11,opt,name=int_val,json=intVal,proto3,oneof"`
}
type DataEffect_Raw ¶
type DataEffect_Raw struct {
Raw []byte `protobuf:"bytes,10,opt,name=raw,proto3,oneof"`
}
type Effect ¶
type Effect struct {
// Identity & causality
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Hlc *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=hlc,proto3" json:"hlc,omitempty"`
NodeId uint64 `protobuf:"varint,3,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // originating node
Deps []*EffectRef `protobuf:"bytes,4,rep,name=deps,proto3" json:"deps,omitempty"` // causal dependencies (empty = root)
TxnId string `protobuf:"bytes,5,opt,name=txn_id,json=txnId,proto3" json:"txn_id,omitempty"` // transaction ID (empty = non-transactional)
ForkChoiceHash []byte `protobuf:"bytes,6,opt,name=fork_choice_hash,json=forkChoiceHash,proto3" json:"fork_choice_hash,omitempty"` // SHA-256(node_id_LE8 || hlc_LE8), computed at emit time
Virtual []byte `protobuf:"bytes,7,opt,name=virtual,proto3" json:"virtual,omitempty"` // partition key WITHIN the key (empty = root partition); enables nested values
// The effect payload — exactly one of these is set.
//
// Types that are assignable to Kind:
//
// *Effect_Data
// *Effect_Meta
// *Effect_TxnBind
// *Effect_Snapshot
// *Effect_Subscription
// *Effect_Serialization
// *Effect_Noop
// *Effect_Observation
// *Effect_RowWrite
// *Effect_PubsubMessage
Kind isEffect_Kind `protobuf_oneof:"kind"`
// contains filtered or unexported fields
}
Effect is the top-level envelope stored in the log and sent over the wire.
func (*Effect) Descriptor
deprecated
func (*Effect) GetData ¶
func (x *Effect) GetData() *DataEffect
func (*Effect) GetForkChoiceHash ¶
func (*Effect) GetHlc ¶
func (x *Effect) GetHlc() *timestamppb.Timestamp
func (*Effect) GetMeta ¶
func (x *Effect) GetMeta() *MetaEffect
func (*Effect) GetNoop ¶
func (x *Effect) GetNoop() *NoopEffect
func (*Effect) GetObservation ¶
func (x *Effect) GetObservation() *ObservationEffect
func (*Effect) GetPubsubMessage ¶
func (x *Effect) GetPubsubMessage() *PubSubMessage
func (*Effect) GetRowWrite ¶
func (x *Effect) GetRowWrite() *RowWriteEffect
func (*Effect) GetSerialization ¶
func (x *Effect) GetSerialization() *SerializationEffect
func (*Effect) GetSnapshot ¶
func (x *Effect) GetSnapshot() *SnapshotEffect
func (*Effect) GetSubscription ¶
func (x *Effect) GetSubscription() *SubscriptionEffect
func (*Effect) GetTxnBind ¶
func (x *Effect) GetTxnBind() *TransactionalBindEffect
func (*Effect) GetVirtual ¶
func (*Effect) ProtoMessage ¶
func (*Effect) ProtoMessage()
func (*Effect) ProtoReflect ¶
func (x *Effect) ProtoReflect() protoreflect.Message
type EffectOp ¶
type EffectOp int32
func (EffectOp) Descriptor ¶
func (EffectOp) Descriptor() protoreflect.EnumDescriptor
func (EffectOp) EnumDescriptor
deprecated
func (EffectOp) Number ¶
func (x EffectOp) Number() protoreflect.EnumNumber
func (EffectOp) Type ¶
func (EffectOp) Type() protoreflect.EnumType
type EffectRef ¶
type EffectRef struct {
NodeId uint64 `protobuf:"varint,1,opt,name=NodeId,proto3" json:"NodeId,omitempty"`
Offset uint64 `protobuf:"varint,2,opt,name=Offset,proto3" json:"Offset,omitempty"`
// contains filtered or unexported fields
}
func (*EffectRef) Descriptor
deprecated
func (*EffectRef) ProtoMessage ¶
func (*EffectRef) ProtoMessage()
func (*EffectRef) ProtoReflect ¶
func (x *EffectRef) ProtoReflect() protoreflect.Message
type EffectSeq ¶
type EffectSeq [2]uint64
EffectSeq identifies an effect globally: [0] = NodeID, [1] = monotonic offset. Supports == and != (array comparison) and works as a map key. NOT orderable by design — do not sort or compare with < / >.
func EffectSeqFromRef ¶
EffectSeqFromRef converts a protobuf EffectRef to an EffectSeq.
func NewEffectSeq ¶
type Effect_Data ¶
type Effect_Data struct {
Data *DataEffect `protobuf:"bytes,10,opt,name=data,proto3,oneof"`
}
type Effect_Meta ¶
type Effect_Meta struct {
Meta *MetaEffect `protobuf:"bytes,11,opt,name=meta,proto3,oneof"`
}
type Effect_Noop ¶
type Effect_Noop struct {
Noop *NoopEffect `protobuf:"bytes,17,opt,name=noop,proto3,oneof"`
}
type Effect_Observation ¶
type Effect_Observation struct {
Observation *ObservationEffect `protobuf:"bytes,18,opt,name=observation,proto3,oneof"`
}
type Effect_PubsubMessage ¶
type Effect_PubsubMessage struct {
PubsubMessage *PubSubMessage `protobuf:"bytes,20,opt,name=pubsub_message,json=pubsubMessage,proto3,oneof"`
}
type Effect_RowWrite ¶
type Effect_RowWrite struct {
RowWrite *RowWriteEffect `protobuf:"bytes,19,opt,name=row_write,json=rowWrite,proto3,oneof"`
}
type Effect_Serialization ¶
type Effect_Serialization struct {
Serialization *SerializationEffect `protobuf:"bytes,16,opt,name=serialization,proto3,oneof"`
}
type Effect_Snapshot ¶
type Effect_Snapshot struct {
Snapshot *SnapshotEffect `protobuf:"bytes,14,opt,name=snapshot,proto3,oneof"`
}
type Effect_Subscription ¶
type Effect_Subscription struct {
Subscription *SubscriptionEffect `protobuf:"bytes,15,opt,name=subscription,proto3,oneof"`
}
type Effect_TxnBind ¶
type Effect_TxnBind struct {
// field 12 removed (was BindEffect, now replaced by multi-dep effects)
TxnBind *TransactionalBindEffect `protobuf:"bytes,13,opt,name=txn_bind,json=txnBind,proto3,oneof"`
}
type FetchRequest ¶
type FetchRequest struct {
Ref *EffectRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
// contains filtered or unexported fields
}
FetchRequest asks the origin for effect bytes
func (*FetchRequest) Descriptor
deprecated
func (*FetchRequest) Descriptor() ([]byte, []int)
Deprecated: Use FetchRequest.ProtoReflect.Descriptor instead.
func (*FetchRequest) GetRef ¶
func (x *FetchRequest) GetRef() *EffectRef
func (*FetchRequest) ProtoMessage ¶
func (*FetchRequest) ProtoMessage()
func (*FetchRequest) ProtoReflect ¶
func (x *FetchRequest) ProtoReflect() protoreflect.Message
func (*FetchRequest) Reset ¶
func (x *FetchRequest) Reset()
func (*FetchRequest) String ¶
func (x *FetchRequest) String() string
type FetchResponse ¶
type FetchResponse struct {
Ref *EffectRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
EffectData []byte `protobuf:"bytes,2,opt,name=effect_data,json=effectData,proto3" json:"effect_data,omitempty"`
// contains filtered or unexported fields
}
FetchResponse returns the serialized effect bytes
func (*FetchResponse) Descriptor
deprecated
func (*FetchResponse) Descriptor() ([]byte, []int)
Deprecated: Use FetchResponse.ProtoReflect.Descriptor instead.
func (*FetchResponse) GetEffectData ¶
func (x *FetchResponse) GetEffectData() []byte
func (*FetchResponse) GetRef ¶
func (x *FetchResponse) GetRef() *EffectRef
func (*FetchResponse) ProtoMessage ¶
func (*FetchResponse) ProtoMessage()
func (*FetchResponse) ProtoReflect ¶
func (x *FetchResponse) ProtoReflect() protoreflect.Message
func (*FetchResponse) Reset ¶
func (x *FetchResponse) Reset()
func (*FetchResponse) String ¶
func (x *FetchResponse) String() string
type ForwardedCommand ¶
type ForwardedCommand struct {
CommandName []byte `protobuf:"bytes,1,opt,name=command_name,json=commandName,proto3" json:"command_name,omitempty"`
Args [][]byte `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
// contains filtered or unexported fields
}
func (*ForwardedCommand) Descriptor
deprecated
func (*ForwardedCommand) Descriptor() ([]byte, []int)
Deprecated: Use ForwardedCommand.ProtoReflect.Descriptor instead.
func (*ForwardedCommand) GetArgs ¶
func (x *ForwardedCommand) GetArgs() [][]byte
func (*ForwardedCommand) GetCommandName ¶
func (x *ForwardedCommand) GetCommandName() []byte
func (*ForwardedCommand) ProtoMessage ¶
func (*ForwardedCommand) ProtoMessage()
func (*ForwardedCommand) ProtoReflect ¶
func (x *ForwardedCommand) ProtoReflect() protoreflect.Message
func (*ForwardedCommand) Reset ¶
func (x *ForwardedCommand) Reset()
func (*ForwardedCommand) String ¶
func (x *ForwardedCommand) String() string
type ForwardedResponse ¶
type ForwardedResponse struct {
RespData []byte `protobuf:"bytes,1,opt,name=resp_data,json=respData,proto3" json:"resp_data,omitempty"` // raw RESP wire bytes for entire tx result
Error bool `protobuf:"varint,2,opt,name=error,proto3" json:"error,omitempty"`
ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
// contains filtered or unexported fields
}
func (*ForwardedResponse) Descriptor
deprecated
func (*ForwardedResponse) Descriptor() ([]byte, []int)
Deprecated: Use ForwardedResponse.ProtoReflect.Descriptor instead.
func (*ForwardedResponse) GetError ¶
func (x *ForwardedResponse) GetError() bool
func (*ForwardedResponse) GetErrorMessage ¶
func (x *ForwardedResponse) GetErrorMessage() string
func (*ForwardedResponse) GetRespData ¶
func (x *ForwardedResponse) GetRespData() []byte
func (*ForwardedResponse) ProtoMessage ¶
func (*ForwardedResponse) ProtoMessage()
func (*ForwardedResponse) ProtoReflect ¶
func (x *ForwardedResponse) ProtoReflect() protoreflect.Message
func (*ForwardedResponse) Reset ¶
func (x *ForwardedResponse) Reset()
func (*ForwardedResponse) String ¶
func (x *ForwardedResponse) String() string
type ForwardedTransaction ¶
type ForwardedTransaction struct {
Commands []*ForwardedCommand `protobuf:"bytes,1,rep,name=commands,proto3" json:"commands,omitempty"`
WatchedKeys [][]byte `protobuf:"bytes,2,rep,name=watched_keys,json=watchedKeys,proto3" json:"watched_keys,omitempty"` // WATCH keys if any
OriginNode uint64 `protobuf:"varint,3,opt,name=origin_node,json=originNode,proto3" json:"origin_node,omitempty"`
AuthorizedUser string `protobuf:"bytes,5,opt,name=authorized_user,json=authorizedUser,proto3" json:"authorized_user,omitempty"` // already-authenticated user from origin node (for ACL enforcement)
// contains filtered or unexported fields
}
ForwardedTransaction carries an entire transaction to be executed on the serialization leader. The leader executes all commands atomically and returns the raw RESP wire bytes.
func (*ForwardedTransaction) Descriptor
deprecated
func (*ForwardedTransaction) Descriptor() ([]byte, []int)
Deprecated: Use ForwardedTransaction.ProtoReflect.Descriptor instead.
func (*ForwardedTransaction) GetAuthorizedUser ¶
func (x *ForwardedTransaction) GetAuthorizedUser() string
func (*ForwardedTransaction) GetCommands ¶
func (x *ForwardedTransaction) GetCommands() []*ForwardedCommand
func (*ForwardedTransaction) GetOriginNode ¶
func (x *ForwardedTransaction) GetOriginNode() uint64
func (*ForwardedTransaction) GetWatchedKeys ¶
func (x *ForwardedTransaction) GetWatchedKeys() [][]byte
func (*ForwardedTransaction) ProtoMessage ¶
func (*ForwardedTransaction) ProtoMessage()
func (*ForwardedTransaction) ProtoReflect ¶
func (x *ForwardedTransaction) ProtoReflect() protoreflect.Message
func (*ForwardedTransaction) Reset ¶
func (x *ForwardedTransaction) Reset()
func (*ForwardedTransaction) String ¶
func (x *ForwardedTransaction) String() string
type KeyConsumedTips ¶
type KeyConsumedTips struct {
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
ConsumedTips []*EffectRef `protobuf:"bytes,2,rep,name=consumed_tips,json=consumedTips,proto3" json:"consumed_tips,omitempty"`
// contains filtered or unexported fields
}
KeyConsumedTips carries a bind's consumed tips for one key.
func (*KeyConsumedTips) Descriptor
deprecated
func (*KeyConsumedTips) Descriptor() ([]byte, []int)
Deprecated: Use KeyConsumedTips.ProtoReflect.Descriptor instead.
func (*KeyConsumedTips) GetConsumedTips ¶
func (x *KeyConsumedTips) GetConsumedTips() []*EffectRef
func (*KeyConsumedTips) GetKey ¶
func (x *KeyConsumedTips) GetKey() []byte
func (*KeyConsumedTips) ProtoMessage ¶
func (*KeyConsumedTips) ProtoMessage()
func (*KeyConsumedTips) ProtoReflect ¶
func (x *KeyConsumedTips) ProtoReflect() protoreflect.Message
func (*KeyConsumedTips) Reset ¶
func (x *KeyConsumedTips) Reset()
func (*KeyConsumedTips) String ¶
func (x *KeyConsumedTips) String() string
type MergeRule ¶
type MergeRule int32
MergeRule determines how concurrent values combine during reconstruction.
const ( MergeRule_LAST_WRITE_WINS MergeRule = 0 // Higher HLC wins (string SET, ZADD absolute) MergeRule_ADDITIVE_INT MergeRule = 1 // Sum int64 deltas (INCR) MergeRule_ADDITIVE_FLOAT MergeRule = 2 // Sum float64 deltas (INCRBYFLOAT, ZINCRBY) MergeRule_MAX_INT MergeRule = 3 // Take maximum (HLL registers) MergeRule_FIRST_WRITE_WINS MergeRule = 4 // Lower HLC wins (serialization request/release) MergeRule_MAX_BYTES MergeRule = 5 // Element-wise max of raw byte arrays (HLL registers) )
func (MergeRule) Descriptor ¶
func (MergeRule) Descriptor() protoreflect.EnumDescriptor
func (MergeRule) EnumDescriptor
deprecated
func (MergeRule) Number ¶
func (x MergeRule) Number() protoreflect.EnumNumber
func (MergeRule) Type ¶
func (MergeRule) Type() protoreflect.EnumType
type MetaEffect ¶
type MetaEffect struct {
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` // non-zero = metadata update (TTL), zero = pure read marker
TypeTag ValueType `protobuf:"varint,2,opt,name=type_tag,json=typeTag,proto3,enum=swytch.cluster.v1.ValueType" json:"type_tag,omitempty"` // non-zero = declares type for reconstruction
ElementId []byte `protobuf:"bytes,3,opt,name=element_id,json=elementId,proto3" json:"element_id,omitempty"` // when set, expires_at targets this specific element within a KEYED collection
// contains filtered or unexported fields
}
MetaEffect marks a causal dependency without changing state. Used for metadata-only mutations like TTL updates.
func (*MetaEffect) Descriptor
deprecated
func (*MetaEffect) Descriptor() ([]byte, []int)
Deprecated: Use MetaEffect.ProtoReflect.Descriptor instead.
func (*MetaEffect) GetElementId ¶
func (x *MetaEffect) GetElementId() []byte
func (*MetaEffect) GetExpiresAt ¶
func (x *MetaEffect) GetExpiresAt() *timestamppb.Timestamp
func (*MetaEffect) GetTypeTag ¶
func (x *MetaEffect) GetTypeTag() ValueType
func (*MetaEffect) ProtoMessage ¶
func (*MetaEffect) ProtoMessage()
func (*MetaEffect) ProtoReflect ¶
func (x *MetaEffect) ProtoReflect() protoreflect.Message
func (*MetaEffect) Reset ¶
func (x *MetaEffect) Reset()
func (*MetaEffect) String ¶
func (x *MetaEffect) String() string
type NackNotify ¶
type NackNotify struct {
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // the key with the conflict
Conflicting *EffectRef `protobuf:"bytes,2,opt,name=conflicting,proto3" json:"conflicting,omitempty"` // the effect that triggered the conflict
Tips []*EffectRef `protobuf:"bytes,3,rep,name=tips,proto3" json:"tips,omitempty"` // sender's full tip set for this key
TipDetails []*NackTipDetail `protobuf:"bytes,4,rep,name=tip_details,json=tipDetails,proto3" json:"tip_details,omitempty"` // metadata per tip for smart conflict detection
NotSubscribed bool `protobuf:"varint,5,opt,name=not_subscribed,json=notSubscribed,proto3" json:"not_subscribed,omitempty"` // receiver is not subscribed to this key, so it discarded the write
CausalChain []*EffectRef `protobuf:"bytes,6,rep,name=causal_chain,json=causalChain,proto3" json:"causal_chain,omitempty"` // all effect refs from tips to LCA snapshot; lets receiver bulk-fetch
NodeKeyFilter []byte `protobuf:"bytes,7,opt,name=node_key_filter,json=nodeKeyFilter,proto3" json:"node_key_filter,omitempty"` // responder's own per-node cuckoo filter of keys it holds (for free read-misses)
FilterVersion uint64 `protobuf:"varint,8,opt,name=filter_version,json=filterVersion,proto3" json:"filter_version,omitempty"` // monotonic version of node_key_filter; cache replace-if-newer
// contains filtered or unexported fields
}
NackNotify signals a causal conflict on a key. Sent when a received effect's deps don't match the receiver's current tips.
func (*NackNotify) Descriptor
deprecated
func (*NackNotify) Descriptor() ([]byte, []int)
Deprecated: Use NackNotify.ProtoReflect.Descriptor instead.
func (*NackNotify) GetCausalChain ¶
func (x *NackNotify) GetCausalChain() []*EffectRef
func (*NackNotify) GetConflicting ¶
func (x *NackNotify) GetConflicting() *EffectRef
func (*NackNotify) GetFilterVersion ¶
func (x *NackNotify) GetFilterVersion() uint64
func (*NackNotify) GetKey ¶
func (x *NackNotify) GetKey() []byte
func (*NackNotify) GetNodeKeyFilter ¶
func (x *NackNotify) GetNodeKeyFilter() []byte
func (*NackNotify) GetNotSubscribed ¶
func (x *NackNotify) GetNotSubscribed() bool
func (*NackNotify) GetTipDetails ¶
func (x *NackNotify) GetTipDetails() []*NackTipDetail
func (*NackNotify) GetTips ¶
func (x *NackNotify) GetTips() []*EffectRef
func (*NackNotify) ProtoMessage ¶
func (*NackNotify) ProtoMessage()
func (*NackNotify) ProtoReflect ¶
func (x *NackNotify) ProtoReflect() protoreflect.Message
func (*NackNotify) Reset ¶
func (x *NackNotify) Reset()
func (*NackNotify) String ¶
func (x *NackNotify) String() string
type NackTipDetail ¶
type NackTipDetail struct {
Ref *EffectRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` // the tip's identity (node_id + offset)
Hlc *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=hlc,proto3" json:"hlc,omitempty"`
IsTransactional bool `protobuf:"varint,4,opt,name=is_transactional,json=isTransactional,proto3" json:"is_transactional,omitempty"`
IsData bool `protobuf:"varint,5,opt,name=is_data,json=isData,proto3" json:"is_data,omitempty"` // true = DataEffect
IsBind bool `protobuf:"varint,6,opt,name=is_bind,json=isBind,proto3" json:"is_bind,omitempty"` // true = TransactionalBindEffect
BindHlc *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=bind_hlc,json=bindHlc,proto3" json:"bind_hlc,omitempty"` // the bind's txn_hlc (for FWW comparison)
Collection CollectionKind `protobuf:"varint,8,opt,name=collection,proto3,enum=swytch.cluster.v1.CollectionKind" json:"collection,omitempty"`
ElementId []byte `protobuf:"bytes,9,opt,name=element_id,json=elementId,proto3" json:"element_id,omitempty"`
Op EffectOp `protobuf:"varint,10,opt,name=op,proto3,enum=swytch.cluster.v1.EffectOp" json:"op,omitempty"`
Deps []*EffectRef `protobuf:"bytes,11,rep,name=deps,proto3" json:"deps,omitempty"`
BindNodeId uint64 `protobuf:"varint,12,opt,name=bind_node_id,json=bindNodeId,proto3" json:"bind_node_id,omitempty"`
BindForkChoiceHash []byte `protobuf:"bytes,13,opt,name=bind_fork_choice_hash,json=bindForkChoiceHash,proto3" json:"bind_fork_choice_hash,omitempty"`
BindConsumedTips []*KeyConsumedTips `protobuf:"bytes,14,rep,name=bind_consumed_tips,json=bindConsumedTips,proto3" json:"bind_consumed_tips,omitempty"` // per-key consumed tips for bindsShareBase check
// contains filtered or unexported fields
}
NackTipDetail provides metadata about a competing tip to avoid extra fetches.
func (*NackTipDetail) Descriptor
deprecated
func (*NackTipDetail) Descriptor() ([]byte, []int)
Deprecated: Use NackTipDetail.ProtoReflect.Descriptor instead.
func (*NackTipDetail) GetBindConsumedTips ¶
func (x *NackTipDetail) GetBindConsumedTips() []*KeyConsumedTips
func (*NackTipDetail) GetBindForkChoiceHash ¶
func (x *NackTipDetail) GetBindForkChoiceHash() []byte
func (*NackTipDetail) GetBindHlc ¶
func (x *NackTipDetail) GetBindHlc() *timestamppb.Timestamp
func (*NackTipDetail) GetBindNodeId ¶
func (x *NackTipDetail) GetBindNodeId() uint64
func (*NackTipDetail) GetCollection ¶
func (x *NackTipDetail) GetCollection() CollectionKind
func (*NackTipDetail) GetDeps ¶
func (x *NackTipDetail) GetDeps() []*EffectRef
func (*NackTipDetail) GetElementId ¶
func (x *NackTipDetail) GetElementId() []byte
func (*NackTipDetail) GetHlc ¶
func (x *NackTipDetail) GetHlc() *timestamppb.Timestamp
func (*NackTipDetail) GetIsBind ¶
func (x *NackTipDetail) GetIsBind() bool
func (*NackTipDetail) GetIsData ¶
func (x *NackTipDetail) GetIsData() bool
func (*NackTipDetail) GetIsTransactional ¶
func (x *NackTipDetail) GetIsTransactional() bool
func (*NackTipDetail) GetOp ¶
func (x *NackTipDetail) GetOp() EffectOp
func (*NackTipDetail) GetRef ¶
func (x *NackTipDetail) GetRef() *EffectRef
func (*NackTipDetail) ProtoMessage ¶
func (*NackTipDetail) ProtoMessage()
func (*NackTipDetail) ProtoReflect ¶
func (x *NackTipDetail) ProtoReflect() protoreflect.Message
func (*NackTipDetail) Reset ¶
func (x *NackTipDetail) Reset()
func (*NackTipDetail) String ¶
func (x *NackTipDetail) String() string
type NodeID ¶
type NodeID uint64
NodeID is an ephemeral node identifier: 32 bits seconds-since-epoch | 32 bits random. Generated fresh on every startup — never reused across restarts.
type NoopEffect ¶
type NoopEffect struct {
// contains filtered or unexported fields
}
NoopEffect marks a causal dependency used to detect phantom reads/writes in transactions.
func (*NoopEffect) Descriptor
deprecated
func (*NoopEffect) Descriptor() ([]byte, []int)
Deprecated: Use NoopEffect.ProtoReflect.Descriptor instead.
func (*NoopEffect) ProtoMessage ¶
func (*NoopEffect) ProtoMessage()
func (*NoopEffect) ProtoReflect ¶
func (x *NoopEffect) ProtoReflect() protoreflect.Message
func (*NoopEffect) Reset ¶
func (x *NoopEffect) Reset()
func (*NoopEffect) String ¶
func (x *NoopEffect) String() string
type ObservationEffect ¶
type ObservationEffect struct {
Predicate *Predicate `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"`
// contains filtered or unexported fields
}
ObservationEffect records a sub-DAG observation made by a transaction. Emitted during scans at the table-identity key (s/<table>); fork-choice evaluates the predicate against concurrent RowWriteEffects arriving at the same key and triggers a conflict when a write satisfies the predicate.
The column ordinals referenced in the predicate are pinned to the schema tip at observation time; any subsequent ALTER COLUMN forks the table-identity key and aborts the observing transaction via the usual fork-choice mechanism.
func (*ObservationEffect) Descriptor
deprecated
func (*ObservationEffect) Descriptor() ([]byte, []int)
Deprecated: Use ObservationEffect.ProtoReflect.Descriptor instead.
func (*ObservationEffect) GetPredicate ¶
func (x *ObservationEffect) GetPredicate() *Predicate
func (*ObservationEffect) ProtoMessage ¶
func (*ObservationEffect) ProtoMessage()
func (*ObservationEffect) ProtoReflect ¶
func (x *ObservationEffect) ProtoReflect() protoreflect.Message
func (*ObservationEffect) Reset ¶
func (x *ObservationEffect) Reset()
func (*ObservationEffect) String ¶
func (x *ObservationEffect) String() string
type OffsetNotify ¶
type OffsetNotify struct {
Origin *EffectRef `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"` // where this effect lives
Hlc *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=hlc,proto3" json:"hlc,omitempty"` // effect's HLC timestamp (for causality ordering)
Deps []*EffectRef `protobuf:"bytes,3,rep,name=deps,proto3" json:"deps,omitempty"` // parent effects (0 = root, 1 = linear, 2 = bind)
Key []byte `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` // Redis key
EffectData []byte `protobuf:"bytes,5,opt,name=effect_data,json=effectData,proto3" json:"effect_data,omitempty"` // eagerly-pushed effect bytes (same-region only)
TraceContext []byte `protobuf:"bytes,7,opt,name=trace_context,json=traceContext,proto3" json:"trace_context,omitempty"` // OTel trace context (26 bytes, optional)
// contains filtered or unexported fields
}
OffsetNotify is broadcast after every local write
func (*OffsetNotify) Descriptor
deprecated
func (*OffsetNotify) Descriptor() ([]byte, []int)
Deprecated: Use OffsetNotify.ProtoReflect.Descriptor instead.
func (*OffsetNotify) GetDeps ¶
func (x *OffsetNotify) GetDeps() []*EffectRef
func (*OffsetNotify) GetEffectData ¶
func (x *OffsetNotify) GetEffectData() []byte
func (*OffsetNotify) GetHlc ¶
func (x *OffsetNotify) GetHlc() *timestamppb.Timestamp
func (*OffsetNotify) GetKey ¶
func (x *OffsetNotify) GetKey() []byte
func (*OffsetNotify) GetOrigin ¶
func (x *OffsetNotify) GetOrigin() *EffectRef
func (*OffsetNotify) GetTraceContext ¶
func (x *OffsetNotify) GetTraceContext() []byte
func (*OffsetNotify) ProtoMessage ¶
func (*OffsetNotify) ProtoMessage()
func (*OffsetNotify) ProtoReflect ¶
func (x *OffsetNotify) ProtoReflect() protoreflect.Message
func (*OffsetNotify) Reset ¶
func (x *OffsetNotify) Reset()
func (*OffsetNotify) String ¶
func (x *OffsetNotify) String() string
type Placement ¶
type Placement int32
Placement determines position semantics for mutations.
const ( Placement_PLACE_NONE Placement = 0 // Default (scalar overwrite, keyed add/remove) Placement_PLACE_HEAD Placement = 1 // Insert at head (list LPUSH) Placement_PLACE_TAIL Placement = 2 // Insert at tail / append (list RPUSH, string APPEND) Placement_PLACE_AFTER Placement = 3 // After reference element (LINSERT AFTER, SETRANGE) Placement_PLACE_BEFORE Placement = 4 // Before reference element (LINSERT BEFORE) Placement_PLACE_SELF Placement = 5 // Operate on existing element (update/tombstone) )
func (Placement) Descriptor ¶
func (Placement) Descriptor() protoreflect.EnumDescriptor
func (Placement) EnumDescriptor
deprecated
func (Placement) Number ¶
func (x Placement) Number() protoreflect.EnumNumber
func (Placement) Type ¶
func (Placement) Type() protoreflect.EnumType
type Predicate ¶
type Predicate struct {
Kind Predicate_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=swytch.cluster.v1.Predicate_Kind" json:"kind,omitempty"`
BoolVal bool `protobuf:"varint,2,opt,name=bool_val,json=boolVal,proto3" json:"bool_val,omitempty"`
Children []*Predicate `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"`
Child *Predicate `protobuf:"bytes,4,opt,name=child,proto3" json:"child,omitempty"`
Col uint32 `protobuf:"varint,5,opt,name=col,proto3" json:"col,omitempty"`
Col2 uint32 `protobuf:"varint,6,opt,name=col2,proto3" json:"col2,omitempty"`
Op PredicateCmpOp `protobuf:"varint,7,opt,name=op,proto3,enum=swytch.cluster.v1.PredicateCmpOp" json:"op,omitempty"`
Literal *TypedValue `protobuf:"bytes,8,opt,name=literal,proto3" json:"literal,omitempty"`
// contains filtered or unexported fields
}
Predicate is a boolean expression tree describing the sub-DAG a transaction observed during a read. Exactly one payload group is meaningful, discriminated by Kind:
BOOL -> bool_val AND / OR -> children NOT -> child CMP -> col, op, literal COL_CMP -> col, op, col2 IS_NULL -> col
func (*Predicate) Descriptor
deprecated
func (*Predicate) GetBoolVal ¶
func (*Predicate) GetChildren ¶
func (*Predicate) GetKind ¶
func (x *Predicate) GetKind() Predicate_Kind
func (*Predicate) GetLiteral ¶
func (x *Predicate) GetLiteral() *TypedValue
func (*Predicate) GetOp ¶
func (x *Predicate) GetOp() PredicateCmpOp
func (*Predicate) ProtoMessage ¶
func (*Predicate) ProtoMessage()
func (*Predicate) ProtoReflect ¶
func (x *Predicate) ProtoReflect() protoreflect.Message
type PredicateCmpOp ¶
type PredicateCmpOp int32
PredicateCmpOp is the comparison operator for a Predicate.CMP or Predicate.COL_CMP term.
const ( PredicateCmpOp_CMP_EQ PredicateCmpOp = 0 PredicateCmpOp_CMP_LT PredicateCmpOp = 1 PredicateCmpOp_CMP_LE PredicateCmpOp = 2 PredicateCmpOp_CMP_GT PredicateCmpOp = 3 PredicateCmpOp_CMP_GE PredicateCmpOp = 4 )
func (PredicateCmpOp) Descriptor ¶
func (PredicateCmpOp) Descriptor() protoreflect.EnumDescriptor
func (PredicateCmpOp) Enum ¶
func (x PredicateCmpOp) Enum() *PredicateCmpOp
func (PredicateCmpOp) EnumDescriptor
deprecated
func (PredicateCmpOp) EnumDescriptor() ([]byte, []int)
Deprecated: Use PredicateCmpOp.Descriptor instead.
func (PredicateCmpOp) Number ¶
func (x PredicateCmpOp) Number() protoreflect.EnumNumber
func (PredicateCmpOp) String ¶
func (x PredicateCmpOp) String() string
func (PredicateCmpOp) Type ¶
func (PredicateCmpOp) Type() protoreflect.EnumType
type Predicate_Kind ¶
type Predicate_Kind int32
const ( Predicate_BOOL Predicate_Kind = 0 Predicate_AND Predicate_Kind = 1 Predicate_OR Predicate_Kind = 2 Predicate_NOT Predicate_Kind = 3 Predicate_CMP Predicate_Kind = 4 Predicate_COL_CMP Predicate_Kind = 5 Predicate_IS_NULL Predicate_Kind = 6 )
func (Predicate_Kind) Descriptor ¶
func (Predicate_Kind) Descriptor() protoreflect.EnumDescriptor
func (Predicate_Kind) Enum ¶
func (x Predicate_Kind) Enum() *Predicate_Kind
func (Predicate_Kind) EnumDescriptor
deprecated
func (Predicate_Kind) EnumDescriptor() ([]byte, []int)
Deprecated: Use Predicate_Kind.Descriptor instead.
func (Predicate_Kind) Number ¶
func (x Predicate_Kind) Number() protoreflect.EnumNumber
func (Predicate_Kind) String ¶
func (x Predicate_Kind) String() string
func (Predicate_Kind) Type ¶
func (Predicate_Kind) Type() protoreflect.EnumType
type PubSubMessage ¶
type PubSubMessage struct {
Channel []byte `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` // raw channel name (not the __swytch-prefixed routing key)
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
// contains filtered or unexported fields
}
PubSubMessage carries a fire-and-forget Redis PUBLISH payload to peers that have previously announced interest via an ephemeral SubscriptionEffect. Wire-only; never persisted, never indexed, never re-broadcast on receive.
func (*PubSubMessage) Descriptor
deprecated
func (*PubSubMessage) Descriptor() ([]byte, []int)
Deprecated: Use PubSubMessage.ProtoReflect.Descriptor instead.
func (*PubSubMessage) GetChannel ¶
func (x *PubSubMessage) GetChannel() []byte
func (*PubSubMessage) GetPayload ¶
func (x *PubSubMessage) GetPayload() []byte
func (*PubSubMessage) ProtoMessage ¶
func (*PubSubMessage) ProtoMessage()
func (*PubSubMessage) ProtoReflect ¶
func (x *PubSubMessage) ProtoReflect() protoreflect.Message
func (*PubSubMessage) Reset ¶
func (x *PubSubMessage) Reset()
func (*PubSubMessage) String ¶
func (x *PubSubMessage) String() string
type ReducedEffect ¶
type ReducedEffect struct {
Op EffectOp `protobuf:"varint,1,opt,name=op,proto3,enum=swytch.cluster.v1.EffectOp" json:"op,omitempty"`
Merge MergeRule `protobuf:"varint,2,opt,name=merge,proto3,enum=swytch.cluster.v1.MergeRule" json:"merge,omitempty"`
Collection CollectionKind `protobuf:"varint,3,opt,name=collection,proto3,enum=swytch.cluster.v1.CollectionKind" json:"collection,omitempty"`
Hlc *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=hlc,proto3" json:"hlc,omitempty"`
NodeId uint64 `protobuf:"varint,5,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
Commutative bool `protobuf:"varint,6,opt,name=commutative,proto3" json:"commutative,omitempty"`
// SCALAR result
Scalar *DataEffect `protobuf:"bytes,10,opt,name=scalar,proto3" json:"scalar,omitempty"`
// KEYED result (hash, set, zset, HLL, stream)
NetAdds map[string]*ReducedElement `` /* 171-byte string literal not displayed */
NetRemoves map[string]bool `` /* 181-byte string literal not displayed */
// ORDERED result (list)
OrderedElements []*ReducedElement `protobuf:"bytes,13,rep,name=ordered_elements,json=orderedElements,proto3" json:"ordered_elements,omitempty"`
// Metadata
TypeTag ValueType `protobuf:"varint,20,opt,name=type_tag,json=typeTag,proto3,enum=swytch.cluster.v1.ValueType" json:"type_tag,omitempty"`
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
// Subscription tracking
Subscribers map[uint64]bool `` /* 166-byte string literal not displayed */
// Serialization leader (absent = no serialization active)
SerializationLeader *uint64 `` /* 126-byte string literal not displayed */
// Fork-choice hash propagated from the tip effect during reduction
ForkChoiceHash []byte `protobuf:"bytes,24,opt,name=fork_choice_hash,json=forkChoiceHash,proto3" json:"fork_choice_hash,omitempty"`
// Non-root virtual partitions of this key, keyed by full virtual path.
// Empty/nil for flat keys (byte-identical to pre-nesting behavior). Each
// entry is itself a flat ReducedEffect (its own partitions map is empty) —
// a flat partition map linked at container markers, not a recursive tree.
Partitions map[string]*ReducedEffect `` /* 162-byte string literal not displayed */
// contains filtered or unexported fields
}
ReducedEffect is the canonical materialized state of a key. Produced by reducing a linear chain of effects (ReduceBranch) or merging concurrent branches (Merge2/MergeN).
func (*ReducedEffect) Descriptor
deprecated
func (*ReducedEffect) Descriptor() ([]byte, []int)
Deprecated: Use ReducedEffect.ProtoReflect.Descriptor instead.
func (*ReducedEffect) GetCollection ¶
func (x *ReducedEffect) GetCollection() CollectionKind
func (*ReducedEffect) GetCommutative ¶
func (x *ReducedEffect) GetCommutative() bool
func (*ReducedEffect) GetExpiresAt ¶
func (x *ReducedEffect) GetExpiresAt() *timestamppb.Timestamp
func (*ReducedEffect) GetForkChoiceHash ¶
func (x *ReducedEffect) GetForkChoiceHash() []byte
func (*ReducedEffect) GetHlc ¶
func (x *ReducedEffect) GetHlc() *timestamppb.Timestamp
func (*ReducedEffect) GetMerge ¶
func (x *ReducedEffect) GetMerge() MergeRule
func (*ReducedEffect) GetNetAdds ¶
func (x *ReducedEffect) GetNetAdds() map[string]*ReducedElement
func (*ReducedEffect) GetNetRemoves ¶
func (x *ReducedEffect) GetNetRemoves() map[string]bool
func (*ReducedEffect) GetNodeId ¶
func (x *ReducedEffect) GetNodeId() uint64
func (*ReducedEffect) GetOp ¶
func (x *ReducedEffect) GetOp() EffectOp
func (*ReducedEffect) GetOrderedElements ¶
func (x *ReducedEffect) GetOrderedElements() []*ReducedElement
func (*ReducedEffect) GetPartitions ¶
func (x *ReducedEffect) GetPartitions() map[string]*ReducedEffect
func (*ReducedEffect) GetScalar ¶
func (x *ReducedEffect) GetScalar() *DataEffect
func (*ReducedEffect) GetSerializationLeader ¶
func (x *ReducedEffect) GetSerializationLeader() uint64
func (*ReducedEffect) GetSubscribers ¶
func (x *ReducedEffect) GetSubscribers() map[uint64]bool
func (*ReducedEffect) GetTypeTag ¶
func (x *ReducedEffect) GetTypeTag() ValueType
func (*ReducedEffect) ProtoMessage ¶
func (*ReducedEffect) ProtoMessage()
func (*ReducedEffect) ProtoReflect ¶
func (x *ReducedEffect) ProtoReflect() protoreflect.Message
func (*ReducedEffect) Reset ¶
func (x *ReducedEffect) Reset()
func (*ReducedEffect) String ¶
func (x *ReducedEffect) String() string
type ReducedElement ¶
type ReducedElement struct {
Data *DataEffect `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
Hlc *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=hlc,proto3" json:"hlc,omitempty"`
NodeId uint64 `protobuf:"varint,3,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
ForkChoiceHash []byte `protobuf:"bytes,5,opt,name=fork_choice_hash,json=forkChoiceHash,proto3" json:"fork_choice_hash,omitempty"` // for element-level winner selection
// contains filtered or unexported fields
}
ReducedElement is a single element within a KEYED or ORDERED collection after reduction.
func (*ReducedElement) Descriptor
deprecated
func (*ReducedElement) Descriptor() ([]byte, []int)
Deprecated: Use ReducedElement.ProtoReflect.Descriptor instead.
func (*ReducedElement) GetData ¶
func (x *ReducedElement) GetData() *DataEffect
func (*ReducedElement) GetExpiresAt ¶
func (x *ReducedElement) GetExpiresAt() *timestamppb.Timestamp
func (*ReducedElement) GetForkChoiceHash ¶
func (x *ReducedElement) GetForkChoiceHash() []byte
func (*ReducedElement) GetHlc ¶
func (x *ReducedElement) GetHlc() *timestamppb.Timestamp
func (*ReducedElement) GetNodeId ¶
func (x *ReducedElement) GetNodeId() uint64
func (*ReducedElement) ProtoMessage ¶
func (*ReducedElement) ProtoMessage()
func (*ReducedElement) ProtoReflect ¶
func (x *ReducedElement) ProtoReflect() protoreflect.Message
func (*ReducedElement) Reset ¶
func (x *ReducedElement) Reset()
func (*ReducedElement) String ¶
func (x *ReducedElement) String() string
type ReplicationClient ¶
type ReplicationClient interface {
// NotifyStream is a bidirectional stream for offset notifications.
// Each peer opens one stream; both sides send OffsetNotify messages.
NotifyStream(ctx context.Context, opts ...grpc.CallOption) (Replication_NotifyStreamClient, error)
// Fetch retrieves effect bytes by offset from the origin node.
Fetch(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*FetchResponse, error)
}
ReplicationClient is the client API for Replication service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewReplicationClient ¶
func NewReplicationClient(cc grpc.ClientConnInterface) ReplicationClient
type ReplicationServer ¶
type ReplicationServer interface {
// NotifyStream is a bidirectional stream for offset notifications.
// Each peer opens one stream; both sides send OffsetNotify messages.
NotifyStream(Replication_NotifyStreamServer) error
// Fetch retrieves effect bytes by offset from the origin node.
Fetch(context.Context, *FetchRequest) (*FetchResponse, error)
// contains filtered or unexported methods
}
ReplicationServer is the server API for Replication service. All implementations must embed UnimplementedReplicationServer for forward compatibility
type Replication_NotifyStreamClient ¶
type Replication_NotifyStreamClient interface {
Send(*OffsetNotify) error
Recv() (*OffsetNotify, error)
grpc.ClientStream
}
type Replication_NotifyStreamServer ¶
type Replication_NotifyStreamServer interface {
Send(*OffsetNotify) error
Recv() (*OffsetNotify, error)
grpc.ServerStream
}
type RowWriteEffect ¶
type RowWriteEffect struct {
Pk []byte `protobuf:"bytes,1,opt,name=pk,proto3" json:"pk,omitempty"`
Kind RowWriteEffect_Kind `protobuf:"varint,2,opt,name=kind,proto3,enum=swytch.cluster.v1.RowWriteEffect_Kind" json:"kind,omitempty"`
Columns []*TypedValue `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"`
// contains filtered or unexported fields
}
RowWriteEffect carries the full column tuple of a row-level INSERT/UPDATE/DELETE. Emitted alongside the per-column DataEffects that drive reduction, but attached to the table-identity key (s/<table>) so predicate evaluation in fork-choice sees all writes to the table at a single check-point.
For INSERTs and UPDATEs, `columns` is the effective post-commit tuple (carry-forward already applied). For DELETEs, `columns` is the pre-deletion state so observations like `role = 'admin'` can be evaluated against the row that was there.
func (*RowWriteEffect) Descriptor
deprecated
func (*RowWriteEffect) Descriptor() ([]byte, []int)
Deprecated: Use RowWriteEffect.ProtoReflect.Descriptor instead.
func (*RowWriteEffect) GetColumns ¶
func (x *RowWriteEffect) GetColumns() []*TypedValue
func (*RowWriteEffect) GetKind ¶
func (x *RowWriteEffect) GetKind() RowWriteEffect_Kind
func (*RowWriteEffect) GetPk ¶
func (x *RowWriteEffect) GetPk() []byte
func (*RowWriteEffect) ProtoMessage ¶
func (*RowWriteEffect) ProtoMessage()
func (*RowWriteEffect) ProtoReflect ¶
func (x *RowWriteEffect) ProtoReflect() protoreflect.Message
func (*RowWriteEffect) Reset ¶
func (x *RowWriteEffect) Reset()
func (*RowWriteEffect) String ¶
func (x *RowWriteEffect) String() string
type RowWriteEffect_Kind ¶
type RowWriteEffect_Kind int32
const ( RowWriteEffect_INSERT RowWriteEffect_Kind = 0 RowWriteEffect_UPDATE RowWriteEffect_Kind = 1 RowWriteEffect_DELETE RowWriteEffect_Kind = 2 )
func (RowWriteEffect_Kind) Descriptor ¶
func (RowWriteEffect_Kind) Descriptor() protoreflect.EnumDescriptor
func (RowWriteEffect_Kind) Enum ¶
func (x RowWriteEffect_Kind) Enum() *RowWriteEffect_Kind
func (RowWriteEffect_Kind) EnumDescriptor
deprecated
func (RowWriteEffect_Kind) EnumDescriptor() ([]byte, []int)
Deprecated: Use RowWriteEffect_Kind.Descriptor instead.
func (RowWriteEffect_Kind) Number ¶
func (x RowWriteEffect_Kind) Number() protoreflect.EnumNumber
func (RowWriteEffect_Kind) String ¶
func (x RowWriteEffect_Kind) String() string
func (RowWriteEffect_Kind) Type ¶
func (RowWriteEffect_Kind) Type() protoreflect.EnumType
type SerializationEffect ¶
type SerializationEffect struct {
LeaderNodeId uint64 `protobuf:"varint,1,opt,name=leader_node_id,json=leaderNodeId,proto3" json:"leader_node_id,omitempty"`
Release bool `protobuf:"varint,2,opt,name=release,proto3" json:"release,omitempty"` // false = request serialization, true = release
// contains filtered or unexported fields
}
SerializationEffect requests or releases per-key serialized coordination. FWW among themselves, commutative with data effects.
func (*SerializationEffect) Descriptor
deprecated
func (*SerializationEffect) Descriptor() ([]byte, []int)
Deprecated: Use SerializationEffect.ProtoReflect.Descriptor instead.
func (*SerializationEffect) GetLeaderNodeId ¶
func (x *SerializationEffect) GetLeaderNodeId() uint64
func (*SerializationEffect) GetRelease ¶
func (x *SerializationEffect) GetRelease() bool
func (*SerializationEffect) ProtoMessage ¶
func (*SerializationEffect) ProtoMessage()
func (*SerializationEffect) ProtoReflect ¶
func (x *SerializationEffect) ProtoReflect() protoreflect.Message
func (*SerializationEffect) Reset ¶
func (x *SerializationEffect) Reset()
func (*SerializationEffect) String ¶
func (x *SerializationEffect) String() string
type SnapshotEffect ¶
type SnapshotEffect struct {
Collection CollectionKind `protobuf:"varint,1,opt,name=collection,proto3,enum=swytch.cluster.v1.CollectionKind" json:"collection,omitempty"` // what kind of state is serialized
State *ReducedEffect `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // materialized state
// Verdicts adjudicated when this snapshot was emitted. Populated only by
// winner-commit emissions: the committing txnID is WON, each competing bind
// it beat during flushTx is LOST. State-only compaction snapshots (read
// triggered) leave this empty.
TxnVerdicts map[string]Verdict `` /* 214-byte string literal not displayed */
// Previous snapshot on this key, if any. Forms a chain so verdict-walks can
// traverse historical adjudications via snapshots without consulting tips.
// Zero-valued if no prior snapshot exists for this key.
PrevSnapshot *EffectRef `protobuf:"bytes,4,opt,name=prev_snapshot,json=prevSnapshot,proto3" json:"prev_snapshot,omitempty"`
// contains filtered or unexported fields
}
SnapshotEffect stores a materialized state that short-circuits DAG walking, and optionally records the verdicts adjudicated at the moment of emission so cross-key reconstructs can derive winners/losers without re-walking past it.
func (*SnapshotEffect) Descriptor
deprecated
func (*SnapshotEffect) Descriptor() ([]byte, []int)
Deprecated: Use SnapshotEffect.ProtoReflect.Descriptor instead.
func (*SnapshotEffect) GetCollection ¶
func (x *SnapshotEffect) GetCollection() CollectionKind
func (*SnapshotEffect) GetPrevSnapshot ¶
func (x *SnapshotEffect) GetPrevSnapshot() *EffectRef
func (*SnapshotEffect) GetState ¶
func (x *SnapshotEffect) GetState() *ReducedEffect
func (*SnapshotEffect) GetTxnVerdicts ¶
func (x *SnapshotEffect) GetTxnVerdicts() map[string]Verdict
func (*SnapshotEffect) ProtoMessage ¶
func (*SnapshotEffect) ProtoMessage()
func (*SnapshotEffect) ProtoReflect ¶
func (x *SnapshotEffect) ProtoReflect() protoreflect.Message
func (*SnapshotEffect) Reset ¶
func (x *SnapshotEffect) Reset()
func (*SnapshotEffect) String ¶
func (x *SnapshotEffect) String() string
type SubscriptionEffect ¶
type SubscriptionEffect struct {
SubscriberNodeId uint64 `protobuf:"varint,1,opt,name=subscriber_node_id,json=subscriberNodeId,proto3" json:"subscriber_node_id,omitempty"`
Unsubscribe bool `protobuf:"varint,2,opt,name=unsubscribe,proto3" json:"unsubscribe,omitempty"` // false = subscribe, true = unsubscribe
Discovery bool `protobuf:"varint,3,opt,name=discovery,proto3" json:"discovery,omitempty"` // true = anti-entropy probe, just NACK back with tips, don't store
// true = pub/sub ephemeral announce: receiver registers subscriber in
// per-peer table, does not store, does not NACK, does not index.
Ephemeral bool `protobuf:"varint,4,opt,name=ephemeral,proto3" json:"ephemeral,omitempty"`
// contains filtered or unexported fields
}
SubscriptionEffect declares interest (or loss of interest) in a key. Fully commutative with all other effects.
func (*SubscriptionEffect) Descriptor
deprecated
func (*SubscriptionEffect) Descriptor() ([]byte, []int)
Deprecated: Use SubscriptionEffect.ProtoReflect.Descriptor instead.
func (*SubscriptionEffect) GetDiscovery ¶
func (x *SubscriptionEffect) GetDiscovery() bool
func (*SubscriptionEffect) GetEphemeral ¶
func (x *SubscriptionEffect) GetEphemeral() bool
func (*SubscriptionEffect) GetSubscriberNodeId ¶
func (x *SubscriptionEffect) GetSubscriberNodeId() uint64
func (*SubscriptionEffect) GetUnsubscribe ¶
func (x *SubscriptionEffect) GetUnsubscribe() bool
func (*SubscriptionEffect) ProtoMessage ¶
func (*SubscriptionEffect) ProtoMessage()
func (*SubscriptionEffect) ProtoReflect ¶
func (x *SubscriptionEffect) ProtoReflect() protoreflect.Message
func (*SubscriptionEffect) Reset ¶
func (x *SubscriptionEffect) Reset()
func (*SubscriptionEffect) String ¶
func (x *SubscriptionEffect) String() string
type TransactionalBindEffect ¶
type TransactionalBindEffect struct {
Keys []*TransactionalBindEffect_KeyBind `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
TxnHlc *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=txn_hlc,json=txnHlc,proto3" json:"txn_hlc,omitempty"` // originator HLC for FWW
OriginatorNodeId uint64 `protobuf:"varint,3,opt,name=originator_node_id,json=originatorNodeId,proto3" json:"originator_node_id,omitempty"` // originator node
AbortDeps []*EffectRef `protobuf:"bytes,4,rep,name=abort_deps,json=abortDeps,proto3" json:"abort_deps,omitempty"` // competing tx effects being folded
// contains filtered or unexported fields
}
TransactionalBindEffect atomically joins branches across multiple keys.
func (*TransactionalBindEffect) Descriptor
deprecated
func (*TransactionalBindEffect) Descriptor() ([]byte, []int)
Deprecated: Use TransactionalBindEffect.ProtoReflect.Descriptor instead.
func (*TransactionalBindEffect) GetAbortDeps ¶
func (x *TransactionalBindEffect) GetAbortDeps() []*EffectRef
func (*TransactionalBindEffect) GetKeys ¶
func (x *TransactionalBindEffect) GetKeys() []*TransactionalBindEffect_KeyBind
func (*TransactionalBindEffect) GetOriginatorNodeId ¶
func (x *TransactionalBindEffect) GetOriginatorNodeId() uint64
func (*TransactionalBindEffect) GetTxnHlc ¶
func (x *TransactionalBindEffect) GetTxnHlc() *timestamppb.Timestamp
func (*TransactionalBindEffect) ProtoMessage ¶
func (*TransactionalBindEffect) ProtoMessage()
func (*TransactionalBindEffect) ProtoReflect ¶
func (x *TransactionalBindEffect) ProtoReflect() protoreflect.Message
func (*TransactionalBindEffect) Reset ¶
func (x *TransactionalBindEffect) Reset()
func (*TransactionalBindEffect) String ¶
func (x *TransactionalBindEffect) String() string
type TransactionalBindEffect_KeyBind ¶
type TransactionalBindEffect_KeyBind struct {
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Heads []uint64 `protobuf:"varint,2,rep,packed,name=heads,proto3" json:"heads,omitempty"` // branch tips for this key
ConsumedTips []*EffectRef `protobuf:"bytes,3,rep,name=consumed_tips,json=consumedTips,proto3" json:"consumed_tips,omitempty"` // tips at tx start (for fork identification)
NewTip *EffectRef `protobuf:"bytes,4,opt,name=new_tip,json=newTip,proto3" json:"new_tip,omitempty"` // last effect offset per key
// contains filtered or unexported fields
}
func (*TransactionalBindEffect_KeyBind) Descriptor
deprecated
func (*TransactionalBindEffect_KeyBind) Descriptor() ([]byte, []int)
Deprecated: Use TransactionalBindEffect_KeyBind.ProtoReflect.Descriptor instead.
func (*TransactionalBindEffect_KeyBind) GetConsumedTips ¶
func (x *TransactionalBindEffect_KeyBind) GetConsumedTips() []*EffectRef
func (*TransactionalBindEffect_KeyBind) GetHeads ¶
func (x *TransactionalBindEffect_KeyBind) GetHeads() []uint64
func (*TransactionalBindEffect_KeyBind) GetKey ¶
func (x *TransactionalBindEffect_KeyBind) GetKey() []byte
func (*TransactionalBindEffect_KeyBind) GetNewTip ¶
func (x *TransactionalBindEffect_KeyBind) GetNewTip() *EffectRef
func (*TransactionalBindEffect_KeyBind) ProtoMessage ¶
func (*TransactionalBindEffect_KeyBind) ProtoMessage()
func (*TransactionalBindEffect_KeyBind) ProtoReflect ¶
func (x *TransactionalBindEffect_KeyBind) ProtoReflect() protoreflect.Message
func (*TransactionalBindEffect_KeyBind) Reset ¶
func (x *TransactionalBindEffect_KeyBind) Reset()
func (*TransactionalBindEffect_KeyBind) String ¶
func (x *TransactionalBindEffect_KeyBind) String() string
type TypedValue ¶
type TypedValue struct {
Kind TypedValue_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=swytch.cluster.v1.TypedValue_Kind" json:"kind,omitempty"`
IntVal int64 `protobuf:"varint,2,opt,name=int_val,json=intVal,proto3" json:"int_val,omitempty"`
FloatVal float64 `protobuf:"fixed64,3,opt,name=float_val,json=floatVal,proto3" json:"float_val,omitempty"`
TextVal string `protobuf:"bytes,4,opt,name=text_val,json=textVal,proto3" json:"text_val,omitempty"`
BlobVal []byte `protobuf:"bytes,5,opt,name=blob_val,json=blobVal,proto3" json:"blob_val,omitempty"`
// contains filtered or unexported fields
}
TypedValue is a tagged literal used in Predicate comparisons and in the column tuple of a RowWriteEffect. The Kind tag selects which payload field is meaningful.
func (*TypedValue) Descriptor
deprecated
func (*TypedValue) Descriptor() ([]byte, []int)
Deprecated: Use TypedValue.ProtoReflect.Descriptor instead.
func (*TypedValue) GetBlobVal ¶
func (x *TypedValue) GetBlobVal() []byte
func (*TypedValue) GetFloatVal ¶
func (x *TypedValue) GetFloatVal() float64
func (*TypedValue) GetIntVal ¶
func (x *TypedValue) GetIntVal() int64
func (*TypedValue) GetKind ¶
func (x *TypedValue) GetKind() TypedValue_Kind
func (*TypedValue) GetTextVal ¶
func (x *TypedValue) GetTextVal() string
func (*TypedValue) ProtoMessage ¶
func (*TypedValue) ProtoMessage()
func (*TypedValue) ProtoReflect ¶
func (x *TypedValue) ProtoReflect() protoreflect.Message
func (*TypedValue) Reset ¶
func (x *TypedValue) Reset()
func (*TypedValue) String ¶
func (x *TypedValue) String() string
type TypedValue_Kind ¶
type TypedValue_Kind int32
const ( TypedValue_NULL_VALUE TypedValue_Kind = 0 TypedValue_INT TypedValue_Kind = 1 TypedValue_FLOAT TypedValue_Kind = 2 TypedValue_TEXT TypedValue_Kind = 3 TypedValue_BLOB TypedValue_Kind = 4 )
func (TypedValue_Kind) Descriptor ¶
func (TypedValue_Kind) Descriptor() protoreflect.EnumDescriptor
func (TypedValue_Kind) Enum ¶
func (x TypedValue_Kind) Enum() *TypedValue_Kind
func (TypedValue_Kind) EnumDescriptor
deprecated
func (TypedValue_Kind) EnumDescriptor() ([]byte, []int)
Deprecated: Use TypedValue_Kind.Descriptor instead.
func (TypedValue_Kind) Number ¶
func (x TypedValue_Kind) Number() protoreflect.EnumNumber
func (TypedValue_Kind) String ¶
func (x TypedValue_Kind) String() string
func (TypedValue_Kind) Type ¶
func (TypedValue_Kind) Type() protoreflect.EnumType
type UnimplementedReplicationServer ¶
type UnimplementedReplicationServer struct {
}
UnimplementedReplicationServer must be embedded to have forward compatible implementations.
func (UnimplementedReplicationServer) Fetch ¶
func (UnimplementedReplicationServer) Fetch(context.Context, *FetchRequest) (*FetchResponse, error)
func (UnimplementedReplicationServer) NotifyStream ¶
func (UnimplementedReplicationServer) NotifyStream(Replication_NotifyStreamServer) error
type UnsafeReplicationServer ¶
type UnsafeReplicationServer interface {
// contains filtered or unexported methods
}
UnsafeReplicationServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ReplicationServer will result in compilation errors.
type ValueType ¶
type ValueType int32
const ( ValueType_TYPE_UNSPECIFIED ValueType = 0 ValueType_TYPE_STRING ValueType = 1 ValueType_TYPE_LIST ValueType = 2 ValueType_TYPE_HASH ValueType = 3 ValueType_TYPE_SET ValueType = 4 ValueType_TYPE_ZSET ValueType = 5 ValueType_TYPE_STREAM ValueType = 6 ValueType_TYPE_HLL ValueType = 7 ValueType_TYPE_BITMAP ValueType = 8 ValueType_TYPE_GEO ValueType = 9 ValueType_TYPE_JSON ValueType = 10 // JSON key; root is a scalar leaf ValueType_TYPE_JSON_OBJECT ValueType = 11 // a JSON object node (ORDERED partition, elements keyed by member name) ValueType_TYPE_JSON_ARRAY ValueType = 12 // a JSON array node (ORDERED partition, elements keyed by generated id) )
func (ValueType) Descriptor ¶
func (ValueType) Descriptor() protoreflect.EnumDescriptor
func (ValueType) EnumDescriptor
deprecated
func (ValueType) Number ¶
func (x ValueType) Number() protoreflect.EnumNumber
func (ValueType) Type ¶
func (ValueType) Type() protoreflect.EnumType
type Verdict ¶
type Verdict int32
Verdict is the adjudication outcome for a transaction recorded in a snapshot. Populated only by winners (originators on commit). Aborters never emit.
func (Verdict) Descriptor ¶
func (Verdict) Descriptor() protoreflect.EnumDescriptor
func (Verdict) EnumDescriptor
deprecated
func (Verdict) Number ¶
func (x Verdict) Number() protoreflect.EnumNumber
func (Verdict) Type ¶
func (Verdict) Type() protoreflect.EnumType