chronoqueue

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChronoQueueServer

type ChronoQueueServer struct {
	queueservice_pb.UnimplementedQueueServiceServer
	// contains filtered or unexported fields
}

ChronoQueueServer implements the gRPC QueueService interface directly using the storage layer without intermediate service abstractions

func NewChronoQueueServer

func NewChronoQueueServer(storage repository.Storage, schemaRegistry schema.Registry, logger *log.Logger) *ChronoQueueServer

NewChronoQueueServer creates a new gRPC server instance

type Service

type Service interface {
	CreateQueue(ctx context.Context, request *queueservice_pb.CreateQueueRequest) (*queueservice_pb.CreateQueueResponse, error)
	DeleteQueue(ctx context.Context, request *queueservice_pb.DeleteQueueRequest) (*queueservice_pb.DeleteQueueResponse, error)
	PostMessage(ctx context.Context, request *queueservice_pb.PostMessageRequest) (*queueservice_pb.PostMessageResponse, error)
	GetNextMessage(ctx context.Context, request *queueservice_pb.GetNextMessageRequest) (*queueservice_pb.GetNextMessageResponse, error)
	AcknowledgeMessage(ctx context.Context, request *queueservice_pb.AcknowledgeMessageRequest) (*queueservice_pb.AcknowledgeMessageResponse, error)
	RenewMessageLease(ctx context.Context, request *queueservice_pb.RenewMessageLeaseRequest) (*queueservice_pb.RenewMessageLeaseResponse, error)
	PeekQueueMessages(ctx context.Context, request *queueservice_pb.PeekQueueMessagesRequest) (*queueservice_pb.PeekQueueMessagesResponse, error)
	GetQueueState(ctx context.Context, request *queueservice_pb.GetQueueStateRequest) (*queueservice_pb.GetQueueStateResponse, error)
	SendMessageHeartBeat(ctx context.Context, request *queueservice_pb.SendMessageHeartBeatRequest) (*queueservice_pb.SendMessageHeartBeatResponse, error)
	ListQueues(ctx context.Context, request *queueservice_pb.ListQueuesRequest) (*queueservice_pb.ListQueuesResponse, error)
	CreateSchedule(ctx context.Context, request *queueservice_pb.CreateScheduleRequest) (*queueservice_pb.CreateScheduleResponse, error)
	DeleteSchedule(ctx context.Context, request *queueservice_pb.DeleteScheduleRequest) (*queueservice_pb.DeleteScheduleResponse, error)
	GetSchedule(ctx context.Context, request *queueservice_pb.GetScheduleRequest) (*queueservice_pb.GetScheduleResponse, error)
	ListSchedules(ctx context.Context, request *queueservice_pb.ListSchedulesRequest) (*queueservice_pb.ListSchedulesResponse, error)
	GetScheduleHistory(ctx context.Context, request *queueservice_pb.GetScheduleHistoryRequest) (*queueservice_pb.GetScheduleHistoryResponse, error)
	PauseSchedule(ctx context.Context, request *queueservice_pb.PauseScheduleRequest) (*queueservice_pb.PauseScheduleResponse, error)
	ResumeSchedule(ctx context.Context, request *queueservice_pb.ResumeScheduleRequest) (*queueservice_pb.ResumeScheduleResponse, error)

	// calendar-based scheduling operations
	ValidateCalendarSchedule(ctx context.Context, request *queueservice_pb.ValidateCalendarScheduleRequest) (*queueservice_pb.ValidateCalendarScheduleResponse, error)
	PreviewCalendarSchedule(ctx context.Context, request *queueservice_pb.PreviewCalendarScheduleRequest) (*queueservice_pb.PreviewCalendarScheduleResponse, error)

	// Dead Letter Queue Management Operations
	GetDLQMessages(ctx context.Context, request *queueservice_pb.GetDLQMessagesRequest) (*queueservice_pb.GetDLQMessagesResponse, error)
	RequeueFromDLQ(ctx context.Context, request *queueservice_pb.RequeueFromDLQRequest) (*queueservice_pb.RequeueFromDLQResponse, error)
	DeleteFromDLQ(ctx context.Context, request *queueservice_pb.DeleteFromDLQRequest) (*queueservice_pb.DeleteFromDLQResponse, error)
	PurgeDLQ(ctx context.Context, request *queueservice_pb.PurgeDLQRequest) (*queueservice_pb.PurgeDLQResponse, error)
	GetDLQStats(ctx context.Context, request *queueservice_pb.GetDLQStatsRequest) (*queueservice_pb.GetDLQStatsResponse, error)

	// Schema Management Operations
	RegisterSchema(ctx context.Context, request *queueservice_pb.RegisterSchemaRequest) (*queueservice_pb.RegisterSchemaResponse, error)
	GetSchema(ctx context.Context, request *queueservice_pb.GetSchemaRequest) (*queueservice_pb.GetSchemaResponse, error)
	ListSchemas(ctx context.Context, request *queueservice_pb.ListSchemasRequest) (*queueservice_pb.ListSchemasResponse, error)
	DeleteSchema(ctx context.Context, request *queueservice_pb.DeleteSchemaRequest) (*queueservice_pb.DeleteSchemaResponse, error)
	ValidatePayload(ctx context.Context, request *queueservice_pb.ValidatePayloadRequest) (*queueservice_pb.ValidatePayloadResponse, error)
}

Jump to

Keyboard shortcuts

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