api

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2023 License: BSD-3-Clause Imports: 19 Imported by: 17

Documentation

Index

Constants

View Source
const (
	Ensign_Publish_FullMethodName        = "/ensign.v1beta1.Ensign/Publish"
	Ensign_Subscribe_FullMethodName      = "/ensign.v1beta1.Ensign/Subscribe"
	Ensign_EnSQL_FullMethodName          = "/ensign.v1beta1.Ensign/EnSQL"
	Ensign_Explain_FullMethodName        = "/ensign.v1beta1.Ensign/Explain"
	Ensign_ListTopics_FullMethodName     = "/ensign.v1beta1.Ensign/ListTopics"
	Ensign_CreateTopic_FullMethodName    = "/ensign.v1beta1.Ensign/CreateTopic"
	Ensign_RetrieveTopic_FullMethodName  = "/ensign.v1beta1.Ensign/RetrieveTopic"
	Ensign_DeleteTopic_FullMethodName    = "/ensign.v1beta1.Ensign/DeleteTopic"
	Ensign_TopicNames_FullMethodName     = "/ensign.v1beta1.Ensign/TopicNames"
	Ensign_TopicExists_FullMethodName    = "/ensign.v1beta1.Ensign/TopicExists"
	Ensign_SetTopicPolicy_FullMethodName = "/ensign.v1beta1.Ensign/SetTopicPolicy"
	Ensign_Info_FullMethodName           = "/ensign.v1beta1.Ensign/Info"
	Ensign_Status_FullMethodName         = "/ensign.v1beta1.Ensign/Status"
)

Variables

View Source
var (
	Nack_Code_name = map[int32]string{
		0:   "UNKNOWN",
		1:   "MAX_EVENT_SIZE_EXCEEDED",
		2:   "TOPIC_UNKNOWN",
		3:   "TOPIC_ARCHIVED",
		4:   "TOPIC_DELETED",
		5:   "PERMISSION_DENIED",
		6:   "CONSENSUS_FAILURE",
		7:   "SHARDING_FAILURE",
		8:   "REDIRECT",
		9:   "INTERNAL",
		100: "UNPROCESSED",
		101: "TIMEOUT",
		102: "UNHANDLED_MIMETYPE",
		103: "UNKNOWN_TYPE",
		104: "DELIVER_AGAIN_ANY",
		105: "DELIVER_AGAIN_NOT_ME",
	}
	Nack_Code_value = map[string]int32{
		"UNKNOWN":                 0,
		"MAX_EVENT_SIZE_EXCEEDED": 1,
		"TOPIC_UNKNOWN":           2,
		"TOPIC_ARCHIVED":          3,
		"TOPIC_DELETED":           4,
		"PERMISSION_DENIED":       5,
		"CONSENSUS_FAILURE":       6,
		"SHARDING_FAILURE":        7,
		"REDIRECT":                8,
		"INTERNAL":                9,
		"UNPROCESSED":             100,
		"TIMEOUT":                 101,
		"UNHANDLED_MIMETYPE":      102,
		"UNKNOWN_TYPE":            103,
		"DELIVER_AGAIN_ANY":       104,
		"DELIVER_AGAIN_NOT_ME":    105,
	}
)

Enum value maps for Nack_Code.

View Source
var (
	ServiceState_Status_name = map[int32]string{
		0: "UNKNOWN",
		1: "HEALTHY",
		2: "UNHEALTHY",
		3: "DANGER",
		4: "OFFLINE",
		5: "MAINTENANCE",
	}
	ServiceState_Status_value = map[string]int32{
		"UNKNOWN":     0,
		"HEALTHY":     1,
		"UNHEALTHY":   2,
		"DANGER":      3,
		"OFFLINE":     4,
		"MAINTENANCE": 5,
	}
)

Enum value maps for ServiceState_Status.

View Source
var (
	Encryption_Algorithm_name = map[int32]string{
		0:   "PLAINTEXT",
		110: "AES256_GCM",
		120: "AES192_GCM",
		130: "AES128_GCM",
		310: "HMAC_SHA256",
		510: "RSA_OAEP_SHA512",
	}
	Encryption_Algorithm_value = map[string]int32{
		"PLAINTEXT":       0,
		"AES256_GCM":      110,
		"AES192_GCM":      120,
		"AES128_GCM":      130,
		"HMAC_SHA256":     310,
		"RSA_OAEP_SHA512": 510,
	}
)

Enum value maps for Encryption_Algorithm.

View Source
var (
	Compression_Algorithm_name = map[int32]string{
		0: "NONE",
		1: "GZIP",
		2: "COMPRESS",
		3: "DEFLATE",
		4: "BROTLI",
	}
	Compression_Algorithm_value = map[string]int32{
		"NONE":     0,
		"GZIP":     1,
		"COMPRESS": 2,
		"DEFLATE":  3,
		"BROTLI":   4,
	}
)

Enum value maps for Compression_Algorithm.

View Source
var (
	DeliverySemantic_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "AT_MOST_ONCE",
		2: "AT_LEAST_ONCE",
		3: "EXACTLY_ONCE",
	}
	DeliverySemantic_value = map[string]int32{
		"UNSPECIFIED":   0,
		"AT_MOST_ONCE":  1,
		"AT_LEAST_ONCE": 2,
		"EXACTLY_ONCE":  3,
	}
)

Enum value maps for DeliverySemantic.

View Source
var (
	TopicState_name = map[int32]string{
		0: "UNDEFINED",
		1: "READY",
		2: "READONLY",
		3: "DELETING",
		4: "PENDING",
		5: "ALLOCATING",
		6: "REPAIRING",
	}
	TopicState_value = map[string]int32{
		"UNDEFINED":  0,
		"READY":      1,
		"READONLY":   2,
		"DELETING":   3,
		"PENDING":    4,
		"ALLOCATING": 5,
		"REPAIRING":  6,
	}
)

Enum value maps for TopicState.

View Source
var (
	ShardingStrategy_name = map[int32]string{
		0: "UNKNOWN",
		1: "NO_SHARDING",
		2: "CONSISTENT_KEY_HASH",
		3: "RANDOM",
		4: "PUBLISHER_ORDERING",
	}
	ShardingStrategy_value = map[string]int32{
		"UNKNOWN":             0,
		"NO_SHARDING":         1,
		"CONSISTENT_KEY_HASH": 2,
		"RANDOM":              3,
		"PUBLISHER_ORDERING":  4,
	}
)

Enum value maps for ShardingStrategy.

View Source
var (
	TopicMod_Operation_name = map[int32]string{
		0: "NOOP",
		1: "ARCHIVE",
		2: "DESTROY",
	}
	TopicMod_Operation_value = map[string]int32{
		"NOOP":    0,
		"ARCHIVE": 1,
		"DESTROY": 2,
	}
)

Enum value maps for TopicMod_Operation.

View Source
var (
	Deduplication_Strategy_name = map[int32]string{
		0: "UNKNOWN",
		1: "NONE",
		2: "STRICT",
		3: "DATAGRAM",
		4: "KEY_GROUPED",
		5: "UNIQUE_KEY",
		6: "UNIQUE_FIELD",
	}
	Deduplication_Strategy_value = map[string]int32{
		"UNKNOWN":      0,
		"NONE":         1,
		"STRICT":       2,
		"DATAGRAM":     3,
		"KEY_GROUPED":  4,
		"UNIQUE_KEY":   5,
		"UNIQUE_FIELD": 6,
	}
)

Enum value maps for Deduplication_Strategy.

View Source
var (
	Deduplication_OffsetPosition_name = map[int32]string{
		0: "OFFSET_UNKNOWN",
		1: "OFFSET_EARLIEST",
		2: "OFFSET_LATEST",
	}
	Deduplication_OffsetPosition_value = map[string]int32{
		"OFFSET_UNKNOWN":  0,
		"OFFSET_EARLIEST": 1,
		"OFFSET_LATEST":   2,
	}
)

Enum value maps for Deduplication_OffsetPosition.

View Source
var Ensign_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "ensign.v1beta1.Ensign",
	HandlerType: (*EnsignServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Explain",
			Handler:    _Ensign_Explain_Handler,
		},
		{
			MethodName: "ListTopics",
			Handler:    _Ensign_ListTopics_Handler,
		},
		{
			MethodName: "CreateTopic",
			Handler:    _Ensign_CreateTopic_Handler,
		},
		{
			MethodName: "RetrieveTopic",
			Handler:    _Ensign_RetrieveTopic_Handler,
		},
		{
			MethodName: "DeleteTopic",
			Handler:    _Ensign_DeleteTopic_Handler,
		},
		{
			MethodName: "TopicNames",
			Handler:    _Ensign_TopicNames_Handler,
		},
		{
			MethodName: "TopicExists",
			Handler:    _Ensign_TopicExists_Handler,
		},
		{
			MethodName: "SetTopicPolicy",
			Handler:    _Ensign_SetTopicPolicy_Handler,
		},
		{
			MethodName: "Info",
			Handler:    _Ensign_Info_Handler,
		},
		{
			MethodName: "Status",
			Handler:    _Ensign_Status_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Publish",
			Handler:       _Ensign_Publish_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "Subscribe",
			Handler:       _Ensign_Subscribe_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "EnSQL",
			Handler:       _Ensign_EnSQL_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "api/v1beta1/ensign.proto",
}

Ensign_ServiceDesc is the grpc.ServiceDesc for Ensign service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var (
	ErrSemverParse = errors.New("could not parse version string as a semantic version 2.0.0")
)
View Source
var File_api_v1beta1_ensign_proto protoreflect.FileDescriptor
View Source
var File_api_v1beta1_event_proto protoreflect.FileDescriptor
View Source
var File_api_v1beta1_groups_proto protoreflect.FileDescriptor
View Source
var File_api_v1beta1_query_proto protoreflect.FileDescriptor
View Source
var File_api_v1beta1_topic_proto protoreflect.FileDescriptor

Functions

func RegisterEnsignServer

func RegisterEnsignServer(s grpc.ServiceRegistrar, srv EnsignServer)

Types

type Ack

type Ack struct {
	Id        []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Committed *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=committed,proto3" json:"committed,omitempty"`
	// contains filtered or unexported fields
}

Ack represents the receipt and final handling of an event. This datatype should be small so that throughput is not affected and generally only contains the ID of the event being acknowledged. When Ensign commits an event to the log from the producer, the commit timestamp is returned to help determine event latency. When clients ack an event back to the Ensign server, they only need contain the id.

func (*Ack) Descriptor deprecated

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

Deprecated: Use Ack.ProtoReflect.Descriptor instead.

func (*Ack) GetCommitted

func (x *Ack) GetCommitted() *timestamppb.Timestamp

func (*Ack) GetId

func (x *Ack) GetId() []byte

func (*Ack) ProtoMessage

func (*Ack) ProtoMessage()

func (*Ack) ProtoReflect

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

func (*Ack) Reset

func (x *Ack) Reset()

func (*Ack) String

func (x *Ack) String() string

type CloseStream

type CloseStream struct {
	Events uint64 `protobuf:"varint,1,opt,name=events,proto3" json:"events,omitempty"`
	Topics uint64 `protobuf:"varint,2,opt,name=topics,proto3" json:"topics,omitempty"`
	Acks   uint64 `protobuf:"varint,3,opt,name=acks,proto3" json:"acks,omitempty"`
	Nacks  uint64 `protobuf:"varint,4,opt,name=nacks,proto3" json:"nacks,omitempty"`
	// contains filtered or unexported fields
}

CloseStream returns some basic stats and topic information to the publisher or subscriber when the stream is closed and provides feedback that the stream was closed successfully.

func (*CloseStream) Descriptor deprecated

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

Deprecated: Use CloseStream.ProtoReflect.Descriptor instead.

func (*CloseStream) GetAcks added in v0.9.0

func (x *CloseStream) GetAcks() uint64

func (*CloseStream) GetEvents

func (x *CloseStream) GetEvents() uint64

func (*CloseStream) GetNacks added in v0.9.0

func (x *CloseStream) GetNacks() uint64

func (*CloseStream) GetTopics added in v0.7.0

func (x *CloseStream) GetTopics() uint64

func (*CloseStream) ProtoMessage

func (*CloseStream) ProtoMessage()

func (*CloseStream) ProtoReflect

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

func (*CloseStream) Reset

func (x *CloseStream) Reset()

func (*CloseStream) String

func (x *CloseStream) String() string

type Compression

type Compression struct {
	Algorithm Compression_Algorithm `protobuf:"varint,1,opt,name=algorithm,proto3,enum=ensign.v1beta1.Compression_Algorithm" json:"algorithm,omitempty"`
	Level     int64                 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"`
	// contains filtered or unexported fields
}

Metadata about compression used to reduce the storage size of the event.

func (*Compression) Descriptor deprecated

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

Deprecated: Use Compression.ProtoReflect.Descriptor instead.

func (*Compression) GetAlgorithm

func (x *Compression) GetAlgorithm() Compression_Algorithm

func (*Compression) GetLevel added in v0.7.0

func (x *Compression) GetLevel() int64

func (*Compression) ProtoMessage

func (*Compression) ProtoMessage()

func (*Compression) ProtoReflect

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

func (*Compression) Reset

func (x *Compression) Reset()

func (*Compression) String

func (x *Compression) String() string

type Compression_Algorithm added in v0.7.0

type Compression_Algorithm int32
const (
	Compression_NONE     Compression_Algorithm = 0
	Compression_GZIP     Compression_Algorithm = 1
	Compression_COMPRESS Compression_Algorithm = 2
	Compression_DEFLATE  Compression_Algorithm = 3
	Compression_BROTLI   Compression_Algorithm = 4
)

func (Compression_Algorithm) Descriptor added in v0.7.0

func (Compression_Algorithm) Enum added in v0.7.0

func (Compression_Algorithm) EnumDescriptor deprecated added in v0.7.0

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

Deprecated: Use Compression_Algorithm.Descriptor instead.

func (Compression_Algorithm) Number added in v0.7.0

func (Compression_Algorithm) String added in v0.7.0

func (x Compression_Algorithm) String() string

func (Compression_Algorithm) Type added in v0.7.0

type ConsumerGroup added in v0.5.1

type ConsumerGroup struct {

	// Unique ID of the group and the project ID found in the API Key of the group.
	Id        []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	ProjectId []byte `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Optional name for the group for easier identification.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// The delivery semantic for handling concurrent reads by multiple consumers.
	// Default is "at most once", a fire-and-forget mode that is also used by Kafka.
	Delivery DeliverySemantic `protobuf:"varint,4,opt,name=delivery,proto3,enum=ensign.v1beta1.DeliverySemantic" json:"delivery,omitempty"`
	// Delivery timeout to wait for an ack if a delivery semantic requires it.
	// Defaults to 20 seconds.
	DeliveryTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=delivery_timeout,json=deliveryTimeout,proto3" json:"delivery_timeout,omitempty"`
	// A map of the topics consumed by the consumer group and their delivered offsets.
	TopicOffsets map[string]uint64 `` /* 187-byte string literal not displayed */
	// IDs of the consumers that have connected to the consumer group.
	Consumers [][]byte               `protobuf:"bytes,13,rep,name=consumers,proto3" json:"consumers,omitempty"`
	Created   *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created,proto3" json:"created,omitempty"`
	Modified  *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=modified,proto3" json:"modified,omitempty"`
	// contains filtered or unexported fields
}

ConsumerGroups are used to collect a group of related subscribers that consume events together according to some consistency semantic. Subscribers join consumer groups by specifying the same group ID. Individual subscribers create their own "group" so that they can disconnect and reconnect at the same offset where they left off.

func (*ConsumerGroup) Descriptor deprecated added in v0.5.1

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

Deprecated: Use ConsumerGroup.ProtoReflect.Descriptor instead.

func (*ConsumerGroup) GetConsumers added in v0.5.1

func (x *ConsumerGroup) GetConsumers() [][]byte

func (*ConsumerGroup) GetCreated added in v0.5.1

func (x *ConsumerGroup) GetCreated() *timestamppb.Timestamp

func (*ConsumerGroup) GetDelivery added in v0.5.1

func (x *ConsumerGroup) GetDelivery() DeliverySemantic

func (*ConsumerGroup) GetDeliveryTimeout added in v0.5.1

func (x *ConsumerGroup) GetDeliveryTimeout() *durationpb.Duration

func (*ConsumerGroup) GetId added in v0.5.1

func (x *ConsumerGroup) GetId() []byte

func (*ConsumerGroup) GetModified added in v0.5.1

func (x *ConsumerGroup) GetModified() *timestamppb.Timestamp

func (*ConsumerGroup) GetName added in v0.5.1

func (x *ConsumerGroup) GetName() string

func (*ConsumerGroup) GetProjectId added in v0.5.1

func (x *ConsumerGroup) GetProjectId() []byte

func (*ConsumerGroup) GetTopicOffsets added in v0.5.1

func (x *ConsumerGroup) GetTopicOffsets() map[string]uint64

func (*ConsumerGroup) ProtoMessage added in v0.5.1

func (*ConsumerGroup) ProtoMessage()

func (*ConsumerGroup) ProtoReflect added in v0.5.1

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

func (*ConsumerGroup) Reset added in v0.5.1

func (x *ConsumerGroup) Reset()

func (*ConsumerGroup) String added in v0.5.1

func (x *ConsumerGroup) String() string

type Deduplication added in v0.10.0

type Deduplication struct {
	Strategy Deduplication_Strategy       `protobuf:"varint,1,opt,name=strategy,proto3,enum=ensign.v1beta1.Deduplication_Strategy" json:"strategy,omitempty"`
	Offset   Deduplication_OffsetPosition `protobuf:"varint,2,opt,name=offset,proto3,enum=ensign.v1beta1.Deduplication_OffsetPosition" json:"offset,omitempty"`
	// Keys and fields for the KEY_GROUPED, UNIQUE_KEY, and UNIQUE_FIELD strategies.
	Keys   []string `protobuf:"bytes,3,rep,name=keys,proto3" json:"keys,omitempty"`
	Fields []string `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"`
	// If overwrite_duplicate is true (default false) then the duplicate event is
	// completely overwritten by the original event including differences in metadata,
	// type, mimetype, and even the created timestamp (though the committed timestamp
	// and provenance information will remain the same). This policy can significantly
	// reduce data storage but may cause loss of data if the deduplication policy
	// changes (if false, deduplication attempts to preserve as much information as
	// possible in the case where the policy may change).
	OverwriteDuplicate bool `protobuf:"varint,5,opt,name=overwrite_duplicate,json=overwriteDuplicate,proto3" json:"overwrite_duplicate,omitempty"`
	// contains filtered or unexported fields
}

Deduplication stores information about how the topic handles deduplication policies. The deduplication strategy describes the mechanism that duplicates are detected; for example a strict deduplication strategy means that the data and metadata of the event has to match for it to be a duplicate, where as for unique key deduplication, the presence of the same key in the metadata is enough to determine a duplicate.

The offset position determines where the data is stored and which offsets are duplicate pointers pointing back to the original data. The earliest offset is the default - the data is stored when it was first seen and duplicates point back to the original data; the latest offset means that the data is moved to the front of the queue and duplicates point forward to it.

func (*Deduplication) Descriptor deprecated added in v0.10.0

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

Deprecated: Use Deduplication.ProtoReflect.Descriptor instead.

func (*Deduplication) GetFields added in v0.10.0

func (x *Deduplication) GetFields() []string

func (*Deduplication) GetKeys added in v0.10.0

func (x *Deduplication) GetKeys() []string

func (*Deduplication) GetOffset added in v0.10.0

func (*Deduplication) GetOverwriteDuplicate added in v0.12.0

func (x *Deduplication) GetOverwriteDuplicate() bool

func (*Deduplication) GetStrategy added in v0.10.0

func (x *Deduplication) GetStrategy() Deduplication_Strategy

func (*Deduplication) ProtoMessage added in v0.10.0

func (*Deduplication) ProtoMessage()

func (*Deduplication) ProtoReflect added in v0.10.0

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

func (*Deduplication) Reset added in v0.10.0

func (x *Deduplication) Reset()

func (*Deduplication) String added in v0.10.0

func (x *Deduplication) String() string

type Deduplication_OffsetPosition added in v0.10.0

type Deduplication_OffsetPosition int32
const (
	Deduplication_OFFSET_UNKNOWN  Deduplication_OffsetPosition = 0
	Deduplication_OFFSET_EARLIEST Deduplication_OffsetPosition = 1
	Deduplication_OFFSET_LATEST   Deduplication_OffsetPosition = 2
)

func (Deduplication_OffsetPosition) Descriptor added in v0.10.0

func (Deduplication_OffsetPosition) Enum added in v0.10.0

func (Deduplication_OffsetPosition) EnumDescriptor deprecated added in v0.10.0

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

Deprecated: Use Deduplication_OffsetPosition.Descriptor instead.

func (Deduplication_OffsetPosition) Number added in v0.10.0

func (Deduplication_OffsetPosition) String added in v0.10.0

func (Deduplication_OffsetPosition) Type added in v0.10.0

type Deduplication_Strategy added in v0.10.0

type Deduplication_Strategy int32
const (
	Deduplication_UNKNOWN      Deduplication_Strategy = 0
	Deduplication_NONE         Deduplication_Strategy = 1
	Deduplication_STRICT       Deduplication_Strategy = 2
	Deduplication_DATAGRAM     Deduplication_Strategy = 3
	Deduplication_KEY_GROUPED  Deduplication_Strategy = 4
	Deduplication_UNIQUE_KEY   Deduplication_Strategy = 5
	Deduplication_UNIQUE_FIELD Deduplication_Strategy = 6
)

func (Deduplication_Strategy) Descriptor added in v0.10.0

func (Deduplication_Strategy) Enum added in v0.10.0

func (Deduplication_Strategy) EnumDescriptor deprecated added in v0.10.0

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

Deprecated: Use Deduplication_Strategy.Descriptor instead.

func (Deduplication_Strategy) Number added in v0.10.0

func (Deduplication_Strategy) String added in v0.10.0

func (x Deduplication_Strategy) String() string

func (Deduplication_Strategy) Type added in v0.10.0

type DeliverySemantic added in v0.5.1

type DeliverySemantic int32
const (
	DeliverySemantic_UNSPECIFIED   DeliverySemantic = 0
	DeliverySemantic_AT_MOST_ONCE  DeliverySemantic = 1
	DeliverySemantic_AT_LEAST_ONCE DeliverySemantic = 2
	DeliverySemantic_EXACTLY_ONCE  DeliverySemantic = 3
)

func (DeliverySemantic) Descriptor added in v0.5.1

func (DeliverySemantic) Enum added in v0.5.1

func (DeliverySemantic) EnumDescriptor deprecated added in v0.5.1

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

Deprecated: Use DeliverySemantic.Descriptor instead.

func (DeliverySemantic) Number added in v0.5.1

func (DeliverySemantic) String added in v0.5.1

func (x DeliverySemantic) String() string

func (DeliverySemantic) Type added in v0.5.1

type Encryption

type Encryption struct {
	PublicKeyId         string               `protobuf:"bytes,1,opt,name=public_key_id,json=publicKeyId,proto3" json:"public_key_id,omitempty"`
	EncryptionKey       []byte               `protobuf:"bytes,2,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"`
	HmacSecret          []byte               `protobuf:"bytes,3,opt,name=hmac_secret,json=hmacSecret,proto3" json:"hmac_secret,omitempty"`
	Signature           []byte               `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"`
	SealingAlgorithm    Encryption_Algorithm `` /* 151-byte string literal not displayed */
	EncryptionAlgorithm Encryption_Algorithm `` /* 160-byte string literal not displayed */
	SignatureAlgorithm  Encryption_Algorithm `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

Metadata about the cryptography used to secure the event.

func (*Encryption) Descriptor deprecated

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

Deprecated: Use Encryption.ProtoReflect.Descriptor instead.

func (*Encryption) GetEncryptionAlgorithm added in v0.7.0

func (x *Encryption) GetEncryptionAlgorithm() Encryption_Algorithm

func (*Encryption) GetEncryptionKey added in v0.7.0

func (x *Encryption) GetEncryptionKey() []byte

func (*Encryption) GetHmacSecret added in v0.7.0

func (x *Encryption) GetHmacSecret() []byte

func (*Encryption) GetPublicKeyId added in v0.7.0

func (x *Encryption) GetPublicKeyId() string

func (*Encryption) GetSealingAlgorithm added in v0.7.0

func (x *Encryption) GetSealingAlgorithm() Encryption_Algorithm

func (*Encryption) GetSignature added in v0.7.0

func (x *Encryption) GetSignature() []byte

func (*Encryption) GetSignatureAlgorithm added in v0.7.0

func (x *Encryption) GetSignatureAlgorithm() Encryption_Algorithm

func (*Encryption) ProtoMessage

func (*Encryption) ProtoMessage()

func (*Encryption) ProtoReflect

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

func (*Encryption) Reset

func (x *Encryption) Reset()

func (*Encryption) String

func (x *Encryption) String() string

type Encryption_Algorithm added in v0.7.0

type Encryption_Algorithm int32
const (
	// No cryptography is being used
	Encryption_PLAINTEXT Encryption_Algorithm = 0
	// Encryption Algorithms
	Encryption_AES256_GCM Encryption_Algorithm = 110
	Encryption_AES192_GCM Encryption_Algorithm = 120
	Encryption_AES128_GCM Encryption_Algorithm = 130
	// Signature Algorithms
	Encryption_HMAC_SHA256 Encryption_Algorithm = 310
	// Sealing Algorithms (Asymmetric)
	Encryption_RSA_OAEP_SHA512 Encryption_Algorithm = 510
)

func (Encryption_Algorithm) Descriptor added in v0.7.0

func (Encryption_Algorithm) Enum added in v0.7.0

func (Encryption_Algorithm) EnumDescriptor deprecated added in v0.7.0

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

Deprecated: Use Encryption_Algorithm.Descriptor instead.

func (Encryption_Algorithm) Number added in v0.7.0

func (Encryption_Algorithm) String added in v0.7.0

func (x Encryption_Algorithm) String() string

func (Encryption_Algorithm) Type added in v0.7.0

type EnsignClient

type EnsignClient interface {
	// Both the Publish and Subscribe RPCs are bidirectional streaming to allow for acks
	// and nacks of events to be sent between Ensign and the client. The Publish stream
	// is opened and the client sends events and receives acks/nacks -- when the client
	// closes the publish stream, the server sends back information about the current
	// state of the topic. When the Subscribe stream is opened, the client must send an
	// open stream message with the subscription info before receiving events. Once it
	// receives events it must send back acks/nacks up the stream so that Ensign
	// advances the topic offset for the rest of the clients in the group.
	Publish(ctx context.Context, opts ...grpc.CallOption) (Ensign_PublishClient, error)
	Subscribe(ctx context.Context, opts ...grpc.CallOption) (Ensign_SubscribeClient, error)
	// EnSQL is a server-side streaming RPC that executes an query and returns a stream
	// of events as a result set back from the query. It terminates once all results
	// have been returned or the client terminates the stream.
	EnSQL(ctx context.Context, in *Query, opts ...grpc.CallOption) (Ensign_EnSQLClient, error)
	Explain(ctx context.Context, in *Query, opts ...grpc.CallOption) (*QueryExplanation, error)
	// This is a simple topic management interface. Right now we assume that topics are
	// immutable, therefore there is no update topic RPC call. There are two ways to
	// delete a topic - archiving it makes the topic readonly so that no events can be
	// published to it, but it can still be read. Destroying the topic deletes it and
	// removes all of its data, freeing up the topic name to be used again.
	ListTopics(ctx context.Context, in *PageInfo, opts ...grpc.CallOption) (*TopicsPage, error)
	CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error)
	RetrieveTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error)
	DeleteTopic(ctx context.Context, in *TopicMod, opts ...grpc.CallOption) (*TopicStatus, error)
	TopicNames(ctx context.Context, in *PageInfo, opts ...grpc.CallOption) (*TopicNamesPage, error)
	TopicExists(ctx context.Context, in *TopicName, opts ...grpc.CallOption) (*TopicExistsInfo, error)
	// SetTopicPolicy allows users to specify topic management policies, setting the
	// topic into a pending mode while the update takes place. This is a patch endpoint
	// so if a policy is set to UNKNOWN it is ignored; only named policies initiate
	// changes on the topic. If the topic is already in the policy, a READY status is
	// returned, otherwise a PENDING status is returned while the topic updates.
	SetTopicPolicy(ctx context.Context, in *TopicPolicy, opts ...grpc.CallOption) (*TopicStatus, error)
	// Info provides statistics and metrics describing the state of a project
	Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*ProjectInfo, error)
	// Implements a client-side heartbeat that can also be used by monitoring tools.
	Status(ctx context.Context, in *HealthCheck, opts ...grpc.CallOption) (*ServiceState, error)
}

EnsignClient is the client API for Ensign 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 NewEnsignClient

func NewEnsignClient(cc grpc.ClientConnInterface) EnsignClient

type EnsignServer

type EnsignServer interface {
	// Both the Publish and Subscribe RPCs are bidirectional streaming to allow for acks
	// and nacks of events to be sent between Ensign and the client. The Publish stream
	// is opened and the client sends events and receives acks/nacks -- when the client
	// closes the publish stream, the server sends back information about the current
	// state of the topic. When the Subscribe stream is opened, the client must send an
	// open stream message with the subscription info before receiving events. Once it
	// receives events it must send back acks/nacks up the stream so that Ensign
	// advances the topic offset for the rest of the clients in the group.
	Publish(Ensign_PublishServer) error
	Subscribe(Ensign_SubscribeServer) error
	// EnSQL is a server-side streaming RPC that executes an query and returns a stream
	// of events as a result set back from the query. It terminates once all results
	// have been returned or the client terminates the stream.
	EnSQL(*Query, Ensign_EnSQLServer) error
	Explain(context.Context, *Query) (*QueryExplanation, error)
	// This is a simple topic management interface. Right now we assume that topics are
	// immutable, therefore there is no update topic RPC call. There are two ways to
	// delete a topic - archiving it makes the topic readonly so that no events can be
	// published to it, but it can still be read. Destroying the topic deletes it and
	// removes all of its data, freeing up the topic name to be used again.
	ListTopics(context.Context, *PageInfo) (*TopicsPage, error)
	CreateTopic(context.Context, *Topic) (*Topic, error)
	RetrieveTopic(context.Context, *Topic) (*Topic, error)
	DeleteTopic(context.Context, *TopicMod) (*TopicStatus, error)
	TopicNames(context.Context, *PageInfo) (*TopicNamesPage, error)
	TopicExists(context.Context, *TopicName) (*TopicExistsInfo, error)
	// SetTopicPolicy allows users to specify topic management policies, setting the
	// topic into a pending mode while the update takes place. This is a patch endpoint
	// so if a policy is set to UNKNOWN it is ignored; only named policies initiate
	// changes on the topic. If the topic is already in the policy, a READY status is
	// returned, otherwise a PENDING status is returned while the topic updates.
	SetTopicPolicy(context.Context, *TopicPolicy) (*TopicStatus, error)
	// Info provides statistics and metrics describing the state of a project
	Info(context.Context, *InfoRequest) (*ProjectInfo, error)
	// Implements a client-side heartbeat that can also be used by monitoring tools.
	Status(context.Context, *HealthCheck) (*ServiceState, error)
	// contains filtered or unexported methods
}

EnsignServer is the server API for Ensign service. All implementations must embed UnimplementedEnsignServer for forward compatibility

type Ensign_EnSQLClient added in v0.9.0

type Ensign_EnSQLClient interface {
	Recv() (*EventWrapper, error)
	grpc.ClientStream
}

type Ensign_EnSQLServer added in v0.9.0

type Ensign_EnSQLServer interface {
	Send(*EventWrapper) error
	grpc.ServerStream
}

type Ensign_PublishClient

type Ensign_PublishClient interface {
	Send(*PublisherRequest) error
	Recv() (*PublisherReply, error)
	grpc.ClientStream
}

type Ensign_PublishServer

type Ensign_PublishServer interface {
	Send(*PublisherReply) error
	Recv() (*PublisherRequest, error)
	grpc.ServerStream
}

type Ensign_SubscribeClient

type Ensign_SubscribeClient interface {
	Send(*SubscribeRequest) error
	Recv() (*SubscribeReply, error)
	grpc.ClientStream
}

type Ensign_SubscribeServer

type Ensign_SubscribeServer interface {
	Send(*SubscribeReply) error
	Recv() (*SubscribeRequest, error)
	grpc.ServerStream
}

type Event

type Event struct {

	// The datagram for the event.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// User-defined key-value pairs that can be optionally added to the event.
	Metadata map[string]string `` /* 157-byte string literal not displayed */
	// The mimetype describes how to parse the event datagram.
	Mimetype v1beta11.MIME `protobuf:"varint,4,opt,name=mimetype,proto3,enum=mimetype.v1beta1.MIME" json:"mimetype,omitempty"`
	// Type defines the schema of he event datagram.
	Type *Type `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"`
	// Timestamp that the event was created according to the client's clock.
	Created *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=created,proto3" json:"created,omitempty"`
	// contains filtered or unexported fields
}

Event is a high level wrapper for a datagram that is totally ordered by the Ensign event-driven framework. Events are simply blobs of data and associated metadata that can be published by a producer, inserted into a log, and consumed by a subscriber. The mimetype of the event allows subscribers to deserialize the data into a specific format such as JSON or protocol buffers. The type acts as a key for heterogeneous topics and can also be used to lookup schema information for data validation.

func (*Event) Descriptor deprecated

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

Deprecated: Use Event.ProtoReflect.Descriptor instead.

func (*Event) GetCreated

func (x *Event) GetCreated() *timestamppb.Timestamp

func (*Event) GetData

func (x *Event) GetData() []byte

func (*Event) GetMetadata added in v0.7.0

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

func (*Event) GetMimetype

func (x *Event) GetMimetype() v1beta11.MIME

func (*Event) GetType

func (x *Event) GetType() *Type

func (*Event) ProtoMessage

func (*Event) ProtoMessage()

func (*Event) ProtoReflect

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

func (*Event) Reset

func (x *Event) Reset()

func (*Event) String

func (x *Event) String() string

type EventContainer added in v0.7.0

type EventContainer struct {

	// All events in a container must belong to the same topic.
	TopicId []byte `protobuf:"bytes,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	// The offsets of the events in the container.
	StartOffset uint64 `protobuf:"varint,2,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"`
	EndOffset   uint64 `protobuf:"varint,3,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"`
	// Mapping of an index to the epoch; it is assumed that all offsets following the
	// mapping share the epoch until the next epoch is specified.
	Epochs map[uint32]uint64 `` /* 155-byte string literal not displayed */
	// The event data, possibly encrypted and compressed. The raw data is an array of
	// serialized event-wrappers with duplicated data removed from the wrapper and moved
	// to the top-level of the container.
	Events []byte `protobuf:"bytes,5,opt,name=events,proto3" json:"events,omitempty"`
	// Encryption and compression information for deserializing event data.
	Encryption  *Encryption  `protobuf:"bytes,6,opt,name=encryption,proto3" json:"encryption,omitempty"`
	Compression *Compression `protobuf:"bytes,7,opt,name=compression,proto3" json:"compression,omitempty"`
	// De-duplication of event metadata by storing only the unique values and mapping
	// the index of each event to the specified metadata as an index in its array.
	Regions        []v1beta1.Region  `protobuf:"varint,8,rep,packed,name=regions,proto3,enum=region.v1beta1.Region" json:"regions,omitempty"`
	RegionIndex    map[uint32]uint32 `` /* 184-byte string literal not displayed */
	Publishers     []*Publisher      `protobuf:"bytes,10,rep,name=publishers,proto3" json:"publishers,omitempty"`
	PublisherIndex map[uint32]uint32 `` /* 194-byte string literal not displayed */
	Keys           [][]byte          `protobuf:"bytes,12,rep,name=keys,proto3" json:"keys,omitempty"`
	KeyIndex       map[uint32]uint32 `` /* 176-byte string literal not displayed */
	Shards         []uint64          `protobuf:"varint,14,rep,packed,name=shards,proto3" json:"shards,omitempty"`
	ShardIndex     map[uint32]uint32 `` /* 182-byte string literal not displayed */
	// Access timestamps for the container
	Created  *timestamppb.Timestamp `protobuf:"bytes,31,opt,name=created,proto3" json:"created,omitempty"`
	Modified *timestamppb.Timestamp `protobuf:"bytes,32,opt,name=modified,proto3" json:"modified,omitempty"`
	// contains filtered or unexported fields
}

EventContainer is used to store events in blocks on disk. It is intended as a more generic version of the event wrapper but for multiple events. EventContainers require all events in the container to belong to the same topic and have a contiguous range of event IDs and offsets. EventContainers reduce the amount of data needed to store multiple events by reducing the amount of duplicated data. For example the topic ID, offset, and epoch are removed from the inner event and stored on the container. Even though zeros are still stored for offset and epoch it results in a 4.3x compression. Similar techniques are used for other metadata in the container.

func (*EventContainer) Descriptor deprecated added in v0.7.0

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

Deprecated: Use EventContainer.ProtoReflect.Descriptor instead.

func (*EventContainer) GetCompression added in v0.7.0

func (x *EventContainer) GetCompression() *Compression

func (*EventContainer) GetCreated added in v0.7.0

func (x *EventContainer) GetCreated() *timestamppb.Timestamp

func (*EventContainer) GetEncryption added in v0.7.0

func (x *EventContainer) GetEncryption() *Encryption

func (*EventContainer) GetEndOffset added in v0.7.0

func (x *EventContainer) GetEndOffset() uint64

func (*EventContainer) GetEpochs added in v0.7.0

func (x *EventContainer) GetEpochs() map[uint32]uint64

func (*EventContainer) GetEvents added in v0.7.0

func (x *EventContainer) GetEvents() []byte

func (*EventContainer) GetKeyIndex added in v0.7.0

func (x *EventContainer) GetKeyIndex() map[uint32]uint32

func (*EventContainer) GetKeys added in v0.7.0

func (x *EventContainer) GetKeys() [][]byte

func (*EventContainer) GetModified added in v0.7.0

func (x *EventContainer) GetModified() *timestamppb.Timestamp

func (*EventContainer) GetPublisherIndex added in v0.7.0

func (x *EventContainer) GetPublisherIndex() map[uint32]uint32

func (*EventContainer) GetPublishers added in v0.7.0

func (x *EventContainer) GetPublishers() []*Publisher

func (*EventContainer) GetRegionIndex added in v0.7.0

func (x *EventContainer) GetRegionIndex() map[uint32]uint32

func (*EventContainer) GetRegions added in v0.7.0

func (x *EventContainer) GetRegions() []v1beta1.Region

func (*EventContainer) GetShardIndex added in v0.7.0

func (x *EventContainer) GetShardIndex() map[uint32]uint32

func (*EventContainer) GetShards added in v0.7.0

func (x *EventContainer) GetShards() []uint64

func (*EventContainer) GetStartOffset added in v0.7.0

func (x *EventContainer) GetStartOffset() uint64

func (*EventContainer) GetTopicId added in v0.7.0

func (x *EventContainer) GetTopicId() []byte

func (*EventContainer) ProtoMessage added in v0.7.0

func (*EventContainer) ProtoMessage()

func (*EventContainer) ProtoReflect added in v0.7.0

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

func (*EventContainer) Reset added in v0.7.0

func (x *EventContainer) Reset()

func (*EventContainer) String added in v0.7.0

func (x *EventContainer) String() string

type EventTypeInfo added in v0.9.0

type EventTypeInfo struct {
	Type          *Type                  `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Mimetype      v1beta11.MIME          `protobuf:"varint,2,opt,name=mimetype,proto3,enum=mimetype.v1beta1.MIME" json:"mimetype,omitempty"`
	Events        uint64                 `protobuf:"varint,10,opt,name=events,proto3" json:"events,omitempty"`
	Duplicates    uint64                 `protobuf:"varint,11,opt,name=duplicates,proto3" json:"duplicates,omitempty"`
	DataSizeBytes uint64                 `protobuf:"varint,12,opt,name=data_size_bytes,json=dataSizeBytes,proto3" json:"data_size_bytes,omitempty"`
	Modified      *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=modified,proto3" json:"modified,omitempty"`
	// contains filtered or unexported fields
}

func (*EventTypeInfo) Descriptor deprecated added in v0.9.0

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

Deprecated: Use EventTypeInfo.ProtoReflect.Descriptor instead.

func (*EventTypeInfo) GetDataSizeBytes added in v0.9.0

func (x *EventTypeInfo) GetDataSizeBytes() uint64

func (*EventTypeInfo) GetDuplicates added in v0.9.0

func (x *EventTypeInfo) GetDuplicates() uint64

func (*EventTypeInfo) GetEvents added in v0.9.0

func (x *EventTypeInfo) GetEvents() uint64

func (*EventTypeInfo) GetMimetype added in v0.9.0

func (x *EventTypeInfo) GetMimetype() v1beta11.MIME

func (*EventTypeInfo) GetModified added in v0.9.0

func (x *EventTypeInfo) GetModified() *timestamppb.Timestamp

func (*EventTypeInfo) GetType added in v0.9.0

func (x *EventTypeInfo) GetType() *Type

func (*EventTypeInfo) ProtoMessage added in v0.9.0

func (*EventTypeInfo) ProtoMessage()

func (*EventTypeInfo) ProtoReflect added in v0.9.0

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

func (*EventTypeInfo) Reset added in v0.9.0

func (x *EventTypeInfo) Reset()

func (*EventTypeInfo) String added in v0.9.0

func (x *EventTypeInfo) String() string

type EventWrapper added in v0.7.0

type EventWrapper struct {

	// The event ID is an RLID that represents an ordered series of concurrent events.
	Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The topic ID the event should be published to.
	TopicId []byte `protobuf:"bytes,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	// Offset and epoch are related to guarantee total ordering through consensus.
	Offset uint64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
	Epoch  uint64 `protobuf:"varint,4,opt,name=epoch,proto3" json:"epoch,omitempty"`
	// Publisher and geography information about the provenance of the event.
	Region    v1beta1.Region `protobuf:"varint,5,opt,name=region,proto3,enum=region.v1beta1.Region" json:"region,omitempty"`
	Publisher *Publisher     `protobuf:"bytes,6,opt,name=publisher,proto3" json:"publisher,omitempty"`
	// Keys allow the event to be sharded across topics and must be part of the wrapper.
	// The shard specifies which shard the key was assigned to by the sharding strategy.
	Key   []byte `protobuf:"bytes,7,opt,name=key,proto3" json:"key,omitempty"`
	Shard uint64 `protobuf:"varint,8,opt,name=shard,proto3" json:"shard,omitempty"`
	// The event data should be a proto marshaled Event that is serialized at the client.
	Event []byte `protobuf:"bytes,9,opt,name=event,proto3" json:"event,omitempty"`
	// Events can be encrypted and compressed individually but more often are encrypted
	// and compressed in event containers. This allows parity with containers but also
	// enables end-to-end encryption of specific events.
	Encryption  *Encryption  `protobuf:"bytes,10,opt,name=encryption,proto3" json:"encryption,omitempty"`
	Compression *Compression `protobuf:"bytes,11,opt,name=compression,proto3" json:"compression,omitempty"`
	// Deduplication pointer; if this event wrapper is a duplicate then it should be
	// omitted from standard queries depending on the deduplication strategy of the
	// topic. The DuplicateID points to the event that contains the data referred to by
	// this duplicated event wrapper. A duplicate event wrapper will likely have all of
	// the metadata but no event data.
	IsDuplicate bool   `protobuf:"varint,12,opt,name=is_duplicate,json=isDuplicate,proto3" json:"is_duplicate,omitempty"`
	DuplicateId []byte `protobuf:"bytes,13,opt,name=duplicate_id,json=duplicateId,proto3" json:"duplicate_id,omitempty"`
	// The timestamp that the event was committed by the consensus protocol.
	Committed *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=committed,proto3" json:"committed,omitempty"`
	// LocalID is an ID that must be unique to the publisher and is used to send acks
	// back to the publisher. This field should be solely managed by the SDK publisher.
	// The field is discarded before saving to disk and is not available to subscribers
	// or any time after the publish ack/nack has been sent back to the publisher.
	LocalId []byte `protobuf:"bytes,16,opt,name=local_id,json=localId,proto3" json:"local_id,omitempty"`
	// contains filtered or unexported fields
}

EventWrapper is a header wrapper for processing events by the Ensign server. It is intended to reduce the processing time of events to increase throughput on the server even though it will require more work from the SDKs to serialize events. However, this will happen on the client-side making Ensign nodes much more parallel. The only data in the EventWrapper should be data that is required for the Ensign node to process events.

func (*EventWrapper) Descriptor deprecated added in v0.7.0

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

Deprecated: Use EventWrapper.ProtoReflect.Descriptor instead.

func (*EventWrapper) GetCommitted added in v0.7.0

func (x *EventWrapper) GetCommitted() *timestamppb.Timestamp

func (*EventWrapper) GetCompression added in v0.7.0

func (x *EventWrapper) GetCompression() *Compression

func (*EventWrapper) GetDuplicateId added in v0.10.0

func (x *EventWrapper) GetDuplicateId() []byte

func (*EventWrapper) GetEncryption added in v0.7.0

func (x *EventWrapper) GetEncryption() *Encryption

func (*EventWrapper) GetEpoch added in v0.7.0

func (x *EventWrapper) GetEpoch() uint64

func (*EventWrapper) GetEvent added in v0.7.0

func (x *EventWrapper) GetEvent() []byte

func (*EventWrapper) GetId added in v0.7.0

func (x *EventWrapper) GetId() []byte

func (*EventWrapper) GetIsDuplicate added in v0.10.0

func (x *EventWrapper) GetIsDuplicate() bool

func (*EventWrapper) GetKey added in v0.7.0

func (x *EventWrapper) GetKey() []byte

func (*EventWrapper) GetLocalId added in v0.7.0

func (x *EventWrapper) GetLocalId() []byte

func (*EventWrapper) GetOffset added in v0.7.0

func (x *EventWrapper) GetOffset() uint64

func (*EventWrapper) GetPublisher added in v0.7.0

func (x *EventWrapper) GetPublisher() *Publisher

func (*EventWrapper) GetRegion added in v0.7.0

func (x *EventWrapper) GetRegion() v1beta1.Region

func (*EventWrapper) GetShard added in v0.7.0

func (x *EventWrapper) GetShard() uint64

func (*EventWrapper) GetTopicId added in v0.7.0

func (x *EventWrapper) GetTopicId() []byte

func (*EventWrapper) ParseTopicID added in v0.7.0

func (w *EventWrapper) ParseTopicID() (topicID ulid.ULID, err error)

Parse the TopicID as a ULID.

func (*EventWrapper) ProtoMessage added in v0.7.0

func (*EventWrapper) ProtoMessage()

func (*EventWrapper) ProtoReflect added in v0.7.0

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

func (*EventWrapper) Reset added in v0.7.0

func (x *EventWrapper) Reset()

func (*EventWrapper) String added in v0.7.0

func (x *EventWrapper) String() string

func (*EventWrapper) Unwrap added in v0.7.0

func (w *EventWrapper) Unwrap() (e *Event, err error)

Unwrap an event from the event wrapper for user consumption.

func (*EventWrapper) Wrap added in v0.7.0

func (w *EventWrapper) Wrap(e *Event) (err error)

Wrap an event to create a complete protocol buffer to send to the Ensign server.

type HealthCheck

type HealthCheck struct {

	// The number of failed health checks that proceeded the current check.
	Attempts uint32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"`
	// The timestamp of the last health check, successful or otherwise.
	LastCheckedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_checked_at,json=lastCheckedAt,proto3" json:"last_checked_at,omitempty"`
	// contains filtered or unexported fields
}

HealthCheck is used to query the service state of an Ensign node.

func (*HealthCheck) Descriptor deprecated

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

Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead.

func (*HealthCheck) GetAttempts

func (x *HealthCheck) GetAttempts() uint32

func (*HealthCheck) GetLastCheckedAt

func (x *HealthCheck) GetLastCheckedAt() *timestamppb.Timestamp

func (*HealthCheck) ProtoMessage

func (*HealthCheck) ProtoMessage()

func (*HealthCheck) ProtoReflect

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

func (*HealthCheck) Reset

func (x *HealthCheck) Reset()

func (*HealthCheck) String

func (x *HealthCheck) String() string

type InfoRequest added in v0.7.0

type InfoRequest struct {
	Topics [][]byte `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"`
	// contains filtered or unexported fields
}

InfoRequest allows the project info to be filtered by a list of specific topics.

func (*InfoRequest) Descriptor deprecated added in v0.7.0

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

Deprecated: Use InfoRequest.ProtoReflect.Descriptor instead.

func (*InfoRequest) GetTopics added in v0.7.0

func (x *InfoRequest) GetTopics() [][]byte

func (*InfoRequest) ProtoMessage added in v0.7.0

func (*InfoRequest) ProtoMessage()

func (*InfoRequest) ProtoReflect added in v0.7.0

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

func (*InfoRequest) Reset added in v0.7.0

func (x *InfoRequest) Reset()

func (*InfoRequest) String added in v0.7.0

func (x *InfoRequest) String() string

type Nack

type Nack struct {
	Id    []byte    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Code  Nack_Code `protobuf:"varint,2,opt,name=code,proto3,enum=ensign.v1beta1.Nack_Code" json:"code,omitempty"`
	Error string    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

Nack means that an event could not be handled or committed. This datatype should be small so that throughput is not affected and generally only conains the id of the event and the error code describing what went wrong. Longer error messages are optional and should only be used when something abnormal has occurred. The Ensign server will return a Nack if the event could not be appended to the log. Clients should return a Nack if the event couldn't be handled or processed so that Ensign ensures another client retrieves the event.

func (*Nack) Descriptor deprecated

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

Deprecated: Use Nack.ProtoReflect.Descriptor instead.

func (*Nack) GetCode

func (x *Nack) GetCode() Nack_Code

func (*Nack) GetError

func (x *Nack) GetError() string

func (*Nack) GetId

func (x *Nack) GetId() []byte

func (*Nack) ProtoMessage

func (*Nack) ProtoMessage()

func (*Nack) ProtoReflect

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

func (*Nack) Reset

func (x *Nack) Reset()

func (*Nack) String

func (x *Nack) String() string

type Nack_Code added in v0.7.0

type Nack_Code int32
const (
	Nack_UNKNOWN Nack_Code = 0
	// Server-side NACK codes.
	Nack_MAX_EVENT_SIZE_EXCEEDED Nack_Code = 1
	Nack_TOPIC_UNKNOWN           Nack_Code = 2
	Nack_TOPIC_ARCHIVED          Nack_Code = 3
	Nack_TOPIC_DELETED           Nack_Code = 4
	Nack_PERMISSION_DENIED       Nack_Code = 5
	Nack_CONSENSUS_FAILURE       Nack_Code = 6
	Nack_SHARDING_FAILURE        Nack_Code = 7
	Nack_REDIRECT                Nack_Code = 8
	Nack_INTERNAL                Nack_Code = 9
	// Client-side NACK codes
	Nack_UNPROCESSED          Nack_Code = 100
	Nack_TIMEOUT              Nack_Code = 101
	Nack_UNHANDLED_MIMETYPE   Nack_Code = 102
	Nack_UNKNOWN_TYPE         Nack_Code = 103
	Nack_DELIVER_AGAIN_ANY    Nack_Code = 104
	Nack_DELIVER_AGAIN_NOT_ME Nack_Code = 105
)

func (Nack_Code) Descriptor added in v0.7.0

func (Nack_Code) Descriptor() protoreflect.EnumDescriptor

func (Nack_Code) Enum added in v0.7.0

func (x Nack_Code) Enum() *Nack_Code

func (Nack_Code) EnumDescriptor deprecated added in v0.7.0

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

Deprecated: Use Nack_Code.Descriptor instead.

func (Nack_Code) Number added in v0.7.0

func (x Nack_Code) Number() protoreflect.EnumNumber

func (Nack_Code) String added in v0.7.0

func (x Nack_Code) String() string

func (Nack_Code) Type added in v0.7.0

type Node

type Node struct {
	Id       string         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Hostname string         `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Quorum   uint64         `protobuf:"varint,3,opt,name=quorum,proto3" json:"quorum,omitempty"`
	Shard    uint64         `protobuf:"varint,4,opt,name=shard,proto3" json:"shard,omitempty"`
	Region   v1beta1.Region `protobuf:"varint,5,opt,name=region,proto3,enum=region.v1beta1.Region" json:"region,omitempty"`
	Url      string         `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
	// contains filtered or unexported fields
}

func (*Node) Descriptor deprecated

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

Deprecated: Use Node.ProtoReflect.Descriptor instead.

func (*Node) GetHostname

func (x *Node) GetHostname() string

func (*Node) GetId

func (x *Node) GetId() string

func (*Node) GetQuorum

func (x *Node) GetQuorum() uint64

func (*Node) GetRegion

func (x *Node) GetRegion() v1beta1.Region

func (*Node) GetShard

func (x *Node) GetShard() uint64

func (*Node) GetUrl

func (x *Node) GetUrl() string

func (*Node) ProtoMessage

func (*Node) ProtoMessage()

func (*Node) ProtoReflect

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

func (*Node) Reset

func (x *Node) Reset()

func (*Node) String

func (x *Node) String() string

type OpenStream

type OpenStream struct {
	ClientId string   `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	Topics   []string `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
	// contains filtered or unexported fields
}

OpenStream is the first message that should be sent in a Publish stream in order to identify and authenticate the publisher. Optionally, the publisher can specify the topics that they want to publish to in order to check that they are being sent to the correct node.

func (*OpenStream) Descriptor deprecated

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

Deprecated: Use OpenStream.ProtoReflect.Descriptor instead.

func (*OpenStream) GetClientId added in v0.7.0

func (x *OpenStream) GetClientId() string

func (*OpenStream) GetTopics added in v0.5.1

func (x *OpenStream) GetTopics() []string

func (*OpenStream) ProtoMessage

func (*OpenStream) ProtoMessage()

func (*OpenStream) ProtoReflect

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

func (*OpenStream) Reset

func (x *OpenStream) Reset()

func (*OpenStream) String

func (x *OpenStream) String() string

type PageInfo

type PageInfo struct {
	PageSize      uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

A basic request for paginated list queries.

func (*PageInfo) Descriptor deprecated

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

Deprecated: Use PageInfo.ProtoReflect.Descriptor instead.

func (*PageInfo) GetNextPageToken

func (x *PageInfo) GetNextPageToken() string

func (*PageInfo) GetPageSize

func (x *PageInfo) GetPageSize() uint32

func (*PageInfo) ProtoMessage

func (*PageInfo) ProtoMessage()

func (*PageInfo) ProtoReflect

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

func (*PageInfo) Reset

func (x *PageInfo) Reset()

func (*PageInfo) String

func (x *PageInfo) String() string

type Parameter added in v0.9.0

type Parameter struct {

	// Types that are assignable to Value:
	//
	//	*Parameter_I
	//	*Parameter_D
	//	*Parameter_B
	//	*Parameter_Y
	//	*Parameter_S
	Value isParameter_Value `protobuf_oneof:"value"`
	Name  string            `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Parameter holds a primitive value for passing as a placeholder to a sqlite query.

func (*Parameter) Descriptor deprecated added in v0.9.0

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

Deprecated: Use Parameter.ProtoReflect.Descriptor instead.

func (*Parameter) GetB added in v0.9.0

func (x *Parameter) GetB() bool

func (*Parameter) GetD added in v0.9.0

func (x *Parameter) GetD() float64

func (*Parameter) GetI added in v0.9.0

func (x *Parameter) GetI() int64

func (*Parameter) GetName added in v0.9.0

func (x *Parameter) GetName() string

func (*Parameter) GetS added in v0.9.0

func (x *Parameter) GetS() string

func (*Parameter) GetValue added in v0.9.0

func (m *Parameter) GetValue() isParameter_Value

func (*Parameter) GetY added in v0.9.0

func (x *Parameter) GetY() []byte

func (*Parameter) ProtoMessage added in v0.9.0

func (*Parameter) ProtoMessage()

func (*Parameter) ProtoReflect added in v0.9.0

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

func (*Parameter) Reset added in v0.9.0

func (x *Parameter) Reset()

func (*Parameter) String added in v0.9.0

func (x *Parameter) String() string

type Parameter_B added in v0.9.0

type Parameter_B struct {
	B bool `protobuf:"varint,3,opt,name=b,proto3,oneof"`
}

type Parameter_D added in v0.9.0

type Parameter_D struct {
	D float64 `protobuf:"fixed64,2,opt,name=d,proto3,oneof"`
}

type Parameter_I added in v0.9.0

type Parameter_I struct {
	I int64 `protobuf:"zigzag64,1,opt,name=i,proto3,oneof"`
}

type Parameter_S added in v0.9.0

type Parameter_S struct {
	S string `protobuf:"bytes,5,opt,name=s,proto3,oneof"`
}

type Parameter_Y added in v0.9.0

type Parameter_Y struct {
	Y []byte `protobuf:"bytes,4,opt,name=y,proto3,oneof"`
}

type Placement

type Placement struct {
	Epoch    uint64           `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
	Sharding ShardingStrategy `protobuf:"varint,2,opt,name=sharding,proto3,enum=ensign.v1beta1.ShardingStrategy" json:"sharding,omitempty"`
	Regions  []v1beta1.Region `protobuf:"varint,3,rep,packed,name=regions,proto3,enum=region.v1beta1.Region" json:"regions,omitempty"`
	Nodes    []*Node          `protobuf:"bytes,4,rep,name=nodes,proto3" json:"nodes,omitempty"`
	// contains filtered or unexported fields
}

Placement represents the nodes and regions a topic is assigned to for routing.

func (*Placement) Descriptor deprecated

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

Deprecated: Use Placement.ProtoReflect.Descriptor instead.

func (*Placement) GetEpoch

func (x *Placement) GetEpoch() uint64

func (*Placement) GetNodes

func (x *Placement) GetNodes() []*Node

func (*Placement) GetRegions

func (x *Placement) GetRegions() []v1beta1.Region

func (*Placement) GetSharding

func (x *Placement) GetSharding() ShardingStrategy

func (*Placement) ProtoMessage

func (*Placement) ProtoMessage()

func (*Placement) ProtoReflect

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

func (*Placement) Reset

func (x *Placement) Reset()

func (*Placement) String

func (x *Placement) String() string

type ProjectInfo added in v0.7.0

type ProjectInfo struct {
	ProjectId         []byte `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	NumTopics         uint64 `protobuf:"varint,2,opt,name=num_topics,json=numTopics,proto3" json:"num_topics,omitempty"`
	NumReadonlyTopics uint64 `protobuf:"varint,3,opt,name=num_readonly_topics,json=numReadonlyTopics,proto3" json:"num_readonly_topics,omitempty"`
	// These are simply sums of the data in topics; however they may be prone to
	// overflow given a sufficiently sized project.
	Events        uint64       `protobuf:"varint,7,opt,name=events,proto3" json:"events,omitempty"`
	Duplicates    uint64       `protobuf:"varint,8,opt,name=duplicates,proto3" json:"duplicates,omitempty"`
	DataSizeBytes uint64       `protobuf:"varint,9,opt,name=data_size_bytes,json=dataSizeBytes,proto3" json:"data_size_bytes,omitempty"`
	Topics        []*TopicInfo `protobuf:"bytes,15,rep,name=topics,proto3" json:"topics,omitempty"`
	// contains filtered or unexported fields
}

ProjectInfo describes overall project statistics for the project described in the authentication claims that the user connects with.

func (*ProjectInfo) Descriptor deprecated added in v0.7.0

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

Deprecated: Use ProjectInfo.ProtoReflect.Descriptor instead.

func (*ProjectInfo) GetDataSizeBytes added in v0.9.0

func (x *ProjectInfo) GetDataSizeBytes() uint64

func (*ProjectInfo) GetDuplicates added in v0.9.0

func (x *ProjectInfo) GetDuplicates() uint64

func (*ProjectInfo) GetEvents added in v0.7.0

func (x *ProjectInfo) GetEvents() uint64

func (*ProjectInfo) GetNumReadonlyTopics added in v0.9.0

func (x *ProjectInfo) GetNumReadonlyTopics() uint64

func (*ProjectInfo) GetNumTopics added in v0.9.0

func (x *ProjectInfo) GetNumTopics() uint64

func (*ProjectInfo) GetProjectId added in v0.7.0

func (x *ProjectInfo) GetProjectId() []byte

func (*ProjectInfo) GetTopics added in v0.7.0

func (x *ProjectInfo) GetTopics() []*TopicInfo

func (*ProjectInfo) ProtoMessage added in v0.7.0

func (*ProjectInfo) ProtoMessage()

func (*ProjectInfo) ProtoReflect added in v0.7.0

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

func (*ProjectInfo) Reset added in v0.7.0

func (x *ProjectInfo) Reset()

func (*ProjectInfo) String added in v0.7.0

func (x *ProjectInfo) String() string

type Publisher

type Publisher struct {
	PublisherId string `protobuf:"bytes,1,opt,name=publisher_id,json=publisherId,proto3" json:"publisher_id,omitempty"`
	Ipaddr      string `protobuf:"bytes,2,opt,name=ipaddr,proto3" json:"ipaddr,omitempty"`
	ClientId    string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	UserAgent   string `protobuf:"bytes,4,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// contains filtered or unexported fields
}

Information about the publisher of the event for provenance and auditing purposes. TODO: this is only partially implemented

func (*Publisher) Descriptor deprecated

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

Deprecated: Use Publisher.ProtoReflect.Descriptor instead.

func (*Publisher) GetClientId

func (x *Publisher) GetClientId() string

func (*Publisher) GetIpaddr

func (x *Publisher) GetIpaddr() string

func (*Publisher) GetPublisherId added in v0.7.0

func (x *Publisher) GetPublisherId() string

func (*Publisher) GetUserAgent added in v0.7.0

func (x *Publisher) GetUserAgent() string

func (*Publisher) ProtoMessage

func (*Publisher) ProtoMessage()

func (*Publisher) ProtoReflect

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

func (*Publisher) Reset

func (x *Publisher) Reset()

func (*Publisher) String

func (x *Publisher) String() string

type PublisherReply added in v0.7.0

type PublisherReply struct {

	// Types that are assignable to Embed:
	//
	//	*PublisherReply_Ack
	//	*PublisherReply_Nack
	//	*PublisherReply_Ready
	//	*PublisherReply_CloseStream
	Embed isPublisherReply_Embed `protobuf_oneof:"embed"`
	// contains filtered or unexported fields
}

PublisherReply messages are sent back to publishers from the server. Generally they are responses to receiving events (e.g. ack and nack) but the last message contains information about the performance of the publisher and the topic itself. This message can be extended to allow more general interactions between the publisher and the server including redirects, topic queries, etc.

func (*PublisherReply) Descriptor deprecated added in v0.7.0

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

Deprecated: Use PublisherReply.ProtoReflect.Descriptor instead.

func (*PublisherReply) GetAck added in v0.7.0

func (x *PublisherReply) GetAck() *Ack

func (*PublisherReply) GetCloseStream added in v0.7.0

func (x *PublisherReply) GetCloseStream() *CloseStream

func (*PublisherReply) GetEmbed added in v0.7.0

func (m *PublisherReply) GetEmbed() isPublisherReply_Embed

func (*PublisherReply) GetNack added in v0.7.0

func (x *PublisherReply) GetNack() *Nack

func (*PublisherReply) GetReady added in v0.7.0

func (x *PublisherReply) GetReady() *StreamReady

func (*PublisherReply) ProtoMessage added in v0.7.0

func (*PublisherReply) ProtoMessage()

func (*PublisherReply) ProtoReflect added in v0.7.0

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

func (*PublisherReply) Reset added in v0.7.0

func (x *PublisherReply) Reset()

func (*PublisherReply) String added in v0.7.0

func (x *PublisherReply) String() string

type PublisherReply_Ack added in v0.7.0

type PublisherReply_Ack struct {
	Ack *Ack `protobuf:"bytes,1,opt,name=ack,proto3,oneof"`
}

type PublisherReply_CloseStream added in v0.7.0

type PublisherReply_CloseStream struct {
	CloseStream *CloseStream `protobuf:"bytes,4,opt,name=close_stream,json=closeStream,proto3,oneof"`
}

type PublisherReply_Nack added in v0.7.0

type PublisherReply_Nack struct {
	Nack *Nack `protobuf:"bytes,2,opt,name=nack,proto3,oneof"`
}

type PublisherReply_Ready added in v0.7.0

type PublisherReply_Ready struct {
	Ready *StreamReady `protobuf:"bytes,3,opt,name=ready,proto3,oneof"`
}

type PublisherRequest added in v0.7.0

type PublisherRequest struct {

	// Types that are assignable to Embed:
	//
	//	*PublisherRequest_Event
	//	*PublisherRequest_OpenStream
	Embed isPublisherRequest_Embed `protobuf_oneof:"embed"`
	// contains filtered or unexported fields
}

PublisherRequest messages are sent from the publisher to the server. Generally they are events that need to be published but the first message must be a stream initialization message to ensure that the publisher is authenticated and can identify itself. This message can be extended to allow for other interactions between the publisher and the server including topic queries, redirects, etc.

func (*PublisherRequest) Descriptor deprecated added in v0.7.0

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

Deprecated: Use PublisherRequest.ProtoReflect.Descriptor instead.

func (*PublisherRequest) GetEmbed added in v0.7.0

func (m *PublisherRequest) GetEmbed() isPublisherRequest_Embed

func (*PublisherRequest) GetEvent added in v0.7.0

func (x *PublisherRequest) GetEvent() *EventWrapper

func (*PublisherRequest) GetOpenStream added in v0.7.0

func (x *PublisherRequest) GetOpenStream() *OpenStream

func (*PublisherRequest) ProtoMessage added in v0.7.0

func (*PublisherRequest) ProtoMessage()

func (*PublisherRequest) ProtoReflect added in v0.7.0

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

func (*PublisherRequest) Reset added in v0.7.0

func (x *PublisherRequest) Reset()

func (*PublisherRequest) String added in v0.7.0

func (x *PublisherRequest) String() string

type PublisherRequest_Event added in v0.7.0

type PublisherRequest_Event struct {
	Event *EventWrapper `protobuf:"bytes,1,opt,name=event,proto3,oneof"`
}

type PublisherRequest_OpenStream added in v0.7.0

type PublisherRequest_OpenStream struct {
	OpenStream *OpenStream `protobuf:"bytes,2,opt,name=open_stream,json=openStream,proto3,oneof"`
}

type Query added in v0.9.0

type Query struct {
	Query             string       `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Params            []*Parameter `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`
	IncludeDuplicates bool         `protobuf:"varint,3,opt,name=include_duplicates,json=includeDuplicates,proto3" json:"include_duplicates,omitempty"`
	// contains filtered or unexported fields
}

Query represents a single EnSQL query with associated placeholder parameters.

func (*Query) Descriptor deprecated added in v0.9.0

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

Deprecated: Use Query.ProtoReflect.Descriptor instead.

func (*Query) GetIncludeDuplicates added in v0.12.0

func (x *Query) GetIncludeDuplicates() bool

func (*Query) GetParams added in v0.9.0

func (x *Query) GetParams() []*Parameter

func (*Query) GetQuery added in v0.9.0

func (x *Query) GetQuery() string

func (*Query) ProtoMessage added in v0.9.0

func (*Query) ProtoMessage()

func (*Query) ProtoReflect added in v0.9.0

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

func (*Query) Reset added in v0.9.0

func (x *Query) Reset()

func (*Query) String added in v0.9.0

func (x *Query) String() string

type QueryExplanation added in v0.9.0

type QueryExplanation struct {
	// contains filtered or unexported fields
}

Explanation returns information about the plan for executing a query and approximate results or errors that might be returned.

func (*QueryExplanation) Descriptor deprecated added in v0.9.0

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

Deprecated: Use QueryExplanation.ProtoReflect.Descriptor instead.

func (*QueryExplanation) ProtoMessage added in v0.9.0

func (*QueryExplanation) ProtoMessage()

func (*QueryExplanation) ProtoReflect added in v0.9.0

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

func (*QueryExplanation) Reset added in v0.9.0

func (x *QueryExplanation) Reset()

func (*QueryExplanation) String added in v0.9.0

func (x *QueryExplanation) String() string

type ServiceState

type ServiceState struct {

	// Current service status as defined by the recieving system. The system is obliged
	// to respond with the closest matching status in a best-effort fashion. Alerts will
	// be triggered on service status changes if the system does not respond and the
	// previous system state was not unknown.
	Status ServiceState_Status `protobuf:"varint,1,opt,name=status,proto3,enum=ensign.v1beta1.ServiceState_Status" json:"status,omitempty"`
	// The current version of the node running the Ensign service
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// How long the node has been up and running since it was last rebooted
	Uptime *durationpb.Duration `protobuf:"bytes,3,opt,name=uptime,proto3" json:"uptime,omitempty"`
	// Hint to the client when to check the health status again.
	NotBefore *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=not_before,json=notBefore,proto3" json:"not_before,omitempty"`
	NotAfter  *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=not_after,json=notAfter,proto3" json:"not_after,omitempty"`
	// contains filtered or unexported fields
}

ServiceState describes the health status of the Ensign node and can be used for heartbeats and monitoring.

func (*ServiceState) Descriptor deprecated

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

Deprecated: Use ServiceState.ProtoReflect.Descriptor instead.

func (*ServiceState) GetNotAfter

func (x *ServiceState) GetNotAfter() *timestamppb.Timestamp

func (*ServiceState) GetNotBefore

func (x *ServiceState) GetNotBefore() *timestamppb.Timestamp

func (*ServiceState) GetStatus

func (x *ServiceState) GetStatus() ServiceState_Status

func (*ServiceState) GetUptime

func (x *ServiceState) GetUptime() *durationpb.Duration

func (*ServiceState) GetVersion

func (x *ServiceState) GetVersion() string

func (*ServiceState) ProtoMessage

func (*ServiceState) ProtoMessage()

func (*ServiceState) ProtoReflect

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

func (*ServiceState) Reset

func (x *ServiceState) Reset()

func (*ServiceState) String

func (x *ServiceState) String() string

type ServiceState_Status

type ServiceState_Status int32
const (
	ServiceState_UNKNOWN     ServiceState_Status = 0
	ServiceState_HEALTHY     ServiceState_Status = 1
	ServiceState_UNHEALTHY   ServiceState_Status = 2
	ServiceState_DANGER      ServiceState_Status = 3
	ServiceState_OFFLINE     ServiceState_Status = 4
	ServiceState_MAINTENANCE ServiceState_Status = 5
)

func (ServiceState_Status) Descriptor

func (ServiceState_Status) Enum

func (ServiceState_Status) EnumDescriptor deprecated

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

Deprecated: Use ServiceState_Status.Descriptor instead.

func (ServiceState_Status) Number

func (ServiceState_Status) String

func (x ServiceState_Status) String() string

func (ServiceState_Status) Type

type ShardingStrategy

type ShardingStrategy int32
const (
	ShardingStrategy_UNKNOWN             ShardingStrategy = 0
	ShardingStrategy_NO_SHARDING         ShardingStrategy = 1
	ShardingStrategy_CONSISTENT_KEY_HASH ShardingStrategy = 2
	ShardingStrategy_RANDOM              ShardingStrategy = 3
	ShardingStrategy_PUBLISHER_ORDERING  ShardingStrategy = 4
)

func (ShardingStrategy) Descriptor

func (ShardingStrategy) Enum

func (ShardingStrategy) EnumDescriptor deprecated

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

Deprecated: Use ShardingStrategy.Descriptor instead.

func (ShardingStrategy) Number

func (ShardingStrategy) String

func (x ShardingStrategy) String() string

func (ShardingStrategy) Type

type StreamReady added in v0.7.0

type StreamReady struct {
	ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // repeated back to the client for sanity
	ServerId string `protobuf:"bytes,2,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` // the node that the stream is conneced to
	// Maps the topic name to the topic ID (ULID bytes) that are available on this node.
	// TODO: handle topic redirects to other nodes.
	Topics map[string][]byte `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

Sent in response to an OpenStream or Subscription message so that the client knows it can start sending or receiving events from the stream.

func (*StreamReady) Descriptor deprecated added in v0.7.0

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

Deprecated: Use StreamReady.ProtoReflect.Descriptor instead.

func (*StreamReady) GetClientId added in v0.7.0

func (x *StreamReady) GetClientId() string

func (*StreamReady) GetServerId added in v0.7.0

func (x *StreamReady) GetServerId() string

func (*StreamReady) GetTopics added in v0.7.0

func (x *StreamReady) GetTopics() map[string][]byte

func (*StreamReady) ProtoMessage added in v0.7.0

func (*StreamReady) ProtoMessage()

func (*StreamReady) ProtoReflect added in v0.7.0

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

func (*StreamReady) Reset added in v0.7.0

func (x *StreamReady) Reset()

func (*StreamReady) String added in v0.7.0

func (x *StreamReady) String() string

type SubscribeReply added in v0.7.0

type SubscribeReply struct {

	// Types that are assignable to Embed:
	//
	//	*SubscribeReply_Event
	//	*SubscribeReply_Ready
	//	*SubscribeReply_CloseStream
	Embed isSubscribeReply_Embed `protobuf_oneof:"embed"`
	// contains filtered or unexported fields
}

SubscribeReply messages are sent to the subscriber from the server. In most cases this message is an event that matches the subscription information. However, this message can also contain control messages such as redirects, topic information, etc.

func (*SubscribeReply) Descriptor deprecated added in v0.7.0

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

Deprecated: Use SubscribeReply.ProtoReflect.Descriptor instead.

func (*SubscribeReply) GetCloseStream added in v0.7.0

func (x *SubscribeReply) GetCloseStream() *CloseStream

func (*SubscribeReply) GetEmbed added in v0.7.0

func (m *SubscribeReply) GetEmbed() isSubscribeReply_Embed

func (*SubscribeReply) GetEvent added in v0.7.0

func (x *SubscribeReply) GetEvent() *EventWrapper

func (*SubscribeReply) GetReady added in v0.7.0

func (x *SubscribeReply) GetReady() *StreamReady

func (*SubscribeReply) ProtoMessage added in v0.7.0

func (*SubscribeReply) ProtoMessage()

func (*SubscribeReply) ProtoReflect added in v0.7.0

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

func (*SubscribeReply) Reset added in v0.7.0

func (x *SubscribeReply) Reset()

func (*SubscribeReply) String added in v0.7.0

func (x *SubscribeReply) String() string

type SubscribeReply_CloseStream added in v0.7.0

type SubscribeReply_CloseStream struct {
	CloseStream *CloseStream `protobuf:"bytes,3,opt,name=close_stream,json=closeStream,proto3,oneof"`
}

type SubscribeReply_Event added in v0.7.0

type SubscribeReply_Event struct {
	Event *EventWrapper `protobuf:"bytes,1,opt,name=event,proto3,oneof"`
}

type SubscribeReply_Ready added in v0.7.0

type SubscribeReply_Ready struct {
	Ready *StreamReady `protobuf:"bytes,2,opt,name=ready,proto3,oneof"`
}

type SubscribeRequest added in v0.7.0

type SubscribeRequest struct {

	// Types that are assignable to Embed:
	//
	//	*SubscribeRequest_Ack
	//	*SubscribeRequest_Nack
	//	*SubscribeRequest_Subscription
	Embed isSubscribeRequest_Embed `protobuf_oneof:"embed"`
	// contains filtered or unexported fields
}

SubscribeRequest messages are sent to the server from subscribers. Generally they are responses to receiving events (e.g. ack and nack) but the first message must contain subscription information about the topic and the group so that Ensign can start sending the client events from the specified topic down the stream.

func (*SubscribeRequest) Descriptor deprecated added in v0.7.0

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

Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead.

func (*SubscribeRequest) GetAck added in v0.7.0

func (x *SubscribeRequest) GetAck() *Ack

func (*SubscribeRequest) GetEmbed added in v0.7.0

func (m *SubscribeRequest) GetEmbed() isSubscribeRequest_Embed

func (*SubscribeRequest) GetNack added in v0.7.0

func (x *SubscribeRequest) GetNack() *Nack

func (*SubscribeRequest) GetSubscription added in v0.7.0

func (x *SubscribeRequest) GetSubscription() *Subscription

func (*SubscribeRequest) ProtoMessage added in v0.7.0

func (*SubscribeRequest) ProtoMessage()

func (*SubscribeRequest) ProtoReflect added in v0.7.0

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

func (*SubscribeRequest) Reset added in v0.7.0

func (x *SubscribeRequest) Reset()

func (*SubscribeRequest) String added in v0.7.0

func (x *SubscribeRequest) String() string

type SubscribeRequest_Ack added in v0.7.0

type SubscribeRequest_Ack struct {
	Ack *Ack `protobuf:"bytes,1,opt,name=ack,proto3,oneof"`
}

type SubscribeRequest_Nack added in v0.7.0

type SubscribeRequest_Nack struct {
	Nack *Nack `protobuf:"bytes,2,opt,name=nack,proto3,oneof"`
}

type SubscribeRequest_Subscription added in v0.7.0

type SubscribeRequest_Subscription struct {
	Subscription *Subscription `protobuf:"bytes,3,opt,name=subscription,proto3,oneof"`
}

type Subscription

type Subscription struct {
	ClientId string         `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	Topics   []string       `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
	Query    *Query         `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
	Group    *ConsumerGroup `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"`
	// contains filtered or unexported fields
}

Subscription is used to initialize a subscribe stream so that the Ensign node returns the correct events to the subscriber based on the query or the topics they request.

func (*Subscription) Descriptor deprecated

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

Deprecated: Use Subscription.ProtoReflect.Descriptor instead.

func (*Subscription) GetClientId added in v0.7.0

func (x *Subscription) GetClientId() string

func (*Subscription) GetGroup added in v0.7.0

func (x *Subscription) GetGroup() *ConsumerGroup

func (*Subscription) GetQuery added in v0.7.0

func (x *Subscription) GetQuery() *Query

func (*Subscription) GetTopics added in v0.7.0

func (x *Subscription) GetTopics() []string

func (*Subscription) ProtoMessage

func (*Subscription) ProtoMessage()

func (*Subscription) ProtoReflect

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

func (*Subscription) Reset

func (x *Subscription) Reset()

func (*Subscription) String

func (x *Subscription) String() string

type Topic

type Topic struct {
	Id            []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	ProjectId     []byte                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Readonly      bool                   `protobuf:"varint,4,opt,name=readonly,proto3" json:"readonly,omitempty"`
	Offset        uint64                 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"`
	Shards        uint32                 `protobuf:"varint,6,opt,name=shards,proto3" json:"shards,omitempty"`
	Status        TopicState             `protobuf:"varint,7,opt,name=status,proto3,enum=ensign.v1beta1.TopicState" json:"status,omitempty"`
	Deduplication *Deduplication         `protobuf:"bytes,11,opt,name=deduplication,proto3" json:"deduplication,omitempty"`
	Placements    []*Placement           `protobuf:"bytes,12,rep,name=placements,proto3" json:"placements,omitempty"`
	Types         []*Type                `protobuf:"bytes,13,rep,name=types,proto3" json:"types,omitempty"`
	Created       *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created,proto3" json:"created,omitempty"`
	Modified      *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=modified,proto3" json:"modified,omitempty"`
	// contains filtered or unexported fields
}

Topics are collections of related events and the events inside of a topic are totally ordered by ID and their log index. Topics must define the event types and regions that they are operated on, which will allow Ensign to determine how to distribute the topic over multiple nodes. Users must use the topic ID to connect to a publish or subscribe stream. Users can create and delete topics, but for the current implementation, topics are immutable -- meaning that they cannot be changed. Topics can be deleted in two ways: they can be archived (making them readonly) or they can be destroyed, which removes the name of the topic and all the events in the topic.

func (*Topic) Descriptor deprecated

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

Deprecated: Use Topic.ProtoReflect.Descriptor instead.

func (*Topic) GetCreated

func (x *Topic) GetCreated() *timestamppb.Timestamp

func (*Topic) GetDeduplication added in v0.10.0

func (x *Topic) GetDeduplication() *Deduplication

func (*Topic) GetId

func (x *Topic) GetId() []byte

func (*Topic) GetModified

func (x *Topic) GetModified() *timestamppb.Timestamp

func (*Topic) GetName

func (x *Topic) GetName() string

func (*Topic) GetOffset

func (x *Topic) GetOffset() uint64

func (*Topic) GetPlacements

func (x *Topic) GetPlacements() []*Placement

func (*Topic) GetProjectId

func (x *Topic) GetProjectId() []byte

func (*Topic) GetReadonly

func (x *Topic) GetReadonly() bool

func (*Topic) GetShards

func (x *Topic) GetShards() uint32

func (*Topic) GetStatus added in v0.11.0

func (x *Topic) GetStatus() TopicState

func (*Topic) GetTypes

func (x *Topic) GetTypes() []*Type

func (*Topic) ProtoMessage

func (*Topic) ProtoMessage()

func (*Topic) ProtoReflect

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

func (*Topic) Reset

func (x *Topic) Reset()

func (*Topic) String

func (x *Topic) String() string

type TopicExistsInfo added in v0.5.1

type TopicExistsInfo struct {
	Query  string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Exists bool   `protobuf:"varint,2,opt,name=exists,proto3" json:"exists,omitempty"`
	// contains filtered or unexported fields
}

Response to a topic existence check.

func (*TopicExistsInfo) Descriptor deprecated added in v0.5.1

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

Deprecated: Use TopicExistsInfo.ProtoReflect.Descriptor instead.

func (*TopicExistsInfo) GetExists added in v0.5.1

func (x *TopicExistsInfo) GetExists() bool

func (*TopicExistsInfo) GetQuery added in v0.5.1

func (x *TopicExistsInfo) GetQuery() string

func (*TopicExistsInfo) ProtoMessage added in v0.5.1

func (*TopicExistsInfo) ProtoMessage()

func (*TopicExistsInfo) ProtoReflect added in v0.5.1

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

func (*TopicExistsInfo) Reset added in v0.5.1

func (x *TopicExistsInfo) Reset()

func (*TopicExistsInfo) String added in v0.5.1

func (x *TopicExistsInfo) String() string

type TopicInfo added in v0.9.0

type TopicInfo struct {
	TopicId   []byte `protobuf:"bytes,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	ProjectId []byte `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// The event offset id specifies the last event that was used to make the TopicInfo
	// determination (e.g. up to which event was the topic info recorded for). To reset
	// the topic info, simply set this to nil/empty and the topic info is recomputed.
	EventOffsetId []byte                 `protobuf:"bytes,3,opt,name=event_offset_id,json=eventOffsetId,proto3" json:"event_offset_id,omitempty"`
	Events        uint64                 `protobuf:"varint,7,opt,name=events,proto3" json:"events,omitempty"`
	Duplicates    uint64                 `protobuf:"varint,8,opt,name=duplicates,proto3" json:"duplicates,omitempty"`
	DataSizeBytes uint64                 `protobuf:"varint,9,opt,name=data_size_bytes,json=dataSizeBytes,proto3" json:"data_size_bytes,omitempty"`
	Types         []*EventTypeInfo       `protobuf:"bytes,14,rep,name=types,proto3" json:"types,omitempty"`
	Modified      *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=modified,proto3" json:"modified,omitempty"`
	// contains filtered or unexported fields
}

func (*TopicInfo) Descriptor deprecated added in v0.9.0

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

Deprecated: Use TopicInfo.ProtoReflect.Descriptor instead.

func (*TopicInfo) GetDataSizeBytes added in v0.9.0

func (x *TopicInfo) GetDataSizeBytes() uint64

func (*TopicInfo) GetDuplicates added in v0.9.0

func (x *TopicInfo) GetDuplicates() uint64

func (*TopicInfo) GetEventOffsetId added in v0.9.0

func (x *TopicInfo) GetEventOffsetId() []byte

func (*TopicInfo) GetEvents added in v0.9.0

func (x *TopicInfo) GetEvents() uint64

func (*TopicInfo) GetModified added in v0.9.0

func (x *TopicInfo) GetModified() *timestamppb.Timestamp

func (*TopicInfo) GetProjectId added in v0.9.0

func (x *TopicInfo) GetProjectId() []byte

func (*TopicInfo) GetTopicId added in v0.9.0

func (x *TopicInfo) GetTopicId() []byte

func (*TopicInfo) GetTypes added in v0.9.0

func (x *TopicInfo) GetTypes() []*EventTypeInfo

func (*TopicInfo) ProtoMessage added in v0.9.0

func (*TopicInfo) ProtoMessage()

func (*TopicInfo) ProtoReflect added in v0.9.0

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

func (*TopicInfo) Reset added in v0.9.0

func (x *TopicInfo) Reset()

func (*TopicInfo) String added in v0.9.0

func (x *TopicInfo) String() string

type TopicMod

type TopicMod struct {
	Id        string             `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Operation TopicMod_Operation `protobuf:"varint,2,opt,name=operation,proto3,enum=ensign.v1beta1.TopicMod_Operation" json:"operation,omitempty"`
	// contains filtered or unexported fields
}

A topic modification operation to archive or destroy the topic.

func (*TopicMod) Descriptor deprecated

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

Deprecated: Use TopicMod.ProtoReflect.Descriptor instead.

func (*TopicMod) GetId

func (x *TopicMod) GetId() string

func (*TopicMod) GetOperation

func (x *TopicMod) GetOperation() TopicMod_Operation

func (*TopicMod) ProtoMessage

func (*TopicMod) ProtoMessage()

func (*TopicMod) ProtoReflect

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

func (*TopicMod) Reset

func (x *TopicMod) Reset()

func (*TopicMod) String

func (x *TopicMod) String() string

type TopicMod_Operation

type TopicMod_Operation int32
const (
	TopicMod_NOOP    TopicMod_Operation = 0
	TopicMod_ARCHIVE TopicMod_Operation = 1 // makes the topic readonly
	TopicMod_DESTROY TopicMod_Operation = 2 // deletes the topic and removes all of its data
)

func (TopicMod_Operation) Descriptor

func (TopicMod_Operation) Enum

func (TopicMod_Operation) EnumDescriptor deprecated

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

Deprecated: Use TopicMod_Operation.Descriptor instead.

func (TopicMod_Operation) Number

func (TopicMod_Operation) String

func (x TopicMod_Operation) String() string

func (TopicMod_Operation) Type

type TopicName added in v0.5.1

type TopicName struct {
	TopicId   string `protobuf:"bytes,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Name      string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*TopicName) Descriptor deprecated added in v0.5.1

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

Deprecated: Use TopicName.ProtoReflect.Descriptor instead.

func (*TopicName) GetName added in v0.5.1

func (x *TopicName) GetName() string

func (*TopicName) GetProjectId added in v0.5.1

func (x *TopicName) GetProjectId() string

func (*TopicName) GetTopicId added in v0.5.1

func (x *TopicName) GetTopicId() string

func (*TopicName) ProtoMessage added in v0.5.1

func (*TopicName) ProtoMessage()

func (*TopicName) ProtoReflect added in v0.5.1

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

func (*TopicName) Reset added in v0.5.1

func (x *TopicName) Reset()

func (*TopicName) String added in v0.5.1

func (x *TopicName) String() string

type TopicNamesPage added in v0.5.1

type TopicNamesPage struct {
	TopicNames    []*TopicName `protobuf:"bytes,1,rep,name=topic_names,json=topicNames,proto3" json:"topic_names,omitempty"`
	NextPageToken string       `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

A list of paginated topic names to topic IDs to allow users to match names to IDs.

func (*TopicNamesPage) Descriptor deprecated added in v0.5.1

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

Deprecated: Use TopicNamesPage.ProtoReflect.Descriptor instead.

func (*TopicNamesPage) GetNextPageToken added in v0.5.1

func (x *TopicNamesPage) GetNextPageToken() string

func (*TopicNamesPage) GetTopicNames added in v0.5.1

func (x *TopicNamesPage) GetTopicNames() []*TopicName

func (*TopicNamesPage) ProtoMessage added in v0.5.1

func (*TopicNamesPage) ProtoMessage()

func (*TopicNamesPage) ProtoReflect added in v0.5.1

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

func (*TopicNamesPage) Reset added in v0.5.1

func (x *TopicNamesPage) Reset()

func (*TopicNamesPage) String added in v0.5.1

func (x *TopicNamesPage) String() string

type TopicPolicy added in v0.11.0

type TopicPolicy struct {
	Id                  string           `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	DeduplicationPolicy *Deduplication   `protobuf:"bytes,2,opt,name=deduplication_policy,json=deduplicationPolicy,proto3" json:"deduplication_policy,omitempty"`
	ShardingStrategy    ShardingStrategy `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

Alows users to set topic management policies.

func (*TopicPolicy) Descriptor deprecated added in v0.11.0

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

Deprecated: Use TopicPolicy.ProtoReflect.Descriptor instead.

func (*TopicPolicy) GetDeduplicationPolicy added in v0.11.0

func (x *TopicPolicy) GetDeduplicationPolicy() *Deduplication

func (*TopicPolicy) GetId added in v0.11.0

func (x *TopicPolicy) GetId() string

func (*TopicPolicy) GetShardingStrategy added in v0.11.0

func (x *TopicPolicy) GetShardingStrategy() ShardingStrategy

func (*TopicPolicy) ProtoMessage added in v0.11.0

func (*TopicPolicy) ProtoMessage()

func (*TopicPolicy) ProtoReflect added in v0.11.0

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

func (*TopicPolicy) Reset added in v0.11.0

func (x *TopicPolicy) Reset()

func (*TopicPolicy) String added in v0.11.0

func (x *TopicPolicy) String() string

type TopicState added in v0.11.0

type TopicState int32
const (
	TopicState_UNDEFINED  TopicState = 0
	TopicState_READY      TopicState = 1
	TopicState_READONLY   TopicState = 2
	TopicState_DELETING   TopicState = 3
	TopicState_PENDING    TopicState = 4
	TopicState_ALLOCATING TopicState = 5
	TopicState_REPAIRING  TopicState = 6
)

func (TopicState) Descriptor added in v0.11.0

func (TopicState) Descriptor() protoreflect.EnumDescriptor

func (TopicState) Enum added in v0.11.0

func (x TopicState) Enum() *TopicState

func (TopicState) EnumDescriptor deprecated added in v0.11.0

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

Deprecated: Use TopicState.Descriptor instead.

func (TopicState) Number added in v0.11.0

func (x TopicState) Number() protoreflect.EnumNumber

func (TopicState) String added in v0.11.0

func (x TopicState) String() string

func (TopicState) Type added in v0.11.0

type TopicStatus added in v0.11.0

type TopicStatus struct {
	Id    string     `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	State TopicState `protobuf:"varint,2,opt,name=state,proto3,enum=ensign.v1beta1.TopicState" json:"state,omitempty"`
	// contains filtered or unexported fields
}

A temporary representation of the topic state, e.g. was it modified to be readonly or is it in the process of being deleted. Once deleted the topic is permenantly gone.

func (*TopicStatus) Descriptor deprecated added in v0.11.0

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

Deprecated: Use TopicStatus.ProtoReflect.Descriptor instead.

func (*TopicStatus) GetId added in v0.11.0

func (x *TopicStatus) GetId() string

func (*TopicStatus) GetState added in v0.11.0

func (x *TopicStatus) GetState() TopicState

func (*TopicStatus) ProtoMessage added in v0.11.0

func (*TopicStatus) ProtoMessage()

func (*TopicStatus) ProtoReflect added in v0.11.0

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

func (*TopicStatus) Reset added in v0.11.0

func (x *TopicStatus) Reset()

func (*TopicStatus) String added in v0.11.0

func (x *TopicStatus) String() string

type TopicsPage

type TopicsPage struct {
	Topics        []*Topic `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"`
	NextPageToken string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

A list of paginated topics the user can use to identify topic ids to subscribe to.

func (*TopicsPage) Descriptor deprecated

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

Deprecated: Use TopicsPage.ProtoReflect.Descriptor instead.

func (*TopicsPage) GetNextPageToken

func (x *TopicsPage) GetNextPageToken() string

func (*TopicsPage) GetTopics

func (x *TopicsPage) GetTopics() []*Topic

func (*TopicsPage) ProtoMessage

func (*TopicsPage) ProtoMessage()

func (*TopicsPage) ProtoReflect

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

func (*TopicsPage) Reset

func (x *TopicsPage) Reset()

func (*TopicsPage) String

func (x *TopicsPage) String() string

type Type

type Type struct {
	Name         string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	MajorVersion uint32 `protobuf:"varint,2,opt,name=major_version,json=majorVersion,proto3" json:"major_version,omitempty"`
	MinorVersion uint32 `protobuf:"varint,3,opt,name=minor_version,json=minorVersion,proto3" json:"minor_version,omitempty"`
	PatchVersion uint32 `protobuf:"varint,4,opt,name=patch_version,json=patchVersion,proto3" json:"patch_version,omitempty"`
	// contains filtered or unexported fields
}

An event type is composed of a name and a version so that the type can be looked up in the schema registry. The schema can then be used to validate the data inside the event. Schemas are optional but types are not unless the mimetype requries a schema for deserialization (e.g. protobuf, parquet, avro, etc.).

func (*Type) Descriptor deprecated

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

Deprecated: Use Type.ProtoReflect.Descriptor instead.

func (*Type) Equals added in v0.7.0

func (t *Type) Equals(o *Type) bool

Equals treats the name as case-insensitive and determines if the name and version are the same for the current type and the other type.

func (*Type) GetMajorVersion added in v0.7.0

func (x *Type) GetMajorVersion() uint32

func (*Type) GetMinorVersion added in v0.7.0

func (x *Type) GetMinorVersion() uint32

func (*Type) GetName

func (x *Type) GetName() string

func (*Type) GetPatchVersion added in v0.7.0

func (x *Type) GetPatchVersion() uint32

func (*Type) ParseSemver added in v0.7.1

func (t *Type) ParseSemver(version string) (err error)

Parses the semver 2.0.0 string and loads the information into the type. See https://semver.org/ and https://regex101.com/r/Ly7O1x/3/ for more on parsing. NOTE: any extensions of the version such as build and release are omitted, only the major, minor, and patch versions are added to the type.

func (*Type) ProtoMessage

func (*Type) ProtoMessage()

func (*Type) ProtoReflect

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

func (*Type) Reset

func (x *Type) Reset()

func (*Type) Semver added in v0.7.1

func (t *Type) Semver() string

Returns just the semantic version of the type.

func (*Type) String

func (x *Type) String() string

func (*Type) Version

func (t *Type) Version() string

Returns the type name and semantic version as a whole string.

type UnimplementedEnsignServer

type UnimplementedEnsignServer struct {
}

UnimplementedEnsignServer must be embedded to have forward compatible implementations.

func (UnimplementedEnsignServer) CreateTopic

func (UnimplementedEnsignServer) DeleteTopic

func (UnimplementedEnsignServer) EnSQL added in v0.9.0

func (UnimplementedEnsignServer) Explain added in v0.9.0

func (UnimplementedEnsignServer) Info added in v0.7.0

func (UnimplementedEnsignServer) ListTopics

func (UnimplementedEnsignServer) Publish

func (UnimplementedEnsignServer) RetrieveTopic added in v0.5.1

func (UnimplementedEnsignServer) SetTopicPolicy added in v0.11.0

func (UnimplementedEnsignServer) Status

func (UnimplementedEnsignServer) Subscribe

func (UnimplementedEnsignServer) TopicExists added in v0.5.1

func (UnimplementedEnsignServer) TopicNames added in v0.5.1

type UnsafeEnsignServer

type UnsafeEnsignServer interface {
	// contains filtered or unexported methods
}

UnsafeEnsignServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to EnsignServer will result in compilation errors.

Jump to

Keyboard shortcuts

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