queueservice

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2025 License: MIT Imports: 24 Imported by: 0

Documentation

Overview

Package queueservice is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	QueueService_CreateQueue_FullMethodName              = "/chronoqueue.api.queueservice.v1.QueueService/CreateQueue"
	QueueService_DeleteQueue_FullMethodName              = "/chronoqueue.api.queueservice.v1.QueueService/DeleteQueue"
	QueueService_ListQueues_FullMethodName               = "/chronoqueue.api.queueservice.v1.QueueService/ListQueues"
	QueueService_GetQueueState_FullMethodName            = "/chronoqueue.api.queueservice.v1.QueueService/GetQueueState"
	QueueService_PostMessage_FullMethodName              = "/chronoqueue.api.queueservice.v1.QueueService/PostMessage"
	QueueService_GetNextMessage_FullMethodName           = "/chronoqueue.api.queueservice.v1.QueueService/GetNextMessage"
	QueueService_AcknowledgeMessage_FullMethodName       = "/chronoqueue.api.queueservice.v1.QueueService/AcknowledgeMessage"
	QueueService_RenewMessageLease_FullMethodName        = "/chronoqueue.api.queueservice.v1.QueueService/RenewMessageLease"
	QueueService_PeekQueueMessages_FullMethodName        = "/chronoqueue.api.queueservice.v1.QueueService/PeekQueueMessages"
	QueueService_SendMessageHeartBeat_FullMethodName     = "/chronoqueue.api.queueservice.v1.QueueService/SendMessageHeartBeat"
	QueueService_CreateSchedule_FullMethodName           = "/chronoqueue.api.queueservice.v1.QueueService/CreateSchedule"
	QueueService_DeleteSchedule_FullMethodName           = "/chronoqueue.api.queueservice.v1.QueueService/DeleteSchedule"
	QueueService_GetSchedule_FullMethodName              = "/chronoqueue.api.queueservice.v1.QueueService/GetSchedule"
	QueueService_ListSchedules_FullMethodName            = "/chronoqueue.api.queueservice.v1.QueueService/ListSchedules"
	QueueService_GetScheduleHistory_FullMethodName       = "/chronoqueue.api.queueservice.v1.QueueService/GetScheduleHistory"
	QueueService_PauseSchedule_FullMethodName            = "/chronoqueue.api.queueservice.v1.QueueService/PauseSchedule"
	QueueService_ResumeSchedule_FullMethodName           = "/chronoqueue.api.queueservice.v1.QueueService/ResumeSchedule"
	QueueService_GetDLQMessages_FullMethodName           = "/chronoqueue.api.queueservice.v1.QueueService/GetDLQMessages"
	QueueService_RequeueFromDLQ_FullMethodName           = "/chronoqueue.api.queueservice.v1.QueueService/RequeueFromDLQ"
	QueueService_DeleteFromDLQ_FullMethodName            = "/chronoqueue.api.queueservice.v1.QueueService/DeleteFromDLQ"
	QueueService_PurgeDLQ_FullMethodName                 = "/chronoqueue.api.queueservice.v1.QueueService/PurgeDLQ"
	QueueService_GetDLQStats_FullMethodName              = "/chronoqueue.api.queueservice.v1.QueueService/GetDLQStats"
	QueueService_ValidateCalendarSchedule_FullMethodName = "/chronoqueue.api.queueservice.v1.QueueService/ValidateCalendarSchedule"
	QueueService_PreviewCalendarSchedule_FullMethodName  = "/chronoqueue.api.queueservice.v1.QueueService/PreviewCalendarSchedule"
	QueueService_RegisterSchema_FullMethodName           = "/chronoqueue.api.queueservice.v1.QueueService/RegisterSchema"
	QueueService_GetSchema_FullMethodName                = "/chronoqueue.api.queueservice.v1.QueueService/GetSchema"
	QueueService_ListSchemas_FullMethodName              = "/chronoqueue.api.queueservice.v1.QueueService/ListSchemas"
	QueueService_DeleteSchema_FullMethodName             = "/chronoqueue.api.queueservice.v1.QueueService/DeleteSchema"
	QueueService_ValidatePayload_FullMethodName          = "/chronoqueue.api.queueservice.v1.QueueService/ValidatePayload"
)

Variables

View Source
var File_proto_queueservice_v1_request_response_proto protoreflect.FileDescriptor
View Source
var File_proto_queueservice_v1_service_proto protoreflect.FileDescriptor
View Source
var QueueService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "chronoqueue.api.queueservice.v1.QueueService",
	HandlerType: (*QueueServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateQueue",
			Handler:    _QueueService_CreateQueue_Handler,
		},
		{
			MethodName: "DeleteQueue",
			Handler:    _QueueService_DeleteQueue_Handler,
		},
		{
			MethodName: "ListQueues",
			Handler:    _QueueService_ListQueues_Handler,
		},
		{
			MethodName: "GetQueueState",
			Handler:    _QueueService_GetQueueState_Handler,
		},
		{
			MethodName: "PostMessage",
			Handler:    _QueueService_PostMessage_Handler,
		},
		{
			MethodName: "GetNextMessage",
			Handler:    _QueueService_GetNextMessage_Handler,
		},
		{
			MethodName: "AcknowledgeMessage",
			Handler:    _QueueService_AcknowledgeMessage_Handler,
		},
		{
			MethodName: "RenewMessageLease",
			Handler:    _QueueService_RenewMessageLease_Handler,
		},
		{
			MethodName: "PeekQueueMessages",
			Handler:    _QueueService_PeekQueueMessages_Handler,
		},
		{
			MethodName: "SendMessageHeartBeat",
			Handler:    _QueueService_SendMessageHeartBeat_Handler,
		},
		{
			MethodName: "CreateSchedule",
			Handler:    _QueueService_CreateSchedule_Handler,
		},
		{
			MethodName: "DeleteSchedule",
			Handler:    _QueueService_DeleteSchedule_Handler,
		},
		{
			MethodName: "GetSchedule",
			Handler:    _QueueService_GetSchedule_Handler,
		},
		{
			MethodName: "ListSchedules",
			Handler:    _QueueService_ListSchedules_Handler,
		},
		{
			MethodName: "GetScheduleHistory",
			Handler:    _QueueService_GetScheduleHistory_Handler,
		},
		{
			MethodName: "PauseSchedule",
			Handler:    _QueueService_PauseSchedule_Handler,
		},
		{
			MethodName: "ResumeSchedule",
			Handler:    _QueueService_ResumeSchedule_Handler,
		},
		{
			MethodName: "GetDLQMessages",
			Handler:    _QueueService_GetDLQMessages_Handler,
		},
		{
			MethodName: "RequeueFromDLQ",
			Handler:    _QueueService_RequeueFromDLQ_Handler,
		},
		{
			MethodName: "DeleteFromDLQ",
			Handler:    _QueueService_DeleteFromDLQ_Handler,
		},
		{
			MethodName: "PurgeDLQ",
			Handler:    _QueueService_PurgeDLQ_Handler,
		},
		{
			MethodName: "GetDLQStats",
			Handler:    _QueueService_GetDLQStats_Handler,
		},
		{
			MethodName: "ValidateCalendarSchedule",
			Handler:    _QueueService_ValidateCalendarSchedule_Handler,
		},
		{
			MethodName: "PreviewCalendarSchedule",
			Handler:    _QueueService_PreviewCalendarSchedule_Handler,
		},
		{
			MethodName: "RegisterSchema",
			Handler:    _QueueService_RegisterSchema_Handler,
		},
		{
			MethodName: "GetSchema",
			Handler:    _QueueService_GetSchema_Handler,
		},
		{
			MethodName: "ListSchemas",
			Handler:    _QueueService_ListSchemas_Handler,
		},
		{
			MethodName: "DeleteSchema",
			Handler:    _QueueService_DeleteSchema_Handler,
		},
		{
			MethodName: "ValidatePayload",
			Handler:    _QueueService_ValidatePayload_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/queueservice/v1/service.proto",
}

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

Functions

func RegisterQueueServiceHandler

func RegisterQueueServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterQueueServiceHandler registers the http handlers for service QueueService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterQueueServiceHandlerClient

func RegisterQueueServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueueServiceClient) error

RegisterQueueServiceHandlerClient registers the http handlers for service QueueService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueueServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueueServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "QueueServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares.

func RegisterQueueServiceHandlerFromEndpoint

func RegisterQueueServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterQueueServiceHandlerFromEndpoint is same as RegisterQueueServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterQueueServiceHandlerServer

func RegisterQueueServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueueServiceServer) error

RegisterQueueServiceHandlerServer registers the http handlers for service QueueService to "mux". UnaryRPC :call QueueServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueueServiceHandlerFromEndpoint instead. GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.

func RegisterQueueServiceServer

func RegisterQueueServiceServer(s grpc.ServiceRegistrar, srv QueueServiceServer)

Types

type AcknowledgeMessageRequest

type AcknowledgeMessageRequest struct {
	QueueName     string                     `protobuf:"bytes,1,opt,name=queue_name,json=queueName,proto3" json:"queue_name,omitempty"`
	MessageId     string                     `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	State         v11.Message_Metadata_State `protobuf:"varint,3,opt,name=state,proto3,enum=chronoqueue.api.message.v1.Message_Metadata_State" json:"state,omitempty"`
	StreamEntryId string                     `protobuf:"bytes,4,opt,name=stream_entry_id,json=streamEntryId,proto3" json:"stream_entry_id,omitempty"`
	// contains filtered or unexported fields
}

Acknowledge the message on the queue

func (*AcknowledgeMessageRequest) Descriptor deprecated

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

Deprecated: Use AcknowledgeMessageRequest.ProtoReflect.Descriptor instead.

func (*AcknowledgeMessageRequest) GetMessageId

func (x *AcknowledgeMessageRequest) GetMessageId() string

func (*AcknowledgeMessageRequest) GetQueueName

func (x *AcknowledgeMessageRequest) GetQueueName() string

func (*AcknowledgeMessageRequest) GetState

func (*AcknowledgeMessageRequest) GetStreamEntryId

func (x *AcknowledgeMessageRequest) GetStreamEntryId() string

func (*AcknowledgeMessageRequest) ProtoMessage

func (*AcknowledgeMessageRequest) ProtoMessage()

func (*AcknowledgeMessageRequest) ProtoReflect

func (*AcknowledgeMessageRequest) Reset

func (x *AcknowledgeMessageRequest) Reset()

func (*AcknowledgeMessageRequest) String

func (x *AcknowledgeMessageRequest) String() string

type AcknowledgeMessageResponse

type AcknowledgeMessageResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*AcknowledgeMessageResponse) Descriptor deprecated

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

Deprecated: Use AcknowledgeMessageResponse.ProtoReflect.Descriptor instead.

func (*AcknowledgeMessageResponse) GetSuccess

func (x *AcknowledgeMessageResponse) GetSuccess() bool

func (*AcknowledgeMessageResponse) ProtoMessage

func (*AcknowledgeMessageResponse) ProtoMessage()

func (*AcknowledgeMessageResponse) ProtoReflect

func (*AcknowledgeMessageResponse) Reset

func (x *AcknowledgeMessageResponse) Reset()

func (*AcknowledgeMessageResponse) String

func (x *AcknowledgeMessageResponse) String() string

type CreateQueueRequest

type CreateQueueRequest struct {
	Name     string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Metadata *v1.QueueMetadata `protobuf:"bytes,2,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

Create queue

func (*CreateQueueRequest) Descriptor deprecated

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

Deprecated: Use CreateQueueRequest.ProtoReflect.Descriptor instead.

func (*CreateQueueRequest) GetMetadata

func (x *CreateQueueRequest) GetMetadata() *v1.QueueMetadata

func (*CreateQueueRequest) GetName

func (x *CreateQueueRequest) GetName() string

func (*CreateQueueRequest) ProtoMessage

func (*CreateQueueRequest) ProtoMessage()

func (*CreateQueueRequest) ProtoReflect

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

func (*CreateQueueRequest) Reset

func (x *CreateQueueRequest) Reset()

func (*CreateQueueRequest) String

func (x *CreateQueueRequest) String() string

type CreateQueueResponse

type CreateQueueResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateQueueResponse) Descriptor deprecated

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

Deprecated: Use CreateQueueResponse.ProtoReflect.Descriptor instead.

func (*CreateQueueResponse) GetSuccess

func (x *CreateQueueResponse) GetSuccess() bool

func (*CreateQueueResponse) ProtoMessage

func (*CreateQueueResponse) ProtoMessage()

func (*CreateQueueResponse) ProtoReflect

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

func (*CreateQueueResponse) Reset

func (x *CreateQueueResponse) Reset()

func (*CreateQueueResponse) String

func (x *CreateQueueResponse) String() string

type CreateScheduleRequest

type CreateScheduleRequest struct {
	Schedule *v12.Schedule `protobuf:"bytes,1,opt,name=schedule,proto3" json:"schedule,omitempty"`
	// contains filtered or unexported fields
}

Create a schedule

func (*CreateScheduleRequest) Descriptor deprecated

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

Deprecated: Use CreateScheduleRequest.ProtoReflect.Descriptor instead.

func (*CreateScheduleRequest) GetSchedule

func (x *CreateScheduleRequest) GetSchedule() *v12.Schedule

func (*CreateScheduleRequest) ProtoMessage

func (*CreateScheduleRequest) ProtoMessage()

func (*CreateScheduleRequest) ProtoReflect

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

func (*CreateScheduleRequest) Reset

func (x *CreateScheduleRequest) Reset()

func (*CreateScheduleRequest) String

func (x *CreateScheduleRequest) String() string

type CreateScheduleResponse

type CreateScheduleResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateScheduleResponse) Descriptor deprecated

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

Deprecated: Use CreateScheduleResponse.ProtoReflect.Descriptor instead.

func (*CreateScheduleResponse) GetSuccess

func (x *CreateScheduleResponse) GetSuccess() bool

func (*CreateScheduleResponse) ProtoMessage

func (*CreateScheduleResponse) ProtoMessage()

func (*CreateScheduleResponse) ProtoReflect

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

func (*CreateScheduleResponse) Reset

func (x *CreateScheduleResponse) Reset()

func (*CreateScheduleResponse) String

func (x *CreateScheduleResponse) String() string

type DeleteFromDLQRequest

type DeleteFromDLQRequest struct {
	DlqName   string `protobuf:"bytes,1,opt,name=dlq_name,json=dlqName,proto3" json:"dlq_name,omitempty"`
	MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	// contains filtered or unexported fields
}

Delete message from DLQ

func (*DeleteFromDLQRequest) Descriptor deprecated

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

Deprecated: Use DeleteFromDLQRequest.ProtoReflect.Descriptor instead.

func (*DeleteFromDLQRequest) GetDlqName

func (x *DeleteFromDLQRequest) GetDlqName() string

func (*DeleteFromDLQRequest) GetMessageId

func (x *DeleteFromDLQRequest) GetMessageId() string

func (*DeleteFromDLQRequest) ProtoMessage

func (*DeleteFromDLQRequest) ProtoMessage()

func (*DeleteFromDLQRequest) ProtoReflect

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

func (*DeleteFromDLQRequest) Reset

func (x *DeleteFromDLQRequest) Reset()

func (*DeleteFromDLQRequest) String

func (x *DeleteFromDLQRequest) String() string

type DeleteFromDLQResponse

type DeleteFromDLQResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteFromDLQResponse) Descriptor deprecated

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

Deprecated: Use DeleteFromDLQResponse.ProtoReflect.Descriptor instead.

func (*DeleteFromDLQResponse) GetSuccess

func (x *DeleteFromDLQResponse) GetSuccess() bool

func (*DeleteFromDLQResponse) ProtoMessage

func (*DeleteFromDLQResponse) ProtoMessage()

func (*DeleteFromDLQResponse) ProtoReflect

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

func (*DeleteFromDLQResponse) Reset

func (x *DeleteFromDLQResponse) Reset()

func (*DeleteFromDLQResponse) String

func (x *DeleteFromDLQResponse) String() string

type DeleteQueueRequest

type DeleteQueueRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Delete queue by name

func (*DeleteQueueRequest) Descriptor deprecated

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

Deprecated: Use DeleteQueueRequest.ProtoReflect.Descriptor instead.

func (*DeleteQueueRequest) GetName

func (x *DeleteQueueRequest) GetName() string

func (*DeleteQueueRequest) ProtoMessage

func (*DeleteQueueRequest) ProtoMessage()

func (*DeleteQueueRequest) ProtoReflect

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

func (*DeleteQueueRequest) Reset

func (x *DeleteQueueRequest) Reset()

func (*DeleteQueueRequest) String

func (x *DeleteQueueRequest) String() string

type DeleteQueueResponse

type DeleteQueueResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteQueueResponse) Descriptor deprecated

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

Deprecated: Use DeleteQueueResponse.ProtoReflect.Descriptor instead.

func (*DeleteQueueResponse) GetSuccess

func (x *DeleteQueueResponse) GetSuccess() bool

func (*DeleteQueueResponse) ProtoMessage

func (*DeleteQueueResponse) ProtoMessage()

func (*DeleteQueueResponse) ProtoReflect

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

func (*DeleteQueueResponse) Reset

func (x *DeleteQueueResponse) Reset()

func (*DeleteQueueResponse) String

func (x *DeleteQueueResponse) String() string

type DeleteScheduleRequest

type DeleteScheduleRequest struct {
	ScheduleId string `protobuf:"bytes,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
	// contains filtered or unexported fields
}

Delete a schedule

func (*DeleteScheduleRequest) Descriptor deprecated

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

Deprecated: Use DeleteScheduleRequest.ProtoReflect.Descriptor instead.

func (*DeleteScheduleRequest) GetScheduleId

func (x *DeleteScheduleRequest) GetScheduleId() string

func (*DeleteScheduleRequest) ProtoMessage

func (*DeleteScheduleRequest) ProtoMessage()

func (*DeleteScheduleRequest) ProtoReflect

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

func (*DeleteScheduleRequest) Reset

func (x *DeleteScheduleRequest) Reset()

func (*DeleteScheduleRequest) String

func (x *DeleteScheduleRequest) String() string

type DeleteScheduleResponse

type DeleteScheduleResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteScheduleResponse) Descriptor deprecated

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

Deprecated: Use DeleteScheduleResponse.ProtoReflect.Descriptor instead.

func (*DeleteScheduleResponse) GetSuccess

func (x *DeleteScheduleResponse) GetSuccess() bool

func (*DeleteScheduleResponse) ProtoMessage

func (*DeleteScheduleResponse) ProtoMessage()

func (*DeleteScheduleResponse) ProtoReflect

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

func (*DeleteScheduleResponse) Reset

func (x *DeleteScheduleResponse) Reset()

func (*DeleteScheduleResponse) String

func (x *DeleteScheduleResponse) String() string

type DeleteSchemaRequest

type DeleteSchemaRequest struct {
	SchemaId string `protobuf:"bytes,1,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"` // Schema identifier
	Version  int32  `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`                  // Schema version (0 = delete all versions)
	// contains filtered or unexported fields
}

Delete a schema or specific version

func (*DeleteSchemaRequest) Descriptor deprecated

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

Deprecated: Use DeleteSchemaRequest.ProtoReflect.Descriptor instead.

func (*DeleteSchemaRequest) GetSchemaId

func (x *DeleteSchemaRequest) GetSchemaId() string

func (*DeleteSchemaRequest) GetVersion

func (x *DeleteSchemaRequest) GetVersion() int32

func (*DeleteSchemaRequest) ProtoMessage

func (*DeleteSchemaRequest) ProtoMessage()

func (*DeleteSchemaRequest) ProtoReflect

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

func (*DeleteSchemaRequest) Reset

func (x *DeleteSchemaRequest) Reset()

func (*DeleteSchemaRequest) String

func (x *DeleteSchemaRequest) String() string

type DeleteSchemaResponse

type DeleteSchemaResponse struct {
	Success         bool  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	VersionsDeleted int32 `protobuf:"varint,2,opt,name=versions_deleted,json=versionsDeleted,proto3" json:"versions_deleted,omitempty"` // Number of versions deleted
	// contains filtered or unexported fields
}

func (*DeleteSchemaResponse) Descriptor deprecated

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

Deprecated: Use DeleteSchemaResponse.ProtoReflect.Descriptor instead.

func (*DeleteSchemaResponse) GetSuccess

func (x *DeleteSchemaResponse) GetSuccess() bool

func (*DeleteSchemaResponse) GetVersionsDeleted

func (x *DeleteSchemaResponse) GetVersionsDeleted() int32

func (*DeleteSchemaResponse) ProtoMessage

func (*DeleteSchemaResponse) ProtoMessage()

func (*DeleteSchemaResponse) ProtoReflect

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

func (*DeleteSchemaResponse) Reset

func (x *DeleteSchemaResponse) Reset()

func (*DeleteSchemaResponse) String

func (x *DeleteSchemaResponse) String() string

type GetDLQMessagesRequest

type GetDLQMessagesRequest struct {
	DlqName string `protobuf:"bytes,1,opt,name=dlq_name,json=dlqName,proto3" json:"dlq_name,omitempty"`
	Limit   int32  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// contains filtered or unexported fields
}

Get messages from DLQ

func (*GetDLQMessagesRequest) Descriptor deprecated

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

Deprecated: Use GetDLQMessagesRequest.ProtoReflect.Descriptor instead.

func (*GetDLQMessagesRequest) GetDlqName

func (x *GetDLQMessagesRequest) GetDlqName() string

func (*GetDLQMessagesRequest) GetLimit

func (x *GetDLQMessagesRequest) GetLimit() int32

func (*GetDLQMessagesRequest) ProtoMessage

func (*GetDLQMessagesRequest) ProtoMessage()

func (*GetDLQMessagesRequest) ProtoReflect

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

func (*GetDLQMessagesRequest) Reset

func (x *GetDLQMessagesRequest) Reset()

func (*GetDLQMessagesRequest) String

func (x *GetDLQMessagesRequest) String() string

type GetDLQMessagesResponse

type GetDLQMessagesResponse struct {
	Messages []*v11.Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

func (*GetDLQMessagesResponse) Descriptor deprecated

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

Deprecated: Use GetDLQMessagesResponse.ProtoReflect.Descriptor instead.

func (*GetDLQMessagesResponse) GetMessages

func (x *GetDLQMessagesResponse) GetMessages() []*v11.Message

func (*GetDLQMessagesResponse) ProtoMessage

func (*GetDLQMessagesResponse) ProtoMessage()

func (*GetDLQMessagesResponse) ProtoReflect

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

func (*GetDLQMessagesResponse) Reset

func (x *GetDLQMessagesResponse) Reset()

func (*GetDLQMessagesResponse) String

func (x *GetDLQMessagesResponse) String() string

type GetDLQStatsRequest

type GetDLQStatsRequest struct {
	DlqName string `protobuf:"bytes,1,opt,name=dlq_name,json=dlqName,proto3" json:"dlq_name,omitempty"`
	// contains filtered or unexported fields
}

Get DLQ statistics

func (*GetDLQStatsRequest) Descriptor deprecated

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

Deprecated: Use GetDLQStatsRequest.ProtoReflect.Descriptor instead.

func (*GetDLQStatsRequest) GetDlqName

func (x *GetDLQStatsRequest) GetDlqName() string

func (*GetDLQStatsRequest) ProtoMessage

func (*GetDLQStatsRequest) ProtoMessage()

func (*GetDLQStatsRequest) ProtoReflect

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

func (*GetDLQStatsRequest) Reset

func (x *GetDLQStatsRequest) Reset()

func (*GetDLQStatsRequest) String

func (x *GetDLQStatsRequest) String() string

type GetDLQStatsResponse

type GetDLQStatsResponse struct {
	Name         string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	MessageCount int64  `protobuf:"varint,2,opt,name=message_count,json=messageCount,proto3" json:"message_count,omitempty"`
	CreatedAt    int64  `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt    int64  `protobuf:"varint,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// contains filtered or unexported fields
}

func (*GetDLQStatsResponse) Descriptor deprecated

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

Deprecated: Use GetDLQStatsResponse.ProtoReflect.Descriptor instead.

func (*GetDLQStatsResponse) GetCreatedAt

func (x *GetDLQStatsResponse) GetCreatedAt() int64

func (*GetDLQStatsResponse) GetMessageCount

func (x *GetDLQStatsResponse) GetMessageCount() int64

func (*GetDLQStatsResponse) GetName

func (x *GetDLQStatsResponse) GetName() string

func (*GetDLQStatsResponse) GetUpdatedAt

func (x *GetDLQStatsResponse) GetUpdatedAt() int64

func (*GetDLQStatsResponse) ProtoMessage

func (*GetDLQStatsResponse) ProtoMessage()

func (*GetDLQStatsResponse) ProtoReflect

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

func (*GetDLQStatsResponse) Reset

func (x *GetDLQStatsResponse) Reset()

func (*GetDLQStatsResponse) String

func (x *GetDLQStatsResponse) String() string

type GetNextMessageRequest

type GetNextMessageRequest struct {
	QueueName      string               `protobuf:"bytes,1,opt,name=queue_name,json=queueName,proto3" json:"queue_name,omitempty"`
	LeaseDuration  *durationpb.Duration `protobuf:"bytes,2,opt,name=lease_duration,json=leaseDuration,proto3" json:"lease_duration,omitempty"`
	ExclusivityKey string               `protobuf:"bytes,3,opt,name=exclusivity_key,json=exclusivityKey,proto3" json:"exclusivity_key,omitempty"`
	// contains filtered or unexported fields
}

Get the next message on the queue

func (*GetNextMessageRequest) Descriptor deprecated

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

Deprecated: Use GetNextMessageRequest.ProtoReflect.Descriptor instead.

func (*GetNextMessageRequest) GetExclusivityKey

func (x *GetNextMessageRequest) GetExclusivityKey() string

func (*GetNextMessageRequest) GetLeaseDuration

func (x *GetNextMessageRequest) GetLeaseDuration() *durationpb.Duration

func (*GetNextMessageRequest) GetQueueName

func (x *GetNextMessageRequest) GetQueueName() string

func (*GetNextMessageRequest) ProtoMessage

func (*GetNextMessageRequest) ProtoMessage()

func (*GetNextMessageRequest) ProtoReflect

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

func (*GetNextMessageRequest) Reset

func (x *GetNextMessageRequest) Reset()

func (*GetNextMessageRequest) String

func (x *GetNextMessageRequest) String() string

type GetNextMessageResponse

type GetNextMessageResponse struct {
	Message       *v11.Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	StreamEntryId string       `protobuf:"bytes,2,opt,name=stream_entry_id,json=streamEntryId,proto3" json:"stream_entry_id,omitempty"`
	// contains filtered or unexported fields
}

func (*GetNextMessageResponse) Descriptor deprecated

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

Deprecated: Use GetNextMessageResponse.ProtoReflect.Descriptor instead.

func (*GetNextMessageResponse) GetMessage

func (x *GetNextMessageResponse) GetMessage() *v11.Message

func (*GetNextMessageResponse) GetStreamEntryId

func (x *GetNextMessageResponse) GetStreamEntryId() string

func (*GetNextMessageResponse) ProtoMessage

func (*GetNextMessageResponse) ProtoMessage()

func (*GetNextMessageResponse) ProtoReflect

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

func (*GetNextMessageResponse) Reset

func (x *GetNextMessageResponse) Reset()

func (*GetNextMessageResponse) String

func (x *GetNextMessageResponse) String() string

type GetQueueStateRequest

type GetQueueStateRequest struct {
	QueueName string `protobuf:"bytes,1,opt,name=queue_name,json=queueName,proto3" json:"queue_name,omitempty"`
	// contains filtered or unexported fields
}

vew the state of a given queue

func (*GetQueueStateRequest) Descriptor deprecated

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

Deprecated: Use GetQueueStateRequest.ProtoReflect.Descriptor instead.

func (*GetQueueStateRequest) GetQueueName

func (x *GetQueueStateRequest) GetQueueName() string

func (*GetQueueStateRequest) ProtoMessage

func (*GetQueueStateRequest) ProtoMessage()

func (*GetQueueStateRequest) ProtoReflect

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

func (*GetQueueStateRequest) Reset

func (x *GetQueueStateRequest) Reset()

func (*GetQueueStateRequest) String

func (x *GetQueueStateRequest) String() string

type GetQueueStateResponse

type GetQueueStateResponse struct {
	StateCounts      map[string]int32       `` /* 169-byte string literal not displayed */
	EarliestDeadline *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=earliest_deadline,json=earliestDeadline,proto3" json:"earliest_deadline,omitempty"`
	// contains filtered or unexported fields
}

func (*GetQueueStateResponse) Descriptor deprecated

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

Deprecated: Use GetQueueStateResponse.ProtoReflect.Descriptor instead.

func (*GetQueueStateResponse) GetEarliestDeadline

func (x *GetQueueStateResponse) GetEarliestDeadline() *timestamppb.Timestamp

func (*GetQueueStateResponse) GetStateCounts

func (x *GetQueueStateResponse) GetStateCounts() map[string]int32

func (*GetQueueStateResponse) ProtoMessage

func (*GetQueueStateResponse) ProtoMessage()

func (*GetQueueStateResponse) ProtoReflect

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

func (*GetQueueStateResponse) Reset

func (x *GetQueueStateResponse) Reset()

func (*GetQueueStateResponse) String

func (x *GetQueueStateResponse) String() string

type GetScheduleHistoryRequest

type GetScheduleHistoryRequest struct {
	ScheduleId string `protobuf:"bytes,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
	Limit      int64  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// contains filtered or unexported fields
}

Get schedule history

func (*GetScheduleHistoryRequest) Descriptor deprecated

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

Deprecated: Use GetScheduleHistoryRequest.ProtoReflect.Descriptor instead.

func (*GetScheduleHistoryRequest) GetLimit

func (x *GetScheduleHistoryRequest) GetLimit() int64

func (*GetScheduleHistoryRequest) GetScheduleId

func (x *GetScheduleHistoryRequest) GetScheduleId() string

func (*GetScheduleHistoryRequest) ProtoMessage

func (*GetScheduleHistoryRequest) ProtoMessage()

func (*GetScheduleHistoryRequest) ProtoReflect

func (*GetScheduleHistoryRequest) Reset

func (x *GetScheduleHistoryRequest) Reset()

func (*GetScheduleHistoryRequest) String

func (x *GetScheduleHistoryRequest) String() string

type GetScheduleHistoryResponse

type GetScheduleHistoryResponse struct {
	ScheduleHistory *v12.ScheduleHistory `protobuf:"bytes,1,opt,name=schedule_history,json=scheduleHistory,proto3" json:"schedule_history,omitempty"`
	// contains filtered or unexported fields
}

func (*GetScheduleHistoryResponse) Descriptor deprecated

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

Deprecated: Use GetScheduleHistoryResponse.ProtoReflect.Descriptor instead.

func (*GetScheduleHistoryResponse) GetScheduleHistory

func (x *GetScheduleHistoryResponse) GetScheduleHistory() *v12.ScheduleHistory

func (*GetScheduleHistoryResponse) ProtoMessage

func (*GetScheduleHistoryResponse) ProtoMessage()

func (*GetScheduleHistoryResponse) ProtoReflect

func (*GetScheduleHistoryResponse) Reset

func (x *GetScheduleHistoryResponse) Reset()

func (*GetScheduleHistoryResponse) String

func (x *GetScheduleHistoryResponse) String() string

type GetScheduleRequest

type GetScheduleRequest struct {
	ScheduleId string `protobuf:"bytes,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
	// contains filtered or unexported fields
}

Get a schedule

func (*GetScheduleRequest) Descriptor deprecated

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

Deprecated: Use GetScheduleRequest.ProtoReflect.Descriptor instead.

func (*GetScheduleRequest) GetScheduleId

func (x *GetScheduleRequest) GetScheduleId() string

func (*GetScheduleRequest) ProtoMessage

func (*GetScheduleRequest) ProtoMessage()

func (*GetScheduleRequest) ProtoReflect

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

func (*GetScheduleRequest) Reset

func (x *GetScheduleRequest) Reset()

func (*GetScheduleRequest) String

func (x *GetScheduleRequest) String() string

type GetScheduleResponse

type GetScheduleResponse struct {
	Schedule *v12.Schedule `protobuf:"bytes,1,opt,name=schedule,proto3" json:"schedule,omitempty"`
	// contains filtered or unexported fields
}

func (*GetScheduleResponse) Descriptor deprecated

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

Deprecated: Use GetScheduleResponse.ProtoReflect.Descriptor instead.

func (*GetScheduleResponse) GetSchedule

func (x *GetScheduleResponse) GetSchedule() *v12.Schedule

func (*GetScheduleResponse) ProtoMessage

func (*GetScheduleResponse) ProtoMessage()

func (*GetScheduleResponse) ProtoReflect

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

func (*GetScheduleResponse) Reset

func (x *GetScheduleResponse) Reset()

func (*GetScheduleResponse) String

func (x *GetScheduleResponse) String() string

type GetSchemaRequest

type GetSchemaRequest struct {
	SchemaId string `protobuf:"bytes,1,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"` // Schema identifier
	Version  int32  `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`                  // Schema version (0 = latest)
	// contains filtered or unexported fields
}

Get a specific schema version

func (*GetSchemaRequest) Descriptor deprecated

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

Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead.

func (*GetSchemaRequest) GetSchemaId

func (x *GetSchemaRequest) GetSchemaId() string

func (*GetSchemaRequest) GetVersion

func (x *GetSchemaRequest) GetVersion() int32

func (*GetSchemaRequest) ProtoMessage

func (*GetSchemaRequest) ProtoMessage()

func (*GetSchemaRequest) ProtoReflect

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

func (*GetSchemaRequest) Reset

func (x *GetSchemaRequest) Reset()

func (*GetSchemaRequest) String

func (x *GetSchemaRequest) String() string

type GetSchemaResponse

type GetSchemaResponse struct {
	Schema *v13.Schema `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` // Full schema object
	// contains filtered or unexported fields
}

func (*GetSchemaResponse) Descriptor deprecated

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

Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead.

func (*GetSchemaResponse) GetSchema

func (x *GetSchemaResponse) GetSchema() *v13.Schema

func (*GetSchemaResponse) ProtoMessage

func (*GetSchemaResponse) ProtoMessage()

func (*GetSchemaResponse) ProtoReflect

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

func (*GetSchemaResponse) Reset

func (x *GetSchemaResponse) Reset()

func (*GetSchemaResponse) String

func (x *GetSchemaResponse) String() string

type ListQueuesRequest

type ListQueuesRequest struct {
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// contains filtered or unexported fields
}

List queues

func (*ListQueuesRequest) Descriptor deprecated

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

Deprecated: Use ListQueuesRequest.ProtoReflect.Descriptor instead.

func (*ListQueuesRequest) GetPrefix

func (x *ListQueuesRequest) GetPrefix() string

func (*ListQueuesRequest) ProtoMessage

func (*ListQueuesRequest) ProtoMessage()

func (*ListQueuesRequest) ProtoReflect

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

func (*ListQueuesRequest) Reset

func (x *ListQueuesRequest) Reset()

func (*ListQueuesRequest) String

func (x *ListQueuesRequest) String() string

type ListQueuesResponse

type ListQueuesResponse struct {
	Queues []*v1.Queue `protobuf:"bytes,1,rep,name=queues,proto3" json:"queues,omitempty"`
	// contains filtered or unexported fields
}

func (*ListQueuesResponse) Descriptor deprecated

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

Deprecated: Use ListQueuesResponse.ProtoReflect.Descriptor instead.

func (*ListQueuesResponse) GetQueues

func (x *ListQueuesResponse) GetQueues() []*v1.Queue

func (*ListQueuesResponse) ProtoMessage

func (*ListQueuesResponse) ProtoMessage()

func (*ListQueuesResponse) ProtoReflect

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

func (*ListQueuesResponse) Reset

func (x *ListQueuesResponse) Reset()

func (*ListQueuesResponse) String

func (x *ListQueuesResponse) String() string

type ListSchedulesRequest

type ListSchedulesRequest struct {
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// contains filtered or unexported fields
}

List schedules

func (*ListSchedulesRequest) Descriptor deprecated

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

Deprecated: Use ListSchedulesRequest.ProtoReflect.Descriptor instead.

func (*ListSchedulesRequest) GetPrefix

func (x *ListSchedulesRequest) GetPrefix() string

func (*ListSchedulesRequest) ProtoMessage

func (*ListSchedulesRequest) ProtoMessage()

func (*ListSchedulesRequest) ProtoReflect

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

func (*ListSchedulesRequest) Reset

func (x *ListSchedulesRequest) Reset()

func (*ListSchedulesRequest) String

func (x *ListSchedulesRequest) String() string

type ListSchedulesResponse

type ListSchedulesResponse struct {
	Schedules []*v12.Schedule `protobuf:"bytes,1,rep,name=schedules,proto3" json:"schedules,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSchedulesResponse) Descriptor deprecated

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

Deprecated: Use ListSchedulesResponse.ProtoReflect.Descriptor instead.

func (*ListSchedulesResponse) GetSchedules

func (x *ListSchedulesResponse) GetSchedules() []*v12.Schedule

func (*ListSchedulesResponse) ProtoMessage

func (*ListSchedulesResponse) ProtoMessage()

func (*ListSchedulesResponse) ProtoReflect

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

func (*ListSchedulesResponse) Reset

func (x *ListSchedulesResponse) Reset()

func (*ListSchedulesResponse) String

func (x *ListSchedulesResponse) String() string

type ListSchemasRequest

type ListSchemasRequest struct {
	Prefix     string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`                            // Filter by schema_id prefix
	Limit      int32  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`                             // Maximum number of results (default: 100)
	ActiveOnly bool   `protobuf:"varint,3,opt,name=active_only,json=activeOnly,proto3" json:"active_only,omitempty"` // Only return active schemas
	// contains filtered or unexported fields
}

List schemas with optional filtering

func (*ListSchemasRequest) Descriptor deprecated

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

Deprecated: Use ListSchemasRequest.ProtoReflect.Descriptor instead.

func (*ListSchemasRequest) GetActiveOnly

func (x *ListSchemasRequest) GetActiveOnly() bool

func (*ListSchemasRequest) GetLimit

func (x *ListSchemasRequest) GetLimit() int32

func (*ListSchemasRequest) GetPrefix

func (x *ListSchemasRequest) GetPrefix() string

func (*ListSchemasRequest) ProtoMessage

func (*ListSchemasRequest) ProtoMessage()

func (*ListSchemasRequest) ProtoReflect

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

func (*ListSchemasRequest) Reset

func (x *ListSchemasRequest) Reset()

func (*ListSchemasRequest) String

func (x *ListSchemasRequest) String() string

type ListSchemasResponse

type ListSchemasResponse struct {
	Schemas    []*SchemaInfo `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"`
	TotalCount int32         `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSchemasResponse) Descriptor deprecated

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

Deprecated: Use ListSchemasResponse.ProtoReflect.Descriptor instead.

func (*ListSchemasResponse) GetSchemas

func (x *ListSchemasResponse) GetSchemas() []*SchemaInfo

func (*ListSchemasResponse) GetTotalCount

func (x *ListSchemasResponse) GetTotalCount() int32

func (*ListSchemasResponse) ProtoMessage

func (*ListSchemasResponse) ProtoMessage()

func (*ListSchemasResponse) ProtoReflect

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

func (*ListSchemasResponse) Reset

func (x *ListSchemasResponse) Reset()

func (*ListSchemasResponse) String

func (x *ListSchemasResponse) String() string

type PauseScheduleRequest

type PauseScheduleRequest struct {
	ScheduleId string `protobuf:"bytes,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
	// contains filtered or unexported fields
}

Pause a schedule

func (*PauseScheduleRequest) Descriptor deprecated

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

Deprecated: Use PauseScheduleRequest.ProtoReflect.Descriptor instead.

func (*PauseScheduleRequest) GetScheduleId

func (x *PauseScheduleRequest) GetScheduleId() string

func (*PauseScheduleRequest) ProtoMessage

func (*PauseScheduleRequest) ProtoMessage()

func (*PauseScheduleRequest) ProtoReflect

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

func (*PauseScheduleRequest) Reset

func (x *PauseScheduleRequest) Reset()

func (*PauseScheduleRequest) String

func (x *PauseScheduleRequest) String() string

type PauseScheduleResponse

type PauseScheduleResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*PauseScheduleResponse) Descriptor deprecated

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

Deprecated: Use PauseScheduleResponse.ProtoReflect.Descriptor instead.

func (*PauseScheduleResponse) GetSuccess

func (x *PauseScheduleResponse) GetSuccess() bool

func (*PauseScheduleResponse) ProtoMessage

func (*PauseScheduleResponse) ProtoMessage()

func (*PauseScheduleResponse) ProtoReflect

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

func (*PauseScheduleResponse) Reset

func (x *PauseScheduleResponse) Reset()

func (*PauseScheduleResponse) String

func (x *PauseScheduleResponse) String() string

type PeekQueueMessagesRequest

type PeekQueueMessagesRequest struct {
	QueueName     string                                  `protobuf:"bytes,1,opt,name=queue_name,json=queueName,proto3" json:"queue_name,omitempty"`
	Limit         int64                                   `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	PriorityRange *PeekQueueMessagesRequest_PriorityRange `protobuf:"bytes,3,opt,name=priority_range,json=priorityRange,proto3,oneof" json:"priority_range,omitempty"`
	// contains filtered or unexported fields
}

View pending messages on a queueu

func (*PeekQueueMessagesRequest) Descriptor deprecated

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

Deprecated: Use PeekQueueMessagesRequest.ProtoReflect.Descriptor instead.

func (*PeekQueueMessagesRequest) GetLimit

func (x *PeekQueueMessagesRequest) GetLimit() int64

func (*PeekQueueMessagesRequest) GetPriorityRange

func (*PeekQueueMessagesRequest) GetQueueName

func (x *PeekQueueMessagesRequest) GetQueueName() string

func (*PeekQueueMessagesRequest) ProtoMessage

func (*PeekQueueMessagesRequest) ProtoMessage()

func (*PeekQueueMessagesRequest) ProtoReflect

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

func (*PeekQueueMessagesRequest) Reset

func (x *PeekQueueMessagesRequest) Reset()

func (*PeekQueueMessagesRequest) String

func (x *PeekQueueMessagesRequest) String() string

type PeekQueueMessagesRequest_PriorityRange

type PeekQueueMessagesRequest_PriorityRange struct {
	Min int64 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"`
	Max int64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"`
	// contains filtered or unexported fields
}

func (*PeekQueueMessagesRequest_PriorityRange) Descriptor deprecated

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

Deprecated: Use PeekQueueMessagesRequest_PriorityRange.ProtoReflect.Descriptor instead.

func (*PeekQueueMessagesRequest_PriorityRange) GetMax

func (*PeekQueueMessagesRequest_PriorityRange) GetMin

func (*PeekQueueMessagesRequest_PriorityRange) ProtoMessage

func (*PeekQueueMessagesRequest_PriorityRange) ProtoReflect

func (*PeekQueueMessagesRequest_PriorityRange) Reset

func (*PeekQueueMessagesRequest_PriorityRange) String

type PeekQueueMessagesResponse

type PeekQueueMessagesResponse struct {
	Messages []*v11.Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

func (*PeekQueueMessagesResponse) Descriptor deprecated

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

Deprecated: Use PeekQueueMessagesResponse.ProtoReflect.Descriptor instead.

func (*PeekQueueMessagesResponse) GetMessages

func (x *PeekQueueMessagesResponse) GetMessages() []*v11.Message

func (*PeekQueueMessagesResponse) ProtoMessage

func (*PeekQueueMessagesResponse) ProtoMessage()

func (*PeekQueueMessagesResponse) ProtoReflect

func (*PeekQueueMessagesResponse) Reset

func (x *PeekQueueMessagesResponse) Reset()

func (*PeekQueueMessagesResponse) String

func (x *PeekQueueMessagesResponse) String() string

type PostMessageRequest

type PostMessageRequest struct {
	QueueName string       `protobuf:"bytes,1,opt,name=queue_name,json=queueName,proto3" json:"queue_name,omitempty"`
	Message   *v11.Message `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

Post a message to the queue

func (*PostMessageRequest) Descriptor deprecated

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

Deprecated: Use PostMessageRequest.ProtoReflect.Descriptor instead.

func (*PostMessageRequest) GetMessage

func (x *PostMessageRequest) GetMessage() *v11.Message

func (*PostMessageRequest) GetQueueName

func (x *PostMessageRequest) GetQueueName() string

func (*PostMessageRequest) ProtoMessage

func (*PostMessageRequest) ProtoMessage()

func (*PostMessageRequest) ProtoReflect

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

func (*PostMessageRequest) Reset

func (x *PostMessageRequest) Reset()

func (*PostMessageRequest) String

func (x *PostMessageRequest) String() string

type PostMessageResponse

type PostMessageResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*PostMessageResponse) Descriptor deprecated

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

Deprecated: Use PostMessageResponse.ProtoReflect.Descriptor instead.

func (*PostMessageResponse) GetSuccess

func (x *PostMessageResponse) GetSuccess() bool

func (*PostMessageResponse) ProtoMessage

func (*PostMessageResponse) ProtoMessage()

func (*PostMessageResponse) ProtoReflect

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

func (*PostMessageResponse) Reset

func (x *PostMessageResponse) Reset()

func (*PostMessageResponse) String

func (x *PostMessageResponse) String() string

type PreviewCalendarScheduleRequest

type PreviewCalendarScheduleRequest struct {
	CalendarSchedule *v12.CalendarSchedule `protobuf:"bytes,1,opt,name=calendar_schedule,json=calendarSchedule,proto3" json:"calendar_schedule,omitempty"`
	Count            int32                 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` // Number of execution times to preview (default: 10, max: 100)
	// contains filtered or unexported fields
}

Preview upcoming execution times for a calendar schedule

func (*PreviewCalendarScheduleRequest) Descriptor deprecated

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

Deprecated: Use PreviewCalendarScheduleRequest.ProtoReflect.Descriptor instead.

func (*PreviewCalendarScheduleRequest) GetCalendarSchedule

func (x *PreviewCalendarScheduleRequest) GetCalendarSchedule() *v12.CalendarSchedule

func (*PreviewCalendarScheduleRequest) GetCount

func (x *PreviewCalendarScheduleRequest) GetCount() int32

func (*PreviewCalendarScheduleRequest) ProtoMessage

func (*PreviewCalendarScheduleRequest) ProtoMessage()

func (*PreviewCalendarScheduleRequest) ProtoReflect

func (*PreviewCalendarScheduleRequest) Reset

func (x *PreviewCalendarScheduleRequest) Reset()

func (*PreviewCalendarScheduleRequest) String

type PreviewCalendarScheduleResponse

type PreviewCalendarScheduleResponse struct {
	ExecutionTimes []*timestamppb.Timestamp `protobuf:"bytes,1,rep,name=execution_times,json=executionTimes,proto3" json:"execution_times,omitempty"`
	Timezone       string                   `protobuf:"bytes,2,opt,name=timezone,proto3" json:"timezone,omitempty"`
	PreviewStart   *timestamppb.Timestamp   `protobuf:"bytes,3,opt,name=preview_start,json=previewStart,proto3" json:"preview_start,omitempty"`
	TotalCount     int32                    `protobuf:"varint,4,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// contains filtered or unexported fields
}

func (*PreviewCalendarScheduleResponse) Descriptor deprecated

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

Deprecated: Use PreviewCalendarScheduleResponse.ProtoReflect.Descriptor instead.

func (*PreviewCalendarScheduleResponse) GetExecutionTimes

func (x *PreviewCalendarScheduleResponse) GetExecutionTimes() []*timestamppb.Timestamp

func (*PreviewCalendarScheduleResponse) GetPreviewStart

func (*PreviewCalendarScheduleResponse) GetTimezone

func (x *PreviewCalendarScheduleResponse) GetTimezone() string

func (*PreviewCalendarScheduleResponse) GetTotalCount

func (x *PreviewCalendarScheduleResponse) GetTotalCount() int32

func (*PreviewCalendarScheduleResponse) ProtoMessage

func (*PreviewCalendarScheduleResponse) ProtoMessage()

func (*PreviewCalendarScheduleResponse) ProtoReflect

func (*PreviewCalendarScheduleResponse) Reset

func (*PreviewCalendarScheduleResponse) String

type PurgeDLQRequest

type PurgeDLQRequest struct {
	DlqName string `protobuf:"bytes,1,opt,name=dlq_name,json=dlqName,proto3" json:"dlq_name,omitempty"`
	// contains filtered or unexported fields
}

Purge all messages from DLQ

func (*PurgeDLQRequest) Descriptor deprecated

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

Deprecated: Use PurgeDLQRequest.ProtoReflect.Descriptor instead.

func (*PurgeDLQRequest) GetDlqName

func (x *PurgeDLQRequest) GetDlqName() string

func (*PurgeDLQRequest) ProtoMessage

func (*PurgeDLQRequest) ProtoMessage()

func (*PurgeDLQRequest) ProtoReflect

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

func (*PurgeDLQRequest) Reset

func (x *PurgeDLQRequest) Reset()

func (*PurgeDLQRequest) String

func (x *PurgeDLQRequest) String() string

type PurgeDLQResponse

type PurgeDLQResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*PurgeDLQResponse) Descriptor deprecated

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

Deprecated: Use PurgeDLQResponse.ProtoReflect.Descriptor instead.

func (*PurgeDLQResponse) GetSuccess

func (x *PurgeDLQResponse) GetSuccess() bool

func (*PurgeDLQResponse) ProtoMessage

func (*PurgeDLQResponse) ProtoMessage()

func (*PurgeDLQResponse) ProtoReflect

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

func (*PurgeDLQResponse) Reset

func (x *PurgeDLQResponse) Reset()

func (*PurgeDLQResponse) String

func (x *PurgeDLQResponse) String() string

type QueueServiceClient

type QueueServiceClient interface {
	// CreateQueue creates a new queue with specified configuration.
	//
	// Use to:
	// - Define retry behavior (max_attempts, lease_duration)
	// - Set up dead letter queue for failed messages
	// - Configure priority handling
	// - Enforce message schemas
	//
	// Example:
	//
	//	POST /v1/queues
	//	{
	//	  "queue": {
	//	    "name": "order-processing",
	//	    "metadata": {
	//	      "default_max_attempts": 3,
	//	      "lease_duration": "5m",
	//	      "dead_letter_queue_name": "order-dlq",
	//	      "auto_create_dlq": true
	//	    }
	//	  }
	//	}
	//
	// Returns: Queue details
	// Errors:
	//   - AlreadyExists: Queue with this name exists
	//   - InvalidArgument: Invalid configuration (negative lease_duration, etc.)
	CreateQueue(ctx context.Context, in *CreateQueueRequest, opts ...grpc.CallOption) (*CreateQueueResponse, error)
	// DeleteQueue permanently deletes a queue and all its messages.
	//
	// WARNING: This operation is irreversible. All pending and running messages are lost.
	//
	// Use when:
	// - Decommissioning a feature
	// - Cleaning up test queues
	// - Removing unused queues
	//
	// Best practice: Drain queue first (stop posting, wait for workers to finish).
	//
	// Example:
	//
	//	DELETE /v1/queues/order-processing
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Queue doesn't exist
	DeleteQueue(ctx context.Context, in *DeleteQueueRequest, opts ...grpc.CallOption) (*DeleteQueueResponse, error)
	// ListQueues returns all queues in your ChronoQueue instance.
	//
	// Use for:
	// - Monitoring dashboards
	// - Queue discovery
	// - Debugging
	//
	// Example:
	//
	//	GET /v1/queues
	//
	// Returns: List of Queue objects with metadata
	ListQueues(ctx context.Context, in *ListQueuesRequest, opts ...grpc.CallOption) (*ListQueuesResponse, error)
	// GetQueueState returns current queue statistics and health.
	//
	// Provides:
	// - Message counts by state (PENDING, RUNNING, COMPLETED, ERRORED)
	// - Rate metrics (messages/sec, processing time)
	// - DLQ size
	//
	// Use for:
	// - Health checks
	// - Autoscaling decisions (scale workers based on PENDING count)
	// - Alerting (high ERRORED count, DLQ growth)
	//
	// Example:
	//
	//	GET /v1/queues/order-processing/state
	//	Response:
	//	{
	//	  "pending_count": 150,
	//	  "running_count": 10,
	//	  "completed_count": 5420,
	//	  "errored_count": 3,
	//	  "dlq_count": 2
	//	}
	//
	// Returns: QueueState with counts and metrics
	GetQueueState(ctx context.Context, in *GetQueueStateRequest, opts ...grpc.CallOption) (*GetQueueStateResponse, error)
	// PostMessage adds a new message to a queue.
	//
	// Use for:
	// - Asynchronous task execution
	// - Event-driven workflows
	// - Job scheduling
	// - Load leveling
	//
	// Features:
	// - Delayed execution (scheduled_time)
	// - Priority ordering
	// - Schema validation
	// - Deduplication (idempotency_key)
	// - Exclusive processing (exclusivity_key)
	//
	// Example - immediate execution:
	//
	//	POST /v1/queues/order-processing/messages
	//	{
	//	  "message": {
	//	    "metadata": {
	//	      "payload": {"data": "..."},
	//	      "priority": 100
	//	    }
	//	  }
	//	}
	//
	// Example - delayed execution (send email in 1 hour):
	//
	//	{
	//	  "message": {
	//	    "metadata": {
	//	      "payload": {"data": "..."},
	//	      "scheduled_time": "2024-12-01T15:00:00Z"
	//	    }
	//	  }
	//	}
	//
	// Returns: Message with assigned message_id
	// Errors:
	//   - NotFound: Queue doesn't exist
	//   - InvalidArgument: Schema validation failed, invalid scheduled_time
	//   - AlreadyExists: Duplicate idempotency_key (within dedup window)
	PostMessage(ctx context.Context, in *PostMessageRequest, opts ...grpc.CallOption) (*PostMessageResponse, error)
	// GetNextMessage retrieves the next available message for processing.
	//
	// This is the primary worker API. Call in a loop to continuously process messages.
	//
	// Behavior:
	// - Returns highest priority PENDING message
	// - Message moves to RUNNING state
	// - Lease timer starts (worker has lease_duration to process)
	// - If lease expires without ACK → message returns to PENDING for retry
	//
	// Concurrency:
	// - Multiple workers can call simultaneously
	// - Each worker gets a different message (no duplicates)
	// - Use exclusivity_key for single-threaded processing of related messages
	//
	// Example worker loop:
	//
	//	for {
	//	    resp := client.GetNextMessage(ctx, &GetNextMessageRequest{
	//	        QueueName: "order-processing",
	//	        LeaseDuration: durationpb.New(5 * time.Minute),
	//	    })
	//	    if resp.Message == nil {
	//	        time.Sleep(1 * time.Second)  // No messages available
	//	        continue
	//	    }
	//
	//	    err := processMessage(resp.Message)
	//	    if err != nil {
	//	        // Let lease expire → automatic retry
	//	        continue
	//	    }
	//
	//	    client.AcknowledgeMessage(ctx, &AcknowledgeMessageRequest{
	//	        QueueName: "order-processing",
	//	        MessageId: resp.Message.MessageId,
	//	    })
	//	}
	//
	// Returns: Message (or empty if no messages available)
	// Errors:
	//   - NotFound: Queue doesn't exist
	GetNextMessage(ctx context.Context, in *GetNextMessageRequest, opts ...grpc.CallOption) (*GetNextMessageResponse, error)
	// AcknowledgeMessage marks a message as successfully processed.
	//
	// Call this after successfully processing a message retrieved by GetNextMessage.
	//
	// Effects:
	// - Message moves to COMPLETED state
	// - Message removed from queue
	// - Queue stats updated
	//
	// Important: You must ACK within the lease_duration, or the message returns
	// to PENDING and may be delivered to another worker.
	//
	// Example:
	//
	//	POST /v1/queues/order-processing/messages/msg-123:acknowledge
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Message doesn't exist or already acknowledged
	//   - DeadlineExceeded: Lease already expired
	AcknowledgeMessage(ctx context.Context, in *AcknowledgeMessageRequest, opts ...grpc.CallOption) (*AcknowledgeMessageResponse, error)
	// RenewMessageLease extends the processing time for a message.
	//
	// Use when:
	// - Processing takes longer than expected
	// - Long-running batch operations
	// - External API calls with unpredictable latency
	//
	// Call periodically during processing to prevent lease expiration.
	//
	// Example pattern (heartbeat-style lease renewal):
	//
	//	msg := getNextMessage()
	//	done := make(chan bool)
	//
	//	go func() {
	//	    ticker := time.NewTicker(leaseDuration / 2)
	//	    defer ticker.Stop()
	//	    for {
	//	        select {
	//	        case <-ticker.C:
	//	            renewMessageLease(msg.MessageId)
	//	        case <-done:
	//	            return
	//	        }
	//	    }
	//	}()
	//
	//	processMessage(msg)
	//	close(done)
	//	acknowledgeMessage(msg.MessageId)
	//
	// Returns: Updated message with new lease expiration
	// Errors:
	//   - NotFound: Message doesn't exist or already completed
	//   - FailedPrecondition: Message not in RUNNING state
	RenewMessageLease(ctx context.Context, in *RenewMessageLeaseRequest, opts ...grpc.CallOption) (*RenewMessageLeaseResponse, error)
	// PeekQueueMessages views messages without leasing them.
	//
	// Use for:
	// - Debugging (inspect message payloads)
	// - Monitoring (see what's pending)
	// - Admin dashboards
	//
	// Does NOT:
	// - Change message state
	// - Create leases
	// - Affect message ordering
	//
	// Example:
	//
	//	GET /v1/queues/order-processing/messages:peek?count=10
	//
	// Returns: List of messages (up to requested count)
	PeekQueueMessages(ctx context.Context, in *PeekQueueMessagesRequest, opts ...grpc.CallOption) (*PeekQueueMessagesResponse, error)
	// SendMessageHeartBeat indicates a worker is still processing a message.
	//
	// Alternative to RenewMessageLease with similar purpose but lighter weight.
	// Useful for tracking worker health without extending lease.
	//
	// Example:
	//
	//	POST /v1/queues/order-processing/messages:heartbeat
	//	{
	//	  "message_ids": ["msg-123", "msg-456"]
	//	}
	//
	// Returns: Empty response
	SendMessageHeartBeat(ctx context.Context, in *SendMessageHeartBeatRequest, opts ...grpc.CallOption) (*SendMessageHeartBeatResponse, error)
	// CreateSchedule creates a recurring message posting schedule.
	//
	// Use for:
	// - Cron-style job scheduling (daily reports, hourly cleanup)
	// - Business calendar scheduling (first business day of month)
	// - Recurring notifications (reminders, alerts)
	// - Periodic batch processing
	//
	// Supports:
	// - Simple cron expressions: "0 9 * * 1-5" (weekdays at 9 AM)
	// - Complex calendar rules: "last Friday of each quarter"
	// - Timezone-aware scheduling
	// - Holiday handling
	//
	// Example - daily report at 8 AM EST:
	//
	//	POST /v1/schedules
	//	{
	//	  "schedule": {
	//	    "schedule_id": "daily-sales-report",
	//	    "metadata": {
	//	      "cron_schedule": "0 8 * * *",
	//	      "timezone": "America/New_York",
	//	      "queue_name": "reports",
	//	      "payload": {...}
	//	    }
	//	  }
	//	}
	//
	// Returns: Created schedule with next_run time
	// Errors:
	//   - AlreadyExists: schedule_id already in use
	//   - InvalidArgument: Invalid cron expression or calendar rule
	CreateSchedule(ctx context.Context, in *CreateScheduleRequest, opts ...grpc.CallOption) (*CreateScheduleResponse, error)
	// DeleteSchedule permanently removes a schedule.
	//
	// Effects:
	// - Schedule stops creating new messages
	// - Existing messages already posted remain in queue
	// - Schedule history is preserved
	//
	// Example:
	//
	//	DELETE /v1/schedules/daily-sales-report
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Schedule doesn't exist
	DeleteSchedule(ctx context.Context, in *DeleteScheduleRequest, opts ...grpc.CallOption) (*DeleteScheduleResponse, error)
	// GetSchedule retrieves schedule details and current state.
	//
	// Returns:
	// - Schedule configuration
	// - Current state (SCHEDULED, PAUSED, CANCELED, ERRORED)
	// - Next execution time
	// - Last execution time
	// - Execution count
	//
	// Example:
	//
	//	GET /v1/schedules/daily-sales-report
	//
	// Returns: Schedule object
	// Errors:
	//   - NotFound: Schedule doesn't exist
	GetSchedule(ctx context.Context, in *GetScheduleRequest, opts ...grpc.CallOption) (*GetScheduleResponse, error)
	// ListSchedules returns all schedules.
	//
	// Use for:
	// - Admin dashboards
	// - Monitoring active schedules
	// - Discovering schedules
	//
	// Example:
	//
	//	GET /v1/schedules
	//
	// Returns: List of Schedule objects
	ListSchedules(ctx context.Context, in *ListSchedulesRequest, opts ...grpc.CallOption) (*ListSchedulesResponse, error)
	// GetScheduleHistory returns execution history for a schedule.
	//
	// Shows:
	// - Past executions with timestamps
	// - Messages created by each execution
	// - Success/failure status
	//
	// Use for:
	// - Debugging missed executions
	// - Auditing schedule activity
	// - Verifying schedule correctness
	//
	// Example:
	//
	//	GET /v1/schedules/daily-sales-report/history
	//
	// Returns: ScheduleHistory with execution records
	GetScheduleHistory(ctx context.Context, in *GetScheduleHistoryRequest, opts ...grpc.CallOption) (*GetScheduleHistoryResponse, error)
	// PauseSchedule temporarily stops a schedule from creating messages.
	//
	// Use when:
	// - Temporarily disabling a feature
	// - During maintenance windows
	// - Debugging issues
	//
	// Effects:
	// - Schedule state → PAUSED
	// - No new messages created
	// - Can be resumed later with ResumeSchedule
	//
	// Example:
	//
	//	POST /v1/schedules/daily-sales-report:pause
	//
	// Returns: Updated schedule
	// Errors:
	//   - NotFound: Schedule doesn't exist
	PauseSchedule(ctx context.Context, in *PauseScheduleRequest, opts ...grpc.CallOption) (*PauseScheduleResponse, error)
	// ResumeSchedule reactivates a paused schedule.
	//
	// Effects:
	// - Schedule state → SCHEDULED
	// - Resumes creating messages on next scheduled time
	// - Does NOT backfill missed executions during pause
	//
	// Example:
	//
	//	POST /v1/schedules/daily-sales-report:resume
	//
	// Returns: Updated schedule with next_run
	// Errors:
	//   - NotFound: Schedule doesn't exist
	//   - FailedPrecondition: Schedule not in PAUSED state
	ResumeSchedule(ctx context.Context, in *ResumeScheduleRequest, opts ...grpc.CallOption) (*ResumeScheduleResponse, error)
	// GetDLQMessages retrieves messages from a dead letter queue.
	//
	// Dead letter queues contain:
	// - Messages that exhausted retry attempts
	// - Messages that caused persistent errors
	// - Messages rejected by workers
	//
	// Use for:
	// - Investigating failures
	// - Manual reprocessing after fixing bugs
	// - Identifying systematic issues
	//
	// Example:
	//
	//	GET /v1/dlq/order-dlq/messages?limit=50
	//
	// Returns: List of failed messages with error details
	GetDLQMessages(ctx context.Context, in *GetDLQMessagesRequest, opts ...grpc.CallOption) (*GetDLQMessagesResponse, error)
	// RequeueFromDLQ moves a message from DLQ back to its original queue.
	//
	// Use after:
	// - Fixing bugs that caused failures
	// - Resolving external service outages
	// - Correcting data issues
	//
	// Effects:
	// - Message removed from DLQ
	// - Message added back to original queue as PENDING
	// - attempts_left reset (or set to specified value)
	//
	// Example:
	//
	//	POST /v1/dlq/order-dlq/messages/msg-123:requeue
	//	{
	//	  "max_attempts": 3  // Give it 3 more tries
	//	}
	//
	// Returns: Requeued message
	// Errors:
	//   - NotFound: Message not in DLQ
	RequeueFromDLQ(ctx context.Context, in *RequeueFromDLQRequest, opts ...grpc.CallOption) (*RequeueFromDLQResponse, error)
	// DeleteFromDLQ permanently removes a message from the DLQ.
	//
	// Use when:
	// - Message is not recoverable
	// - Data is no longer relevant
	// - Cleaning up test data
	//
	// WARNING: This is permanent. Message cannot be recovered.
	//
	// Example:
	//
	//	DELETE /v1/dlq/order-dlq/messages/msg-123
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Message not in DLQ
	DeleteFromDLQ(ctx context.Context, in *DeleteFromDLQRequest, opts ...grpc.CallOption) (*DeleteFromDLQResponse, error)
	// PurgeDLQ removes all messages from a dead letter queue.
	//
	// Use when:
	// - Cleaning up after incident
	// - Clearing test data
	// - DLQ too large to manage individually
	//
	// WARNING: This is irreversible. All DLQ messages are permanently deleted.
	//
	// Example:
	//
	//	POST /v1/dlq/order-dlq:purge
	//
	// Returns: Count of deleted messages
	PurgeDLQ(ctx context.Context, in *PurgeDLQRequest, opts ...grpc.CallOption) (*PurgeDLQResponse, error)
	// GetDLQStats returns statistics about a dead letter queue.
	//
	// Provides:
	// - Message count
	// - Age of oldest message
	// - Common error types
	// - Failure rate trends
	//
	// Use for:
	// - Monitoring DLQ health
	// - Alerting on DLQ growth
	// - Identifying systemic issues
	//
	// Example:
	//
	//	GET /v1/dlq/order-dlq/stats
	//
	// Returns: DLQ statistics
	GetDLQStats(ctx context.Context, in *GetDLQStatsRequest, opts ...grpc.CallOption) (*GetDLQStatsResponse, error)
	// ValidateCalendarSchedule checks if a calendar schedule is valid.
	//
	// Validates:
	// - Cron expression syntax
	// - Calendar rule correctness
	// - Timezone validity
	// - Holiday rule logic
	//
	// Use before CreateSchedule to catch configuration errors.
	//
	// Example:
	//
	//	POST /v1/calendar-schedules:validate
	//	{
	//	  "calendar_schedule": {...}
	//	}
	//
	// Returns: Validation result with errors if invalid
	ValidateCalendarSchedule(ctx context.Context, in *ValidateCalendarScheduleRequest, opts ...grpc.CallOption) (*ValidateCalendarScheduleResponse, error)
	// PreviewCalendarSchedule shows next N execution times for a schedule.
	//
	// Use to:
	// - Verify schedule behaves as expected
	// - Test complex calendar rules
	// - Confirm timezone handling
	// - Preview holiday exceptions
	//
	// Example:
	//
	//	POST /v1/calendar-schedules:preview
	//	{
	//	  "calendar_schedule": {...},
	//	  "count": 10  // Next 10 executions
	//	}
	//
	//	Response:
	//	{
	//	  "next_runs": [
	//	    "2024-01-02T09:00:00Z",
	//	    "2024-01-03T09:00:00Z",
	//	    "2024-01-04T09:00:00Z",
	//	    ...
	//	  ]
	//	}
	//
	// Returns: List of upcoming execution timestamps
	PreviewCalendarSchedule(ctx context.Context, in *PreviewCalendarScheduleRequest, opts ...grpc.CallOption) (*PreviewCalendarScheduleResponse, error)
	// RegisterSchema creates or updates a message validation schema.
	//
	// Use for:
	// - Enforcing message structure
	// - API contract validation
	// - Data quality checks
	// - Type safety
	//
	// Schema versioning:
	// - Each schema has a schema_id and version number
	// - Multiple versions can coexist
	// - Queues reference schema_id (use highest active version)
	//
	// Example:
	//
	//	POST /v1/schemas
	//	{
	//	  "schema": {
	//	    "schema_id": "order-schema",
	//	    "version": 2,
	//	    "content": "{...JSON Schema...}",
	//	    "content_type": "json-schema"
	//	  }
	//	}
	//
	// Returns: Registered schema
	// Errors:
	//   - AlreadyExists: schema_id + version already exists
	//   - InvalidArgument: Invalid schema syntax
	RegisterSchema(ctx context.Context, in *RegisterSchemaRequest, opts ...grpc.CallOption) (*RegisterSchemaResponse, error)
	// GetSchema retrieves a specific schema version.
	//
	// Example:
	//
	//	GET /v1/schemas/order-schema/versions/2
	//
	// Returns: Schema details
	// Errors:
	//   - NotFound: Schema not found
	GetSchema(ctx context.Context, in *GetSchemaRequest, opts ...grpc.CallOption) (*GetSchemaResponse, error)
	// ListSchemas returns all registered schemas.
	//
	// Use for:
	// - Schema discovery
	// - Admin dashboards
	// - Schema management
	//
	// Example:
	//
	//	GET /v1/schemas
	//
	// Returns: List of schemas (all versions)
	ListSchemas(ctx context.Context, in *ListSchemasRequest, opts ...grpc.CallOption) (*ListSchemasResponse, error)
	// DeleteSchema removes a schema version.
	//
	// Effects:
	// - Schema version deleted
	// - Queues using this schema will fail validation
	//
	// Best practice: Mark schema as inactive (is_active = false) instead
	// of deleting to preserve validation history.
	//
	// Example:
	//
	//	DELETE /v1/schemas/order-schema/versions/1
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Schema not found
	//   - FailedPrecondition: Schema in use by active queues
	DeleteSchema(ctx context.Context, in *DeleteSchemaRequest, opts ...grpc.CallOption) (*DeleteSchemaResponse, error)
	// ValidatePayload validates a payload against a schema without posting a message.
	//
	// Use for:
	// - Pre-flight validation
	// - Testing schema changes
	// - Client-side validation
	// - Development/debugging
	//
	// Example:
	//
	//	POST /v1/schemas/order-schema/versions/2:validate
	//	{
	//	  "payload": {
	//	    "data": "{\"orderId\": \"ORD-123\", ...}"
	//	  }
	//	}
	//
	// Returns: ValidationResult (valid=true or list of errors)
	ValidatePayload(ctx context.Context, in *ValidatePayloadRequest, opts ...grpc.CallOption) (*ValidatePayloadResponse, error)
}

QueueServiceClient is the client API for QueueService 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.

QueueService is the primary API for interacting with ChronoQueue.

This service provides: - Queue lifecycle management - Message posting and consumption - Scheduled task automation - Dead letter queue handling - Schema-based validation

Example - Basic message flow:

  1. CreateQueue: Set up a queue with retry/DLQ configuration
  2. PostMessage: Add messages to the queue
  3. GetNextMessage: Workers retrieve messages for processing
  4. AcknowledgeMessage: Mark message as successfully processed OR let lease expire → message returns to queue for retry
  5. After max_attempts exhausted → message moves to DLQ

gRPC vs REST: - gRPC: Preferred for high-throughput, low-latency scenarios - REST: Convenient for browser/curl access, debugging, simple integrations

Error handling: - Use gRPC status codes (InvalidArgument, NotFound, AlreadyExists, etc.) - Error details in status.Details() for validation errors

type QueueServiceServer

type QueueServiceServer interface {
	// CreateQueue creates a new queue with specified configuration.
	//
	// Use to:
	// - Define retry behavior (max_attempts, lease_duration)
	// - Set up dead letter queue for failed messages
	// - Configure priority handling
	// - Enforce message schemas
	//
	// Example:
	//
	//	POST /v1/queues
	//	{
	//	  "queue": {
	//	    "name": "order-processing",
	//	    "metadata": {
	//	      "default_max_attempts": 3,
	//	      "lease_duration": "5m",
	//	      "dead_letter_queue_name": "order-dlq",
	//	      "auto_create_dlq": true
	//	    }
	//	  }
	//	}
	//
	// Returns: Queue details
	// Errors:
	//   - AlreadyExists: Queue with this name exists
	//   - InvalidArgument: Invalid configuration (negative lease_duration, etc.)
	CreateQueue(context.Context, *CreateQueueRequest) (*CreateQueueResponse, error)
	// DeleteQueue permanently deletes a queue and all its messages.
	//
	// WARNING: This operation is irreversible. All pending and running messages are lost.
	//
	// Use when:
	// - Decommissioning a feature
	// - Cleaning up test queues
	// - Removing unused queues
	//
	// Best practice: Drain queue first (stop posting, wait for workers to finish).
	//
	// Example:
	//
	//	DELETE /v1/queues/order-processing
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Queue doesn't exist
	DeleteQueue(context.Context, *DeleteQueueRequest) (*DeleteQueueResponse, error)
	// ListQueues returns all queues in your ChronoQueue instance.
	//
	// Use for:
	// - Monitoring dashboards
	// - Queue discovery
	// - Debugging
	//
	// Example:
	//
	//	GET /v1/queues
	//
	// Returns: List of Queue objects with metadata
	ListQueues(context.Context, *ListQueuesRequest) (*ListQueuesResponse, error)
	// GetQueueState returns current queue statistics and health.
	//
	// Provides:
	// - Message counts by state (PENDING, RUNNING, COMPLETED, ERRORED)
	// - Rate metrics (messages/sec, processing time)
	// - DLQ size
	//
	// Use for:
	// - Health checks
	// - Autoscaling decisions (scale workers based on PENDING count)
	// - Alerting (high ERRORED count, DLQ growth)
	//
	// Example:
	//
	//	GET /v1/queues/order-processing/state
	//	Response:
	//	{
	//	  "pending_count": 150,
	//	  "running_count": 10,
	//	  "completed_count": 5420,
	//	  "errored_count": 3,
	//	  "dlq_count": 2
	//	}
	//
	// Returns: QueueState with counts and metrics
	GetQueueState(context.Context, *GetQueueStateRequest) (*GetQueueStateResponse, error)
	// PostMessage adds a new message to a queue.
	//
	// Use for:
	// - Asynchronous task execution
	// - Event-driven workflows
	// - Job scheduling
	// - Load leveling
	//
	// Features:
	// - Delayed execution (scheduled_time)
	// - Priority ordering
	// - Schema validation
	// - Deduplication (idempotency_key)
	// - Exclusive processing (exclusivity_key)
	//
	// Example - immediate execution:
	//
	//	POST /v1/queues/order-processing/messages
	//	{
	//	  "message": {
	//	    "metadata": {
	//	      "payload": {"data": "..."},
	//	      "priority": 100
	//	    }
	//	  }
	//	}
	//
	// Example - delayed execution (send email in 1 hour):
	//
	//	{
	//	  "message": {
	//	    "metadata": {
	//	      "payload": {"data": "..."},
	//	      "scheduled_time": "2024-12-01T15:00:00Z"
	//	    }
	//	  }
	//	}
	//
	// Returns: Message with assigned message_id
	// Errors:
	//   - NotFound: Queue doesn't exist
	//   - InvalidArgument: Schema validation failed, invalid scheduled_time
	//   - AlreadyExists: Duplicate idempotency_key (within dedup window)
	PostMessage(context.Context, *PostMessageRequest) (*PostMessageResponse, error)
	// GetNextMessage retrieves the next available message for processing.
	//
	// This is the primary worker API. Call in a loop to continuously process messages.
	//
	// Behavior:
	// - Returns highest priority PENDING message
	// - Message moves to RUNNING state
	// - Lease timer starts (worker has lease_duration to process)
	// - If lease expires without ACK → message returns to PENDING for retry
	//
	// Concurrency:
	// - Multiple workers can call simultaneously
	// - Each worker gets a different message (no duplicates)
	// - Use exclusivity_key for single-threaded processing of related messages
	//
	// Example worker loop:
	//
	//	for {
	//	    resp := client.GetNextMessage(ctx, &GetNextMessageRequest{
	//	        QueueName: "order-processing",
	//	        LeaseDuration: durationpb.New(5 * time.Minute),
	//	    })
	//	    if resp.Message == nil {
	//	        time.Sleep(1 * time.Second)  // No messages available
	//	        continue
	//	    }
	//
	//	    err := processMessage(resp.Message)
	//	    if err != nil {
	//	        // Let lease expire → automatic retry
	//	        continue
	//	    }
	//
	//	    client.AcknowledgeMessage(ctx, &AcknowledgeMessageRequest{
	//	        QueueName: "order-processing",
	//	        MessageId: resp.Message.MessageId,
	//	    })
	//	}
	//
	// Returns: Message (or empty if no messages available)
	// Errors:
	//   - NotFound: Queue doesn't exist
	GetNextMessage(context.Context, *GetNextMessageRequest) (*GetNextMessageResponse, error)
	// AcknowledgeMessage marks a message as successfully processed.
	//
	// Call this after successfully processing a message retrieved by GetNextMessage.
	//
	// Effects:
	// - Message moves to COMPLETED state
	// - Message removed from queue
	// - Queue stats updated
	//
	// Important: You must ACK within the lease_duration, or the message returns
	// to PENDING and may be delivered to another worker.
	//
	// Example:
	//
	//	POST /v1/queues/order-processing/messages/msg-123:acknowledge
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Message doesn't exist or already acknowledged
	//   - DeadlineExceeded: Lease already expired
	AcknowledgeMessage(context.Context, *AcknowledgeMessageRequest) (*AcknowledgeMessageResponse, error)
	// RenewMessageLease extends the processing time for a message.
	//
	// Use when:
	// - Processing takes longer than expected
	// - Long-running batch operations
	// - External API calls with unpredictable latency
	//
	// Call periodically during processing to prevent lease expiration.
	//
	// Example pattern (heartbeat-style lease renewal):
	//
	//	msg := getNextMessage()
	//	done := make(chan bool)
	//
	//	go func() {
	//	    ticker := time.NewTicker(leaseDuration / 2)
	//	    defer ticker.Stop()
	//	    for {
	//	        select {
	//	        case <-ticker.C:
	//	            renewMessageLease(msg.MessageId)
	//	        case <-done:
	//	            return
	//	        }
	//	    }
	//	}()
	//
	//	processMessage(msg)
	//	close(done)
	//	acknowledgeMessage(msg.MessageId)
	//
	// Returns: Updated message with new lease expiration
	// Errors:
	//   - NotFound: Message doesn't exist or already completed
	//   - FailedPrecondition: Message not in RUNNING state
	RenewMessageLease(context.Context, *RenewMessageLeaseRequest) (*RenewMessageLeaseResponse, error)
	// PeekQueueMessages views messages without leasing them.
	//
	// Use for:
	// - Debugging (inspect message payloads)
	// - Monitoring (see what's pending)
	// - Admin dashboards
	//
	// Does NOT:
	// - Change message state
	// - Create leases
	// - Affect message ordering
	//
	// Example:
	//
	//	GET /v1/queues/order-processing/messages:peek?count=10
	//
	// Returns: List of messages (up to requested count)
	PeekQueueMessages(context.Context, *PeekQueueMessagesRequest) (*PeekQueueMessagesResponse, error)
	// SendMessageHeartBeat indicates a worker is still processing a message.
	//
	// Alternative to RenewMessageLease with similar purpose but lighter weight.
	// Useful for tracking worker health without extending lease.
	//
	// Example:
	//
	//	POST /v1/queues/order-processing/messages:heartbeat
	//	{
	//	  "message_ids": ["msg-123", "msg-456"]
	//	}
	//
	// Returns: Empty response
	SendMessageHeartBeat(context.Context, *SendMessageHeartBeatRequest) (*SendMessageHeartBeatResponse, error)
	// CreateSchedule creates a recurring message posting schedule.
	//
	// Use for:
	// - Cron-style job scheduling (daily reports, hourly cleanup)
	// - Business calendar scheduling (first business day of month)
	// - Recurring notifications (reminders, alerts)
	// - Periodic batch processing
	//
	// Supports:
	// - Simple cron expressions: "0 9 * * 1-5" (weekdays at 9 AM)
	// - Complex calendar rules: "last Friday of each quarter"
	// - Timezone-aware scheduling
	// - Holiday handling
	//
	// Example - daily report at 8 AM EST:
	//
	//	POST /v1/schedules
	//	{
	//	  "schedule": {
	//	    "schedule_id": "daily-sales-report",
	//	    "metadata": {
	//	      "cron_schedule": "0 8 * * *",
	//	      "timezone": "America/New_York",
	//	      "queue_name": "reports",
	//	      "payload": {...}
	//	    }
	//	  }
	//	}
	//
	// Returns: Created schedule with next_run time
	// Errors:
	//   - AlreadyExists: schedule_id already in use
	//   - InvalidArgument: Invalid cron expression or calendar rule
	CreateSchedule(context.Context, *CreateScheduleRequest) (*CreateScheduleResponse, error)
	// DeleteSchedule permanently removes a schedule.
	//
	// Effects:
	// - Schedule stops creating new messages
	// - Existing messages already posted remain in queue
	// - Schedule history is preserved
	//
	// Example:
	//
	//	DELETE /v1/schedules/daily-sales-report
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Schedule doesn't exist
	DeleteSchedule(context.Context, *DeleteScheduleRequest) (*DeleteScheduleResponse, error)
	// GetSchedule retrieves schedule details and current state.
	//
	// Returns:
	// - Schedule configuration
	// - Current state (SCHEDULED, PAUSED, CANCELED, ERRORED)
	// - Next execution time
	// - Last execution time
	// - Execution count
	//
	// Example:
	//
	//	GET /v1/schedules/daily-sales-report
	//
	// Returns: Schedule object
	// Errors:
	//   - NotFound: Schedule doesn't exist
	GetSchedule(context.Context, *GetScheduleRequest) (*GetScheduleResponse, error)
	// ListSchedules returns all schedules.
	//
	// Use for:
	// - Admin dashboards
	// - Monitoring active schedules
	// - Discovering schedules
	//
	// Example:
	//
	//	GET /v1/schedules
	//
	// Returns: List of Schedule objects
	ListSchedules(context.Context, *ListSchedulesRequest) (*ListSchedulesResponse, error)
	// GetScheduleHistory returns execution history for a schedule.
	//
	// Shows:
	// - Past executions with timestamps
	// - Messages created by each execution
	// - Success/failure status
	//
	// Use for:
	// - Debugging missed executions
	// - Auditing schedule activity
	// - Verifying schedule correctness
	//
	// Example:
	//
	//	GET /v1/schedules/daily-sales-report/history
	//
	// Returns: ScheduleHistory with execution records
	GetScheduleHistory(context.Context, *GetScheduleHistoryRequest) (*GetScheduleHistoryResponse, error)
	// PauseSchedule temporarily stops a schedule from creating messages.
	//
	// Use when:
	// - Temporarily disabling a feature
	// - During maintenance windows
	// - Debugging issues
	//
	// Effects:
	// - Schedule state → PAUSED
	// - No new messages created
	// - Can be resumed later with ResumeSchedule
	//
	// Example:
	//
	//	POST /v1/schedules/daily-sales-report:pause
	//
	// Returns: Updated schedule
	// Errors:
	//   - NotFound: Schedule doesn't exist
	PauseSchedule(context.Context, *PauseScheduleRequest) (*PauseScheduleResponse, error)
	// ResumeSchedule reactivates a paused schedule.
	//
	// Effects:
	// - Schedule state → SCHEDULED
	// - Resumes creating messages on next scheduled time
	// - Does NOT backfill missed executions during pause
	//
	// Example:
	//
	//	POST /v1/schedules/daily-sales-report:resume
	//
	// Returns: Updated schedule with next_run
	// Errors:
	//   - NotFound: Schedule doesn't exist
	//   - FailedPrecondition: Schedule not in PAUSED state
	ResumeSchedule(context.Context, *ResumeScheduleRequest) (*ResumeScheduleResponse, error)
	// GetDLQMessages retrieves messages from a dead letter queue.
	//
	// Dead letter queues contain:
	// - Messages that exhausted retry attempts
	// - Messages that caused persistent errors
	// - Messages rejected by workers
	//
	// Use for:
	// - Investigating failures
	// - Manual reprocessing after fixing bugs
	// - Identifying systematic issues
	//
	// Example:
	//
	//	GET /v1/dlq/order-dlq/messages?limit=50
	//
	// Returns: List of failed messages with error details
	GetDLQMessages(context.Context, *GetDLQMessagesRequest) (*GetDLQMessagesResponse, error)
	// RequeueFromDLQ moves a message from DLQ back to its original queue.
	//
	// Use after:
	// - Fixing bugs that caused failures
	// - Resolving external service outages
	// - Correcting data issues
	//
	// Effects:
	// - Message removed from DLQ
	// - Message added back to original queue as PENDING
	// - attempts_left reset (or set to specified value)
	//
	// Example:
	//
	//	POST /v1/dlq/order-dlq/messages/msg-123:requeue
	//	{
	//	  "max_attempts": 3  // Give it 3 more tries
	//	}
	//
	// Returns: Requeued message
	// Errors:
	//   - NotFound: Message not in DLQ
	RequeueFromDLQ(context.Context, *RequeueFromDLQRequest) (*RequeueFromDLQResponse, error)
	// DeleteFromDLQ permanently removes a message from the DLQ.
	//
	// Use when:
	// - Message is not recoverable
	// - Data is no longer relevant
	// - Cleaning up test data
	//
	// WARNING: This is permanent. Message cannot be recovered.
	//
	// Example:
	//
	//	DELETE /v1/dlq/order-dlq/messages/msg-123
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Message not in DLQ
	DeleteFromDLQ(context.Context, *DeleteFromDLQRequest) (*DeleteFromDLQResponse, error)
	// PurgeDLQ removes all messages from a dead letter queue.
	//
	// Use when:
	// - Cleaning up after incident
	// - Clearing test data
	// - DLQ too large to manage individually
	//
	// WARNING: This is irreversible. All DLQ messages are permanently deleted.
	//
	// Example:
	//
	//	POST /v1/dlq/order-dlq:purge
	//
	// Returns: Count of deleted messages
	PurgeDLQ(context.Context, *PurgeDLQRequest) (*PurgeDLQResponse, error)
	// GetDLQStats returns statistics about a dead letter queue.
	//
	// Provides:
	// - Message count
	// - Age of oldest message
	// - Common error types
	// - Failure rate trends
	//
	// Use for:
	// - Monitoring DLQ health
	// - Alerting on DLQ growth
	// - Identifying systemic issues
	//
	// Example:
	//
	//	GET /v1/dlq/order-dlq/stats
	//
	// Returns: DLQ statistics
	GetDLQStats(context.Context, *GetDLQStatsRequest) (*GetDLQStatsResponse, error)
	// ValidateCalendarSchedule checks if a calendar schedule is valid.
	//
	// Validates:
	// - Cron expression syntax
	// - Calendar rule correctness
	// - Timezone validity
	// - Holiday rule logic
	//
	// Use before CreateSchedule to catch configuration errors.
	//
	// Example:
	//
	//	POST /v1/calendar-schedules:validate
	//	{
	//	  "calendar_schedule": {...}
	//	}
	//
	// Returns: Validation result with errors if invalid
	ValidateCalendarSchedule(context.Context, *ValidateCalendarScheduleRequest) (*ValidateCalendarScheduleResponse, error)
	// PreviewCalendarSchedule shows next N execution times for a schedule.
	//
	// Use to:
	// - Verify schedule behaves as expected
	// - Test complex calendar rules
	// - Confirm timezone handling
	// - Preview holiday exceptions
	//
	// Example:
	//
	//	POST /v1/calendar-schedules:preview
	//	{
	//	  "calendar_schedule": {...},
	//	  "count": 10  // Next 10 executions
	//	}
	//
	//	Response:
	//	{
	//	  "next_runs": [
	//	    "2024-01-02T09:00:00Z",
	//	    "2024-01-03T09:00:00Z",
	//	    "2024-01-04T09:00:00Z",
	//	    ...
	//	  ]
	//	}
	//
	// Returns: List of upcoming execution timestamps
	PreviewCalendarSchedule(context.Context, *PreviewCalendarScheduleRequest) (*PreviewCalendarScheduleResponse, error)
	// RegisterSchema creates or updates a message validation schema.
	//
	// Use for:
	// - Enforcing message structure
	// - API contract validation
	// - Data quality checks
	// - Type safety
	//
	// Schema versioning:
	// - Each schema has a schema_id and version number
	// - Multiple versions can coexist
	// - Queues reference schema_id (use highest active version)
	//
	// Example:
	//
	//	POST /v1/schemas
	//	{
	//	  "schema": {
	//	    "schema_id": "order-schema",
	//	    "version": 2,
	//	    "content": "{...JSON Schema...}",
	//	    "content_type": "json-schema"
	//	  }
	//	}
	//
	// Returns: Registered schema
	// Errors:
	//   - AlreadyExists: schema_id + version already exists
	//   - InvalidArgument: Invalid schema syntax
	RegisterSchema(context.Context, *RegisterSchemaRequest) (*RegisterSchemaResponse, error)
	// GetSchema retrieves a specific schema version.
	//
	// Example:
	//
	//	GET /v1/schemas/order-schema/versions/2
	//
	// Returns: Schema details
	// Errors:
	//   - NotFound: Schema not found
	GetSchema(context.Context, *GetSchemaRequest) (*GetSchemaResponse, error)
	// ListSchemas returns all registered schemas.
	//
	// Use for:
	// - Schema discovery
	// - Admin dashboards
	// - Schema management
	//
	// Example:
	//
	//	GET /v1/schemas
	//
	// Returns: List of schemas (all versions)
	ListSchemas(context.Context, *ListSchemasRequest) (*ListSchemasResponse, error)
	// DeleteSchema removes a schema version.
	//
	// Effects:
	// - Schema version deleted
	// - Queues using this schema will fail validation
	//
	// Best practice: Mark schema as inactive (is_active = false) instead
	// of deleting to preserve validation history.
	//
	// Example:
	//
	//	DELETE /v1/schemas/order-schema/versions/1
	//
	// Returns: Empty response
	// Errors:
	//   - NotFound: Schema not found
	//   - FailedPrecondition: Schema in use by active queues
	DeleteSchema(context.Context, *DeleteSchemaRequest) (*DeleteSchemaResponse, error)
	// ValidatePayload validates a payload against a schema without posting a message.
	//
	// Use for:
	// - Pre-flight validation
	// - Testing schema changes
	// - Client-side validation
	// - Development/debugging
	//
	// Example:
	//
	//	POST /v1/schemas/order-schema/versions/2:validate
	//	{
	//	  "payload": {
	//	    "data": "{\"orderId\": \"ORD-123\", ...}"
	//	  }
	//	}
	//
	// Returns: ValidationResult (valid=true or list of errors)
	ValidatePayload(context.Context, *ValidatePayloadRequest) (*ValidatePayloadResponse, error)
}

QueueServiceServer is the server API for QueueService service. All implementations should embed UnimplementedQueueServiceServer for forward compatibility.

QueueService is the primary API for interacting with ChronoQueue.

This service provides: - Queue lifecycle management - Message posting and consumption - Scheduled task automation - Dead letter queue handling - Schema-based validation

Example - Basic message flow:

  1. CreateQueue: Set up a queue with retry/DLQ configuration
  2. PostMessage: Add messages to the queue
  3. GetNextMessage: Workers retrieve messages for processing
  4. AcknowledgeMessage: Mark message as successfully processed OR let lease expire → message returns to queue for retry
  5. After max_attempts exhausted → message moves to DLQ

gRPC vs REST: - gRPC: Preferred for high-throughput, low-latency scenarios - REST: Convenient for browser/curl access, debugging, simple integrations

Error handling: - Use gRPC status codes (InvalidArgument, NotFound, AlreadyExists, etc.) - Error details in status.Details() for validation errors

type RegisterSchemaRequest

type RegisterSchemaRequest struct {
	SchemaId    string            `protobuf:"bytes,1,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"`          // Unique schema identifier
	Name        string            `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`                                  // Human-readable schema name
	Description string            `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`                    // Schema description
	Content     string            `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"`                            // JSON Schema content
	ContentType string            `protobuf:"bytes,5,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // Schema type (default: "json-schema")
	Metadata    map[string]string ``                                                                                               // Additional metadata
	/* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

Register a new schema or schema version

func (*RegisterSchemaRequest) Descriptor deprecated

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

Deprecated: Use RegisterSchemaRequest.ProtoReflect.Descriptor instead.

func (*RegisterSchemaRequest) GetContent

func (x *RegisterSchemaRequest) GetContent() string

func (*RegisterSchemaRequest) GetContentType

func (x *RegisterSchemaRequest) GetContentType() string

func (*RegisterSchemaRequest) GetDescription

func (x *RegisterSchemaRequest) GetDescription() string

func (*RegisterSchemaRequest) GetMetadata

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

func (*RegisterSchemaRequest) GetName

func (x *RegisterSchemaRequest) GetName() string

func (*RegisterSchemaRequest) GetSchemaId

func (x *RegisterSchemaRequest) GetSchemaId() string

func (*RegisterSchemaRequest) ProtoMessage

func (*RegisterSchemaRequest) ProtoMessage()

func (*RegisterSchemaRequest) ProtoReflect

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

func (*RegisterSchemaRequest) Reset

func (x *RegisterSchemaRequest) Reset()

func (*RegisterSchemaRequest) String

func (x *RegisterSchemaRequest) String() string

type RegisterSchemaResponse

type RegisterSchemaResponse struct {
	SchemaId  string `protobuf:"bytes,1,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"`     // Schema identifier
	Version   int32  `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`                      // Assigned schema version
	CreatedAt int64  `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // Creation timestamp
	// contains filtered or unexported fields
}

func (*RegisterSchemaResponse) Descriptor deprecated

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

Deprecated: Use RegisterSchemaResponse.ProtoReflect.Descriptor instead.

func (*RegisterSchemaResponse) GetCreatedAt

func (x *RegisterSchemaResponse) GetCreatedAt() int64

func (*RegisterSchemaResponse) GetSchemaId

func (x *RegisterSchemaResponse) GetSchemaId() string

func (*RegisterSchemaResponse) GetVersion

func (x *RegisterSchemaResponse) GetVersion() int32

func (*RegisterSchemaResponse) ProtoMessage

func (*RegisterSchemaResponse) ProtoMessage()

func (*RegisterSchemaResponse) ProtoReflect

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

func (*RegisterSchemaResponse) Reset

func (x *RegisterSchemaResponse) Reset()

func (*RegisterSchemaResponse) String

func (x *RegisterSchemaResponse) String() string

type RenewMessageLeaseRequest

type RenewMessageLeaseRequest struct {
	QueueName     string               `protobuf:"bytes,1,opt,name=queue_name,json=queueName,proto3" json:"queue_name,omitempty"`
	MessageId     string               `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	LeaseDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=lease_duration,json=leaseDuration,proto3" json:"lease_duration,omitempty"`
	// contains filtered or unexported fields
}

Renew lease period of a message

func (*RenewMessageLeaseRequest) Descriptor deprecated

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

Deprecated: Use RenewMessageLeaseRequest.ProtoReflect.Descriptor instead.

func (*RenewMessageLeaseRequest) GetLeaseDuration

func (x *RenewMessageLeaseRequest) GetLeaseDuration() *durationpb.Duration

func (*RenewMessageLeaseRequest) GetMessageId

func (x *RenewMessageLeaseRequest) GetMessageId() string

func (*RenewMessageLeaseRequest) GetQueueName

func (x *RenewMessageLeaseRequest) GetQueueName() string

func (*RenewMessageLeaseRequest) ProtoMessage

func (*RenewMessageLeaseRequest) ProtoMessage()

func (*RenewMessageLeaseRequest) ProtoReflect

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

func (*RenewMessageLeaseRequest) Reset

func (x *RenewMessageLeaseRequest) Reset()

func (*RenewMessageLeaseRequest) String

func (x *RenewMessageLeaseRequest) String() string

type RenewMessageLeaseResponse

type RenewMessageLeaseResponse struct {
	RemainingTime *durationpb.Duration       `protobuf:"bytes,1,opt,name=remaining_time,json=remainingTime,proto3" json:"remaining_time,omitempty"`
	State         v11.Message_Metadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=chronoqueue.api.message.v1.Message_Metadata_State" json:"state,omitempty"`
	// contains filtered or unexported fields
}

func (*RenewMessageLeaseResponse) Descriptor deprecated

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

Deprecated: Use RenewMessageLeaseResponse.ProtoReflect.Descriptor instead.

func (*RenewMessageLeaseResponse) GetRemainingTime

func (x *RenewMessageLeaseResponse) GetRemainingTime() *durationpb.Duration

func (*RenewMessageLeaseResponse) GetState

func (*RenewMessageLeaseResponse) ProtoMessage

func (*RenewMessageLeaseResponse) ProtoMessage()

func (*RenewMessageLeaseResponse) ProtoReflect

func (*RenewMessageLeaseResponse) Reset

func (x *RenewMessageLeaseResponse) Reset()

func (*RenewMessageLeaseResponse) String

func (x *RenewMessageLeaseResponse) String() string

type RequeueFromDLQRequest

type RequeueFromDLQRequest struct {
	DlqName     string `protobuf:"bytes,1,opt,name=dlq_name,json=dlqName,proto3" json:"dlq_name,omitempty"`
	MessageId   string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	TargetQueue string `protobuf:"bytes,3,opt,name=target_queue,json=targetQueue,proto3" json:"target_queue,omitempty"`
	// contains filtered or unexported fields
}

Requeue message from DLQ back to original queue

func (*RequeueFromDLQRequest) Descriptor deprecated

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

Deprecated: Use RequeueFromDLQRequest.ProtoReflect.Descriptor instead.

func (*RequeueFromDLQRequest) GetDlqName

func (x *RequeueFromDLQRequest) GetDlqName() string

func (*RequeueFromDLQRequest) GetMessageId

func (x *RequeueFromDLQRequest) GetMessageId() string

func (*RequeueFromDLQRequest) GetTargetQueue

func (x *RequeueFromDLQRequest) GetTargetQueue() string

func (*RequeueFromDLQRequest) ProtoMessage

func (*RequeueFromDLQRequest) ProtoMessage()

func (*RequeueFromDLQRequest) ProtoReflect

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

func (*RequeueFromDLQRequest) Reset

func (x *RequeueFromDLQRequest) Reset()

func (*RequeueFromDLQRequest) String

func (x *RequeueFromDLQRequest) String() string

type RequeueFromDLQResponse

type RequeueFromDLQResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*RequeueFromDLQResponse) Descriptor deprecated

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

Deprecated: Use RequeueFromDLQResponse.ProtoReflect.Descriptor instead.

func (*RequeueFromDLQResponse) GetSuccess

func (x *RequeueFromDLQResponse) GetSuccess() bool

func (*RequeueFromDLQResponse) ProtoMessage

func (*RequeueFromDLQResponse) ProtoMessage()

func (*RequeueFromDLQResponse) ProtoReflect

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

func (*RequeueFromDLQResponse) Reset

func (x *RequeueFromDLQResponse) Reset()

func (*RequeueFromDLQResponse) String

func (x *RequeueFromDLQResponse) String() string

type ResumeScheduleRequest

type ResumeScheduleRequest struct {
	ScheduleId string `protobuf:"bytes,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
	// contains filtered or unexported fields
}

Resume a schedule

func (*ResumeScheduleRequest) Descriptor deprecated

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

Deprecated: Use ResumeScheduleRequest.ProtoReflect.Descriptor instead.

func (*ResumeScheduleRequest) GetScheduleId

func (x *ResumeScheduleRequest) GetScheduleId() string

func (*ResumeScheduleRequest) ProtoMessage

func (*ResumeScheduleRequest) ProtoMessage()

func (*ResumeScheduleRequest) ProtoReflect

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

func (*ResumeScheduleRequest) Reset

func (x *ResumeScheduleRequest) Reset()

func (*ResumeScheduleRequest) String

func (x *ResumeScheduleRequest) String() string

type ResumeScheduleResponse

type ResumeScheduleResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*ResumeScheduleResponse) Descriptor deprecated

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

Deprecated: Use ResumeScheduleResponse.ProtoReflect.Descriptor instead.

func (*ResumeScheduleResponse) GetSuccess

func (x *ResumeScheduleResponse) GetSuccess() bool

func (*ResumeScheduleResponse) ProtoMessage

func (*ResumeScheduleResponse) ProtoMessage()

func (*ResumeScheduleResponse) ProtoReflect

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

func (*ResumeScheduleResponse) Reset

func (x *ResumeScheduleResponse) Reset()

func (*ResumeScheduleResponse) String

func (x *ResumeScheduleResponse) String() string

type SchemaInfo

type SchemaInfo struct {
	SchemaId      string `protobuf:"bytes,1,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"`
	LatestVersion int32  `protobuf:"varint,2,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"` // Latest version number
	Name          string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Description   string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	CreatedAt     int64  `protobuf:"varint,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt     int64  `protobuf:"varint,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	VersionCount  int32  `protobuf:"varint,7,opt,name=version_count,json=versionCount,proto3" json:"version_count,omitempty"` // Total number of versions
	IsActive      bool   `protobuf:"varint,8,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	// contains filtered or unexported fields
}

Schema information for list responses Note: This is a summary view with aggregated version info, different from schema.v1.Schema

func (*SchemaInfo) Descriptor deprecated

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

Deprecated: Use SchemaInfo.ProtoReflect.Descriptor instead.

func (*SchemaInfo) GetCreatedAt

func (x *SchemaInfo) GetCreatedAt() int64

func (*SchemaInfo) GetDescription

func (x *SchemaInfo) GetDescription() string

func (*SchemaInfo) GetIsActive

func (x *SchemaInfo) GetIsActive() bool

func (*SchemaInfo) GetLatestVersion

func (x *SchemaInfo) GetLatestVersion() int32

func (*SchemaInfo) GetName

func (x *SchemaInfo) GetName() string

func (*SchemaInfo) GetSchemaId

func (x *SchemaInfo) GetSchemaId() string

func (*SchemaInfo) GetUpdatedAt

func (x *SchemaInfo) GetUpdatedAt() int64

func (*SchemaInfo) GetVersionCount

func (x *SchemaInfo) GetVersionCount() int32

func (*SchemaInfo) ProtoMessage

func (*SchemaInfo) ProtoMessage()

func (*SchemaInfo) ProtoReflect

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

func (*SchemaInfo) Reset

func (x *SchemaInfo) Reset()

func (*SchemaInfo) String

func (x *SchemaInfo) String() string

type SendMessageHeartBeatRequest

type SendMessageHeartBeatRequest struct {
	QueueName     string `protobuf:"bytes,1,opt,name=queue_name,json=queueName,proto3" json:"queue_name,omitempty"`
	MessageId     string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	StreamEntryId string `protobuf:"bytes,3,opt,name=stream_entry_id,json=streamEntryId,proto3" json:"stream_entry_id,omitempty"`
	// contains filtered or unexported fields
}

send a heartbeat to the queue

func (*SendMessageHeartBeatRequest) Descriptor deprecated

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

Deprecated: Use SendMessageHeartBeatRequest.ProtoReflect.Descriptor instead.

func (*SendMessageHeartBeatRequest) GetMessageId

func (x *SendMessageHeartBeatRequest) GetMessageId() string

func (*SendMessageHeartBeatRequest) GetQueueName

func (x *SendMessageHeartBeatRequest) GetQueueName() string

func (*SendMessageHeartBeatRequest) GetStreamEntryId

func (x *SendMessageHeartBeatRequest) GetStreamEntryId() string

func (*SendMessageHeartBeatRequest) ProtoMessage

func (*SendMessageHeartBeatRequest) ProtoMessage()

func (*SendMessageHeartBeatRequest) ProtoReflect

func (*SendMessageHeartBeatRequest) Reset

func (x *SendMessageHeartBeatRequest) Reset()

func (*SendMessageHeartBeatRequest) String

func (x *SendMessageHeartBeatRequest) String() string

type SendMessageHeartBeatResponse

type SendMessageHeartBeatResponse struct {
	RemainingTime *durationpb.Duration       `protobuf:"bytes,1,opt,name=remaining_time,json=remainingTime,proto3" json:"remaining_time,omitempty"`
	State         v11.Message_Metadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=chronoqueue.api.message.v1.Message_Metadata_State" json:"state,omitempty"`
	// contains filtered or unexported fields
}

func (*SendMessageHeartBeatResponse) Descriptor deprecated

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

Deprecated: Use SendMessageHeartBeatResponse.ProtoReflect.Descriptor instead.

func (*SendMessageHeartBeatResponse) GetRemainingTime

func (x *SendMessageHeartBeatResponse) GetRemainingTime() *durationpb.Duration

func (*SendMessageHeartBeatResponse) GetState

func (*SendMessageHeartBeatResponse) ProtoMessage

func (*SendMessageHeartBeatResponse) ProtoMessage()

func (*SendMessageHeartBeatResponse) ProtoReflect

func (*SendMessageHeartBeatResponse) Reset

func (x *SendMessageHeartBeatResponse) Reset()

func (*SendMessageHeartBeatResponse) String

type UnimplementedQueueServiceServer

type UnimplementedQueueServiceServer struct{}

UnimplementedQueueServiceServer should be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedQueueServiceServer) AcknowledgeMessage

func (UnimplementedQueueServiceServer) CreateQueue

func (UnimplementedQueueServiceServer) CreateSchedule

func (UnimplementedQueueServiceServer) DeleteFromDLQ

func (UnimplementedQueueServiceServer) DeleteQueue

func (UnimplementedQueueServiceServer) DeleteSchedule

func (UnimplementedQueueServiceServer) DeleteSchema

func (UnimplementedQueueServiceServer) GetDLQMessages

func (UnimplementedQueueServiceServer) GetDLQStats

func (UnimplementedQueueServiceServer) GetNextMessage

func (UnimplementedQueueServiceServer) GetQueueState

func (UnimplementedQueueServiceServer) GetSchedule

func (UnimplementedQueueServiceServer) GetScheduleHistory

func (UnimplementedQueueServiceServer) GetSchema

func (UnimplementedQueueServiceServer) ListQueues

func (UnimplementedQueueServiceServer) ListSchedules

func (UnimplementedQueueServiceServer) ListSchemas

func (UnimplementedQueueServiceServer) PauseSchedule

func (UnimplementedQueueServiceServer) PeekQueueMessages

func (UnimplementedQueueServiceServer) PostMessage

func (UnimplementedQueueServiceServer) PurgeDLQ

func (UnimplementedQueueServiceServer) RegisterSchema

func (UnimplementedQueueServiceServer) RenewMessageLease

func (UnimplementedQueueServiceServer) RequeueFromDLQ

func (UnimplementedQueueServiceServer) ResumeSchedule

func (UnimplementedQueueServiceServer) ValidatePayload

type UnsafeQueueServiceServer

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

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

type ValidateCalendarScheduleRequest

type ValidateCalendarScheduleRequest struct {
	CalendarSchedule *v12.CalendarSchedule `protobuf:"bytes,1,opt,name=calendar_schedule,json=calendarSchedule,proto3" json:"calendar_schedule,omitempty"`
	// contains filtered or unexported fields
}

Validate a calendar schedule configuration

func (*ValidateCalendarScheduleRequest) Descriptor deprecated

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

Deprecated: Use ValidateCalendarScheduleRequest.ProtoReflect.Descriptor instead.

func (*ValidateCalendarScheduleRequest) GetCalendarSchedule

func (x *ValidateCalendarScheduleRequest) GetCalendarSchedule() *v12.CalendarSchedule

func (*ValidateCalendarScheduleRequest) ProtoMessage

func (*ValidateCalendarScheduleRequest) ProtoMessage()

func (*ValidateCalendarScheduleRequest) ProtoReflect

func (*ValidateCalendarScheduleRequest) Reset

func (*ValidateCalendarScheduleRequest) String

type ValidateCalendarScheduleResponse

type ValidateCalendarScheduleResponse struct {
	Valid            bool               `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
	ErrorMessage     string             `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	ValidationIssues []*ValidationIssue `protobuf:"bytes,3,rep,name=validation_issues,json=validationIssues,proto3" json:"validation_issues,omitempty"`
	// contains filtered or unexported fields
}

func (*ValidateCalendarScheduleResponse) Descriptor deprecated

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

Deprecated: Use ValidateCalendarScheduleResponse.ProtoReflect.Descriptor instead.

func (*ValidateCalendarScheduleResponse) GetErrorMessage

func (x *ValidateCalendarScheduleResponse) GetErrorMessage() string

func (*ValidateCalendarScheduleResponse) GetValid

func (x *ValidateCalendarScheduleResponse) GetValid() bool

func (*ValidateCalendarScheduleResponse) GetValidationIssues

func (x *ValidateCalendarScheduleResponse) GetValidationIssues() []*ValidationIssue

func (*ValidateCalendarScheduleResponse) ProtoMessage

func (*ValidateCalendarScheduleResponse) ProtoMessage()

func (*ValidateCalendarScheduleResponse) ProtoReflect

func (*ValidateCalendarScheduleResponse) Reset

func (*ValidateCalendarScheduleResponse) String

type ValidatePayloadRequest

type ValidatePayloadRequest struct {
	SchemaId string `protobuf:"bytes,1,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"` // Schema identifier
	Version  int32  `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`                  // Schema version (0 = latest)
	Payload  string `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`                   // JSON payload to validate
	// contains filtered or unexported fields
}

Validate a payload against a schema

func (*ValidatePayloadRequest) Descriptor deprecated

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

Deprecated: Use ValidatePayloadRequest.ProtoReflect.Descriptor instead.

func (*ValidatePayloadRequest) GetPayload

func (x *ValidatePayloadRequest) GetPayload() string

func (*ValidatePayloadRequest) GetSchemaId

func (x *ValidatePayloadRequest) GetSchemaId() string

func (*ValidatePayloadRequest) GetVersion

func (x *ValidatePayloadRequest) GetVersion() int32

func (*ValidatePayloadRequest) ProtoMessage

func (*ValidatePayloadRequest) ProtoMessage()

func (*ValidatePayloadRequest) ProtoReflect

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

func (*ValidatePayloadRequest) Reset

func (x *ValidatePayloadRequest) Reset()

func (*ValidatePayloadRequest) String

func (x *ValidatePayloadRequest) String() string

type ValidatePayloadResponse

type ValidatePayloadResponse struct {
	Valid         bool                   `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
	Errors        []*v13.ValidationError `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"` // Validation errors from schema.proto
	SchemaId      string                 `protobuf:"bytes,3,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"`
	SchemaVersion int32                  `protobuf:"varint,4,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	// contains filtered or unexported fields
}

func (*ValidatePayloadResponse) Descriptor deprecated

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

Deprecated: Use ValidatePayloadResponse.ProtoReflect.Descriptor instead.

func (*ValidatePayloadResponse) GetErrors

func (x *ValidatePayloadResponse) GetErrors() []*v13.ValidationError

func (*ValidatePayloadResponse) GetSchemaId

func (x *ValidatePayloadResponse) GetSchemaId() string

func (*ValidatePayloadResponse) GetSchemaVersion

func (x *ValidatePayloadResponse) GetSchemaVersion() int32

func (*ValidatePayloadResponse) GetValid

func (x *ValidatePayloadResponse) GetValid() bool

func (*ValidatePayloadResponse) ProtoMessage

func (*ValidatePayloadResponse) ProtoMessage()

func (*ValidatePayloadResponse) ProtoReflect

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

func (*ValidatePayloadResponse) Reset

func (x *ValidatePayloadResponse) Reset()

func (*ValidatePayloadResponse) String

func (x *ValidatePayloadResponse) String() string

type ValidationIssue

type ValidationIssue struct {
	Severity   string `protobuf:"bytes,1,opt,name=severity,proto3" json:"severity,omitempty"`                     // "error", "warning", "info"
	RuleIndex  int32  `protobuf:"varint,2,opt,name=rule_index,json=ruleIndex,proto3" json:"rule_index,omitempty"` // -1 for global issues
	Field      string `protobuf:"bytes,3,opt,name=field,proto3" json:"field,omitempty"`
	Message    string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
	Suggestion string `protobuf:"bytes,5,opt,name=suggestion,proto3" json:"suggestion,omitempty"`
	// contains filtered or unexported fields
}

Validation issue details

func (*ValidationIssue) Descriptor deprecated

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

Deprecated: Use ValidationIssue.ProtoReflect.Descriptor instead.

func (*ValidationIssue) GetField

func (x *ValidationIssue) GetField() string

func (*ValidationIssue) GetMessage

func (x *ValidationIssue) GetMessage() string

func (*ValidationIssue) GetRuleIndex

func (x *ValidationIssue) GetRuleIndex() int32

func (*ValidationIssue) GetSeverity

func (x *ValidationIssue) GetSeverity() string

func (*ValidationIssue) GetSuggestion

func (x *ValidationIssue) GetSuggestion() string

func (*ValidationIssue) ProtoMessage

func (*ValidationIssue) ProtoMessage()

func (*ValidationIssue) ProtoReflect

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

func (*ValidationIssue) Reset

func (x *ValidationIssue) Reset()

func (*ValidationIssue) String

func (x *ValidationIssue) String() string

Jump to

Keyboard shortcuts

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