t_api

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcquireLockRequest added in v0.2.0

type AcquireLockRequest struct {
	ResourceId  string `json:"resourceId"`
	ExecutionId string `json:"executionId"`
	ProcessId   string `json:"processId"`
	Ttl         int64  `json:"ttl"`
}

func (*AcquireLockRequest) String added in v0.7.0

func (r *AcquireLockRequest) String() string

type AcquireLockResponse added in v0.2.0

type AcquireLockResponse struct {
	Status StatusCode `json:"status"`
	Lock   *lock.Lock `json:"lock,omitempty"`
}

func (*AcquireLockResponse) String added in v0.7.0

func (r *AcquireLockResponse) String() string

type ClaimTaskRequest added in v0.5.0

type ClaimTaskRequest struct {
	Id        string `json:"id"`
	Counter   int    `json:"counter"`
	ProcessId string `json:"processId"`
	Ttl       int    `json:"ttl"`
}

func (*ClaimTaskRequest) String added in v0.7.0

func (r *ClaimTaskRequest) String() string

type ClaimTaskResponse added in v0.5.0

type ClaimTaskResponse struct {
	Status          StatusCode       `json:"status"`
	Task            *task.Task       `json:"task,omitempty"`
	RootPromise     *promise.Promise `json:"rootPromise,omitempty"`
	LeafPromise     *promise.Promise `json:"leafPromise,omitempty"`
	RootPromiseHref string           `json:"rootPromiseHref,omitempty"`
	LeafPromiseHref string           `json:"leafPromiseHref,omitempty"`
}

func (*ClaimTaskResponse) String added in v0.7.0

func (r *ClaimTaskResponse) String() string

type Claims

type Claims[T any] struct {
	Next *T
}

func (*Claims[T]) Valid

func (c *Claims[T]) Valid() error

type CompletePromiseRequest added in v0.2.0

type CompletePromiseRequest struct {
	Id             string           `json:"id"`
	IdempotencyKey *idempotency.Key `json:"idemptencyKey,omitempty"`
	Strict         bool             `json:"strict"`
	State          promise.State    `json:"state"`
	Value          promise.Value    `json:"value,omitempty"`
}

func (*CompletePromiseRequest) String added in v0.7.0

func (r *CompletePromiseRequest) String() string

type CompletePromiseResponse

type CompletePromiseResponse struct {
	Status  StatusCode       `json:"status"`
	Promise *promise.Promise `json:"promise,omitempty"`
}

func (*CompletePromiseResponse) String added in v0.7.0

func (r *CompletePromiseResponse) String() string

type CompleteTaskRequest added in v0.5.0

type CompleteTaskRequest struct {
	Id      string `json:"id"`
	Counter int    `json:"counter"`
}

func (*CompleteTaskRequest) String added in v0.7.0

func (r *CompleteTaskRequest) String() string

type CompleteTaskResponse added in v0.5.0

type CompleteTaskResponse struct {
	Status StatusCode `json:"status"`
	Task   *task.Task `json:"task,omitempty"`
}

func (*CompleteTaskResponse) String added in v0.7.0

func (r *CompleteTaskResponse) String() string

type CreateCallbackRequest added in v0.7.0

type CreateCallbackRequest struct {
	Id            string          `json:"id"`
	PromiseId     string          `json:"promiseId"`
	RootPromiseId string          `json:"rootPromiseId"` // TODO: we should be able to know this from the promise itself
	Timeout       int64           `json:"timeout"`
	Recv          json.RawMessage `json:"recv"`
}

func (*CreateCallbackRequest) String added in v0.7.0

func (r *CreateCallbackRequest) String() string

type CreateCallbackResponse added in v0.7.0

type CreateCallbackResponse struct {
	Status   StatusCode         `json:"status"`
	Promise  *promise.Promise   `json:"promise,omitempty"`
	Callback *callback.Callback `json:"callback,omitempty"`
}

func (*CreateCallbackResponse) String added in v0.7.0

func (r *CreateCallbackResponse) String() string

type CreatePromiseAndTaskRequest added in v0.7.0

type CreatePromiseAndTaskRequest struct {
	Promise *CreatePromiseRequest
	Task    *CreateTaskRequest
}

func (*CreatePromiseAndTaskRequest) String added in v0.7.0

func (r *CreatePromiseAndTaskRequest) String() string

type CreatePromiseAndTaskResponse added in v0.7.0

type CreatePromiseAndTaskResponse struct {
	Status  StatusCode       `json:"status"`
	Promise *promise.Promise `json:"promise,omitempty"`
	Task    *task.Task       `json:"task,omitempty"`
}

func (*CreatePromiseAndTaskResponse) String added in v0.7.0

type CreatePromiseRequest

type CreatePromiseRequest struct {
	Id             string            `json:"id"`
	IdempotencyKey *idempotency.Key  `json:"idemptencyKey,omitempty"`
	Strict         bool              `json:"strict"`
	Param          promise.Value     `json:"param,omitempty"`
	Timeout        int64             `json:"timeout"`
	Tags           map[string]string `json:"tags,omitempty"`
}

func (*CreatePromiseRequest) String added in v0.7.0

func (r *CreatePromiseRequest) String() string

type CreatePromiseResponse

type CreatePromiseResponse struct {
	Status  StatusCode       `json:"status"`
	Promise *promise.Promise `json:"promise,omitempty"`
}

func (*CreatePromiseResponse) String added in v0.7.0

func (r *CreatePromiseResponse) String() string

type CreateScheduleRequest

type CreateScheduleRequest struct {
	Id             string            `json:"id"`
	Description    string            `json:"desc,omitempty"`
	Cron           string            `json:"cron"`
	Tags           map[string]string `json:"tags,omitempty"`
	PromiseId      string            `json:"promiseId"`
	PromiseTimeout int64             `json:"promiseTimeout"`
	PromiseParam   promise.Value     `json:"promiseParam,omitempty"`
	PromiseTags    map[string]string `json:"promiseTags,omitempty"`
	IdempotencyKey *idempotency.Key  `json:"idemptencyKey,omitempty"`
}

func (*CreateScheduleRequest) String added in v0.7.0

func (r *CreateScheduleRequest) String() string

type CreateScheduleResponse

type CreateScheduleResponse struct {
	Status   StatusCode         `json:"status"`
	Schedule *schedule.Schedule `json:"schedule,omitempty"`
}

func (*CreateScheduleResponse) String added in v0.7.0

func (r *CreateScheduleResponse) String() string

type CreateTaskRequest added in v0.7.0

type CreateTaskRequest struct {
	PromiseId string `json:"promiseId"`
	ProcessId string `json:"processId"`
	Ttl       int    `json:"ttl"`
	Timeout   int64  `json:"timeout"`
}

func (*CreateTaskRequest) String added in v0.7.0

func (r *CreateTaskRequest) String() string

type Cursor

type Cursor[T any] struct {
	Next *T
}

func NewCursor

func NewCursor[T any](tokenString string) (*Cursor[T], error)

func (*Cursor[T]) Decode

func (c *Cursor[T]) Decode(tokenString string) error

func (*Cursor[T]) Encode

func (c *Cursor[T]) Encode() (string, error)

func (*Cursor[T]) MarshalJSON

func (c *Cursor[T]) MarshalJSON() ([]byte, error)

func (*Cursor[T]) String

func (c *Cursor[T]) String() string

func (*Cursor[T]) UnmarshalJSON

func (c *Cursor[T]) UnmarshalJSON(data []byte) error

type DeleteScheduleRequest

type DeleteScheduleRequest struct {
	Id string `json:"id"`
}

func (*DeleteScheduleRequest) String added in v0.7.0

func (r *DeleteScheduleRequest) String() string

type DeleteScheduleResponse

type DeleteScheduleResponse struct {
	Status StatusCode `json:"status"`
}

func (*DeleteScheduleResponse) String added in v0.7.0

func (r *DeleteScheduleResponse) String() string

type EchoRequest

type EchoRequest struct {
	Data string `json:"data"`
}

func (*EchoRequest) String added in v0.7.0

func (r *EchoRequest) String() string

type EchoResponse

type EchoResponse struct {
	Data string `json:"data"`
}

func (*EchoResponse) String added in v0.7.0

func (r *EchoResponse) String() string

type Error added in v0.7.0

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

func NewError added in v0.7.0

func NewError(code StatusCode, error error) *Error

func (*Error) Code added in v0.7.0

func (e *Error) Code() StatusCode

func (*Error) Error added in v0.7.0

func (e *Error) Error() string

func (*Error) Is added in v0.7.0

func (e *Error) Is(target error) bool

func (*Error) Unwrap added in v0.7.0

func (e *Error) Unwrap() error

type HeartbeatLocksRequest added in v0.2.0

type HeartbeatLocksRequest struct {
	ProcessId string `json:"processId"`
}

func (*HeartbeatLocksRequest) String added in v0.7.0

func (r *HeartbeatLocksRequest) String() string

type HeartbeatLocksResponse added in v0.2.0

type HeartbeatLocksResponse struct {
	Status        StatusCode `json:"status"`
	LocksAffected int64      `json:"locksAffected"`
}

func (*HeartbeatLocksResponse) String added in v0.7.0

func (r *HeartbeatLocksResponse) String() string

type HeartbeatTasksRequest added in v0.7.0

type HeartbeatTasksRequest struct {
	ProcessId string `json:"processId"`
}

func (*HeartbeatTasksRequest) String added in v0.7.0

func (r *HeartbeatTasksRequest) String() string

type HeartbeatTasksResponse added in v0.7.0

type HeartbeatTasksResponse struct {
	Status        StatusCode `json:"status"`
	TasksAffected int64      `json:"tasksAffected"`
}

func (*HeartbeatTasksResponse) String added in v0.7.0

func (r *HeartbeatTasksResponse) String() string

type Kind

type Kind int
const (
	// PROMISES
	ReadPromise Kind = iota
	SearchPromises
	CreatePromise
	CreatePromiseAndTask
	CompletePromise

	// CALLBACKS
	CreateCallback

	// SCHEDULES
	ReadSchedule
	SearchSchedules
	CreateSchedule
	DeleteSchedule

	// LOCKS
	AcquireLock
	ReleaseLock
	HeartbeatLocks

	// TASKS
	ClaimTask
	CompleteTask
	HeartbeatTasks

	// Echo
	Echo
)

func (Kind) String

func (k Kind) String() string

type ReadPromiseRequest

type ReadPromiseRequest struct {
	Id string `json:"id"`
}

func (*ReadPromiseRequest) String added in v0.7.0

func (r *ReadPromiseRequest) String() string

type ReadPromiseResponse

type ReadPromiseResponse struct {
	Status  StatusCode       `json:"status"`
	Promise *promise.Promise `json:"promise,omitempty"`
}

func (*ReadPromiseResponse) String added in v0.7.0

func (r *ReadPromiseResponse) String() string

type ReadScheduleRequest

type ReadScheduleRequest struct {
	Id string `json:"id"`
}

func (*ReadScheduleRequest) String added in v0.7.0

func (r *ReadScheduleRequest) String() string

type ReadScheduleResponse

type ReadScheduleResponse struct {
	Status   StatusCode         `json:"status"`
	Schedule *schedule.Schedule `json:"schedule,omitempty"`
}

func (*ReadScheduleResponse) String added in v0.7.0

func (r *ReadScheduleResponse) String() string

type ReleaseLockRequest added in v0.2.0

type ReleaseLockRequest struct {
	ResourceId  string `json:"resourceId"`
	ExecutionId string `json:"executionId"`
}

func (*ReleaseLockRequest) String added in v0.7.0

func (r *ReleaseLockRequest) String() string

type ReleaseLockResponse added in v0.2.0

type ReleaseLockResponse struct {
	Status StatusCode `json:"status"`
}

func (*ReleaseLockResponse) String added in v0.7.0

func (r *ReleaseLockResponse) String() string

type Request

type Request struct {
	Kind Kind
	Tags map[string]string

	// PROMISES
	ReadPromise          *ReadPromiseRequest
	SearchPromises       *SearchPromisesRequest
	CreatePromise        *CreatePromiseRequest
	CreatePromiseAndTask *CreatePromiseAndTaskRequest
	CompletePromise      *CompletePromiseRequest

	// CALLBACKS
	CreateCallback *CreateCallbackRequest

	// SCHEDULES
	ReadSchedule    *ReadScheduleRequest
	SearchSchedules *SearchSchedulesRequest
	CreateSchedule  *CreateScheduleRequest
	DeleteSchedule  *DeleteScheduleRequest

	// LOCKS
	AcquireLock    *AcquireLockRequest
	ReleaseLock    *ReleaseLockRequest
	HeartbeatLocks *HeartbeatLocksRequest

	// TASKS
	ClaimTask      *ClaimTaskRequest
	CompleteTask   *CompleteTaskRequest
	HeartbeatTasks *HeartbeatTasksRequest

	// ECHO
	Echo *EchoRequest
}

func (*Request) String

func (r *Request) String() string

type Response

type Response struct {
	Kind Kind
	Tags map[string]string

	// Promises
	ReadPromise          *ReadPromiseResponse
	SearchPromises       *SearchPromisesResponse
	CreatePromise        *CreatePromiseResponse
	CreatePromiseAndTask *CreatePromiseAndTaskResponse
	CompletePromise      *CompletePromiseResponse

	// CALLBACKS
	CreateCallback *CreateCallbackResponse

	// SCHEDULES
	ReadSchedule    *ReadScheduleResponse
	SearchSchedules *SearchSchedulesResponse
	CreateSchedule  *CreateScheduleResponse
	DeleteSchedule  *DeleteScheduleResponse

	// LOCKS
	AcquireLock    *AcquireLockResponse
	ReleaseLock    *ReleaseLockResponse
	HeartbeatLocks *HeartbeatLocksResponse

	// TASKS
	ClaimTask      *ClaimTaskResponse
	CompleteTask   *CompleteTaskResponse
	HeartbeatTasks *HeartbeatTasksResponse

	// ECHO
	Echo *EchoResponse
}

func (*Response) Status added in v0.6.0

func (r *Response) Status() StatusCode

func (*Response) String

func (r *Response) String() string

type SearchPromisesRequest

type SearchPromisesRequest struct {
	Id     string            `json:"id"`
	States []promise.State   `json:"states"`
	Tags   map[string]string `json:"tags"`
	Limit  int               `json:"limit"`
	SortId *int64            `json:"sortId"`
}

func (*SearchPromisesRequest) String added in v0.7.0

func (r *SearchPromisesRequest) String() string

type SearchPromisesResponse

type SearchPromisesResponse struct {
	Status   StatusCode                     `json:"status"`
	Promises []*promise.Promise             `json:"promises,omitempty"`
	Cursor   *Cursor[SearchPromisesRequest] `json:"cursor,omitempty"`
}

func (*SearchPromisesResponse) String added in v0.7.0

func (r *SearchPromisesResponse) String() string

type SearchSchedulesRequest

type SearchSchedulesRequest struct {
	Id     string            `json:"id"`
	Tags   map[string]string `json:"tags"`
	Limit  int               `json:"limit"`
	SortId *int64            `json:"sortId"`
}

func (*SearchSchedulesRequest) String added in v0.7.0

func (r *SearchSchedulesRequest) String() string

type SearchSchedulesResponse

type SearchSchedulesResponse struct {
	Status    StatusCode                      `json:"status"`
	Schedules []*schedule.Schedule            `json:"schedules,omitempty"`
	Cursor    *Cursor[SearchSchedulesRequest] `json:"cursor,omitempty"`
}

func (*SearchSchedulesResponse) String added in v0.7.0

func (r *SearchSchedulesResponse) String() string

type StatusCode added in v0.7.0

type StatusCode int

StatusCode represents the type of response that occurred

const (
	// Application level status (2000-4999)
	StatusOK        StatusCode = 2000
	StatusCreated   StatusCode = 2010
	StatusNoContent StatusCode = 2040

	StatusFieldValidationError   StatusCode = 4000
	StatusPromiseAlreadyResolved StatusCode = 4030
	StatusPromiseAlreadyRejected StatusCode = 4031
	StatusPromiseAlreadyCanceled StatusCode = 4032
	StatusPromiseAlreadyTimedout StatusCode = 4033
	StatusLockAlreadyAcquired    StatusCode = 4034
	StatusTaskAlreadyClaimed     StatusCode = 4035
	StatusTaskAlreadyCompleted   StatusCode = 4036
	StatusTaskInvalidCounter     StatusCode = 4037
	StatusTaskInvalidState       StatusCode = 4038
	StatusPromiseNotFound        StatusCode = 4040
	StatusScheduleNotFound       StatusCode = 4041
	StatusLockNotFound           StatusCode = 4042
	StatusTaskNotFound           StatusCode = 4043
	StatusPromiseRecvNotFound    StatusCode = 4044
	StatusPromiseAlreadyExists   StatusCode = 4090
	StatusScheduleAlreadyExists  StatusCode = 4091

	// Platform level status (5000-5999)
	StatusInternalServerError    StatusCode = 5000
	StatusAIOEchoError           StatusCode = 5001
	StatusAIOMatchError          StatusCode = 5002
	StatusAIOQueueError          StatusCode = 5003
	StatusAIOStoreError          StatusCode = 5004
	StatusSystemShuttingDown     StatusCode = 5030
	StatusAPISubmissionQueueFull StatusCode = 5031
	StatusAIOSubmissionQueueFull StatusCode = 5032
	StatusSchedulerQueueFull     StatusCode = 5033
)

func (StatusCode) IsSuccessful added in v0.7.0

func (s StatusCode) IsSuccessful() bool

func (StatusCode) String added in v0.7.0

func (s StatusCode) String() string

String returns the string representation of the status code.

Jump to

Keyboard shortcuts

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