celerityv1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HandlerRuntimeService_EventStream_FullMethodName = "/celerity.runtime.v1.HandlerRuntimeService/EventStream"
)

Variables

View Source
var (
	ReadyAck_RefusedReason_name = map[int32]string{
		0: "REFUSED_REASON_UNSPECIFIED",
		1: "REFUSED_REASON_TAG_MISMATCH",
		2: "REFUSED_REASON_PROTOCOL_VERSION",
	}
	ReadyAck_RefusedReason_value = map[string]int32{
		"REFUSED_REASON_UNSPECIFIED":      0,
		"REFUSED_REASON_TAG_MISMATCH":     1,
		"REFUSED_REASON_PROTOCOL_VERSION": 2,
	}
)

Enum value maps for ReadyAck_RefusedReason.

View Source
var (
	Cancel_Reason_name = map[int32]string{
		0: "REASON_UNSPECIFIED",
		1: "REASON_DEADLINE_EXCEEDED",
		2: "REASON_CALLER_GONE",
		3: "REASON_SHUTDOWN",
	}
	Cancel_Reason_value = map[string]int32{
		"REASON_UNSPECIFIED":       0,
		"REASON_DEADLINE_EXCEEDED": 1,
		"REASON_CALLER_GONE":       2,
		"REASON_SHUTDOWN":          3,
	}
)

Enum value maps for Cancel_Reason.

View Source
var File_celerity_runtime_v1_runtime_proto protoreflect.FileDescriptor
View Source
var HandlerRuntimeService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "celerity.runtime.v1.HandlerRuntimeService",
	HandlerType: (*HandlerRuntimeServiceServer)(nil),
	Methods:     []grpc.MethodDesc{},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "EventStream",
			Handler:       _HandlerRuntimeService_EventStream_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "celerity/runtime/v1/runtime.proto",
}

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

Functions

func RegisterHandlerRuntimeServiceServer

func RegisterHandlerRuntimeServiceServer(s grpc.ServiceRegistrar, srv HandlerRuntimeServiceServer)

Types

type Ack

type Ack struct {
	Success      bool   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// contains filtered or unexported fields
}

Whether one message was processed.

For a source that acknowledges, a schedule trigger among them, a failure leaves the message on its source to be delivered again rather than acknowledging it. So this is an answer about the message, not a report for the log, and a handler that reports success for work it did not do will not see that work again.

func (*Ack) Descriptor deprecated

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

Deprecated: Use Ack.ProtoReflect.Descriptor instead.

func (*Ack) GetErrorMessage

func (x *Ack) GetErrorMessage() string

func (*Ack) GetSuccess

func (x *Ack) GetSuccess() bool

func (*Ack) ProtoMessage

func (*Ack) ProtoMessage()

func (*Ack) ProtoReflect

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

func (*Ack) Reset

func (x *Ack) Reset()

func (*Ack) String

func (x *Ack) String() string

type BatchResult

type BatchResult struct {
	Success  bool             `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Failures []*RecordFailure `protobuf:"bytes,2,rep,name=failures,proto3" json:"failures,omitempty"`
	// contains filtered or unexported fields
}

Whether the records in a batch were processed.

Naming a record is how a handler answers for each message separately. The records named are left on their source to be delivered again and the rest are acknowledged, so a handler that processed most of a batch does not have all of it sent back.

Failing with no records named answers for the whole batch, and none of it is acknowledged. A non-empty list is taken as the answer even alongside success, since acknowledging a record the handler named would lose it while leaving one it processed only costs a redelivery.

func (*BatchResult) Descriptor deprecated

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

Deprecated: Use BatchResult.ProtoReflect.Descriptor instead.

func (*BatchResult) GetFailures

func (x *BatchResult) GetFailures() []*RecordFailure

func (*BatchResult) GetSuccess

func (x *BatchResult) GetSuccess() bool

func (*BatchResult) ProtoMessage

func (*BatchResult) ProtoMessage()

func (*BatchResult) ProtoReflect

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

func (*BatchResult) Reset

func (x *BatchResult) Reset()

func (*BatchResult) String

func (x *BatchResult) String() string

type Cancel

type Cancel struct {
	Id     string        `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Reason Cancel_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=celerity.runtime.v1.Cancel_Reason" json:"reason,omitempty"`
	// contains filtered or unexported fields
}

Tells the handler to stop work nobody is waiting for.

May arrive for an event that has already completed, which handlers must ignore rather than treat as an error.

A cancelled event should still be answered with a Result, which is what returns the place it holds in the credit window. The runtime waits a short grace period and then takes that place back itself, since a handler that has hung or died would otherwise shrink the window for the life of the process. That is not a claim that the handler stopped, only that the runtime will no longer keep room for an answer it asked to be abandoned, a handler that answers promptly never meets it.

func (*Cancel) Descriptor deprecated

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

Deprecated: Use Cancel.ProtoReflect.Descriptor instead.

func (*Cancel) GetId

func (x *Cancel) GetId() string

func (*Cancel) GetReason

func (x *Cancel) GetReason() Cancel_Reason

func (*Cancel) ProtoMessage

func (*Cancel) ProtoMessage()

func (*Cancel) ProtoReflect

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

func (*Cancel) Reset

func (x *Cancel) Reset()

func (*Cancel) String

func (x *Cancel) String() string

type Cancel_Reason

type Cancel_Reason int32
const (
	Cancel_REASON_UNSPECIFIED       Cancel_Reason = 0
	Cancel_REASON_DEADLINE_EXCEEDED Cancel_Reason = 1
	// The originating caller went away, so nothing is waiting for the result.
	// Sent when an HTTP client disconnects. Not sent when a WebSocket
	// connection closes as a message is closer to a queue message than to a
	// request and response, so the work is still worth finishing.
	Cancel_REASON_CALLER_GONE Cancel_Reason = 2
	Cancel_REASON_SHUTDOWN    Cancel_Reason = 3
)

func (Cancel_Reason) Descriptor

func (Cancel_Reason) Enum

func (x Cancel_Reason) Enum() *Cancel_Reason

func (Cancel_Reason) EnumDescriptor deprecated

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

Deprecated: Use Cancel_Reason.Descriptor instead.

func (Cancel_Reason) Number

func (Cancel_Reason) String

func (x Cancel_Reason) String() string

func (Cancel_Reason) Type

type ConsumerBatch

type ConsumerBatch struct {
	Records    []*ConsumerRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
	SourceId   string            `protobuf:"bytes,2,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	SourceType string            `protobuf:"bytes,3,opt,name=source_type,json=sourceType,proto3" json:"source_type,omitempty"`
	// Provider-specific, opaque.
	Vendor []byte `protobuf:"bytes,4,opt,name=vendor,proto3" json:"vendor,omitempty"`
	// contains filtered or unexported fields
}

func (*ConsumerBatch) Descriptor deprecated

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

Deprecated: Use ConsumerBatch.ProtoReflect.Descriptor instead.

func (*ConsumerBatch) GetRecords

func (x *ConsumerBatch) GetRecords() []*ConsumerRecord

func (*ConsumerBatch) GetSourceId

func (x *ConsumerBatch) GetSourceId() string

func (*ConsumerBatch) GetSourceType

func (x *ConsumerBatch) GetSourceType() string

func (*ConsumerBatch) GetVendor

func (x *ConsumerBatch) GetVendor() []byte

func (*ConsumerBatch) ProtoMessage

func (*ConsumerBatch) ProtoMessage()

func (*ConsumerBatch) ProtoReflect

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

func (*ConsumerBatch) Reset

func (x *ConsumerBatch) Reset()

func (*ConsumerBatch) String

func (x *ConsumerBatch) String() string

type ConsumerRecord

type ConsumerRecord struct {
	MessageId  string `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	Body       []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	Source     string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	EventType  string `protobuf:"bytes,4,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	Attributes []byte `protobuf:"bytes,5,opt,name=attributes,proto3" json:"attributes,omitempty"`
	Vendor     []byte `protobuf:"bytes,6,opt,name=vendor,proto3" json:"vendor,omitempty"`
	// contains filtered or unexported fields
}

func (*ConsumerRecord) Descriptor deprecated

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

Deprecated: Use ConsumerRecord.ProtoReflect.Descriptor instead.

func (*ConsumerRecord) GetAttributes

func (x *ConsumerRecord) GetAttributes() []byte

func (*ConsumerRecord) GetBody

func (x *ConsumerRecord) GetBody() []byte

func (*ConsumerRecord) GetEventType

func (x *ConsumerRecord) GetEventType() string

func (*ConsumerRecord) GetMessageId

func (x *ConsumerRecord) GetMessageId() string

func (*ConsumerRecord) GetSource

func (x *ConsumerRecord) GetSource() string

func (*ConsumerRecord) GetVendor

func (x *ConsumerRecord) GetVendor() []byte

func (*ConsumerRecord) ProtoMessage

func (*ConsumerRecord) ProtoMessage()

func (*ConsumerRecord) ProtoReflect

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

func (*ConsumerRecord) Reset

func (x *ConsumerRecord) Reset()

func (*ConsumerRecord) String

func (x *ConsumerRecord) String() string

type CreditGrant

type CreditGrant struct {
	Additional uint32 `protobuf:"varint,1,opt,name=additional,proto3" json:"additional,omitempty"`
	// contains filtered or unexported fields
}

Returns credit to the runtime.

Credit is purely additive, it is consumed when the runtime dispatches and replenished only when the handler says so, never implicitly by a result arriving. Grants are normally included with Result; this frame exists for resizing the window, for grants not tied to a completion, and for resuming after a deliberate withhold.

There is one credit window per stream, covering every tag it serves. Isolation between tags is expressed by the concurrency caps in Ready, not by separate credit pools, a cap is what stops one slow tag consuming the whole window. Granting credit for a single tag would be a second mechanism for the same concern, and would let one tag stall unnoticed while the others flow.

func (*CreditGrant) Descriptor deprecated

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

Deprecated: Use CreditGrant.ProtoReflect.Descriptor instead.

func (*CreditGrant) GetAdditional

func (x *CreditGrant) GetAdditional() uint32

func (*CreditGrant) ProtoMessage

func (*CreditGrant) ProtoMessage()

func (*CreditGrant) ProtoReflect

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

func (*CreditGrant) Reset

func (x *CreditGrant) Reset()

func (*CreditGrant) String

func (x *CreditGrant) String() string

type CustomInvoke

type CustomInvoke struct {
	HandlerName string `protobuf:"bytes,1,opt,name=handler_name,json=handlerName,proto3" json:"handler_name,omitempty"`
	Input       []byte `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"`
	// contains filtered or unexported fields
}

func (*CustomInvoke) Descriptor deprecated

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

Deprecated: Use CustomInvoke.ProtoReflect.Descriptor instead.

func (*CustomInvoke) GetHandlerName

func (x *CustomInvoke) GetHandlerName() string

func (*CustomInvoke) GetInput

func (x *CustomInvoke) GetInput() []byte

func (*CustomInvoke) ProtoMessage

func (*CustomInvoke) ProtoMessage()

func (*CustomInvoke) ProtoReflect

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

func (*CustomInvoke) Reset

func (x *CustomInvoke) Reset()

func (*CustomInvoke) String

func (x *CustomInvoke) String() string

type CustomInvokeResult

type CustomInvokeResult struct {

	// Opaque, and carried to whoever asked for the invocation exactly as sent.
	// Whether it has to be text is that caller's constraint rather than this
	// contract's. The runtime's local invoke endpoint answers in JSON, so it
	// refuses output that is not valid UTF-8 rather than altering it.
	Output       []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// contains filtered or unexported fields
}

func (*CustomInvokeResult) Descriptor deprecated

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

Deprecated: Use CustomInvokeResult.ProtoReflect.Descriptor instead.

func (*CustomInvokeResult) GetErrorMessage

func (x *CustomInvokeResult) GetErrorMessage() string

func (*CustomInvokeResult) GetOutput

func (x *CustomInvokeResult) GetOutput() []byte

func (*CustomInvokeResult) ProtoMessage

func (*CustomInvokeResult) ProtoMessage()

func (*CustomInvokeResult) ProtoReflect

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

func (*CustomInvokeResult) Reset

func (x *CustomInvokeResult) Reset()

func (*CustomInvokeResult) String

func (x *CustomInvokeResult) String() string

type Dispatch

type Dispatch struct {
	Id          string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	HandlerTag  string `protobuf:"bytes,2,opt,name=handler_tag,json=handlerTag,proto3" json:"handler_tag,omitempty"`
	TimestampMs uint64 `protobuf:"varint,3,opt,name=timestamp_ms,json=timestampMs,proto3" json:"timestamp_ms,omitempty"`
	// When the runtime stops waiting for this event. The handler should treat it
	// as its own deadline; the runtime enforces it independently.
	DeadlineUnixMs int64 `protobuf:"varint,4,opt,name=deadline_unix_ms,json=deadlineUnixMs,proto3" json:"deadline_unix_ms,omitempty"`
	// The trace context of whatever produced the event, so a handler's spans
	// continue the trace rather than starting one of their own. Carries the W3C
	// trace context keys, `traceparent` and, where an upstream sent one,
	// `tracestate`, alongside platform specific ids such as `xray_trace_id`.
	//
	// Empty where the runtime has no trace to propagate, which is the case when
	// tracing is disabled.
	TraceContext map[string]string `` /* 171-byte string literal not displayed */
	// Types that are valid to be assigned to Source:
	//
	//	*Dispatch_Http
	//	*Dispatch_Websocket
	//	*Dispatch_Consumer
	//	*Dispatch_Schedule
	//	*Dispatch_Custom
	Source isDispatch_Source `protobuf_oneof:"source"`
	// contains filtered or unexported fields
}

func (*Dispatch) Descriptor deprecated

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

Deprecated: Use Dispatch.ProtoReflect.Descriptor instead.

func (*Dispatch) GetConsumer

func (x *Dispatch) GetConsumer() *ConsumerBatch

func (*Dispatch) GetCustom

func (x *Dispatch) GetCustom() *CustomInvoke

func (*Dispatch) GetDeadlineUnixMs

func (x *Dispatch) GetDeadlineUnixMs() int64

func (*Dispatch) GetHandlerTag

func (x *Dispatch) GetHandlerTag() string

func (*Dispatch) GetHttp

func (x *Dispatch) GetHttp() *HttpRequest

func (*Dispatch) GetId

func (x *Dispatch) GetId() string

func (*Dispatch) GetSchedule

func (x *Dispatch) GetSchedule() *ScheduleTrigger

func (*Dispatch) GetSource

func (x *Dispatch) GetSource() isDispatch_Source

func (*Dispatch) GetTimestampMs

func (x *Dispatch) GetTimestampMs() uint64

func (*Dispatch) GetTraceContext

func (x *Dispatch) GetTraceContext() map[string]string

func (*Dispatch) GetWebsocket

func (x *Dispatch) GetWebsocket() *WebSocketMessage

func (*Dispatch) ProtoMessage

func (*Dispatch) ProtoMessage()

func (*Dispatch) ProtoReflect

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

func (*Dispatch) Reset

func (x *Dispatch) Reset()

func (*Dispatch) String

func (x *Dispatch) String() string

type Dispatch_Consumer

type Dispatch_Consumer struct {
	Consumer *ConsumerBatch `protobuf:"bytes,12,opt,name=consumer,proto3,oneof"`
}

type Dispatch_Custom

type Dispatch_Custom struct {
	Custom *CustomInvoke `protobuf:"bytes,14,opt,name=custom,proto3,oneof"`
}

type Dispatch_Http

type Dispatch_Http struct {
	Http *HttpRequest `protobuf:"bytes,10,opt,name=http,proto3,oneof"`
}

type Dispatch_Schedule

type Dispatch_Schedule struct {
	Schedule *ScheduleTrigger `protobuf:"bytes,13,opt,name=schedule,proto3,oneof"`
}

type Dispatch_Websocket

type Dispatch_Websocket struct {
	Websocket *WebSocketMessage `protobuf:"bytes,11,opt,name=websocket,proto3,oneof"`
}

type Drain

type Drain struct {
	DeadlineUnixMs int64 `protobuf:"varint,1,opt,name=deadline_unix_ms,json=deadlineUnixMs,proto3" json:"deadline_unix_ms,omitempty"`
	// contains filtered or unexported fields
}

The runtime is going away: it stops dispatching and waits for in-flight work.

func (*Drain) Descriptor deprecated

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

Deprecated: Use Drain.ProtoReflect.Descriptor instead.

func (*Drain) GetDeadlineUnixMs

func (x *Drain) GetDeadlineUnixMs() int64

func (*Drain) ProtoMessage

func (*Drain) ProtoMessage()

func (*Drain) ProtoReflect

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

func (*Drain) Reset

func (x *Drain) Reset()

func (*Drain) String

func (x *Drain) String() string

type Draining

type Draining struct {
	DeadlineUnixMs int64 `protobuf:"varint,1,opt,name=deadline_unix_ms,json=deadlineUnixMs,proto3" json:"deadline_unix_ms,omitempty"`
	// contains filtered or unexported fields
}

The handler is going away, letting a supervisor roll handler processes without dropping work.

func (*Draining) Descriptor deprecated

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

Deprecated: Use Draining.ProtoReflect.Descriptor instead.

func (*Draining) GetDeadlineUnixMs

func (x *Draining) GetDeadlineUnixMs() int64

func (*Draining) ProtoMessage

func (*Draining) ProtoMessage()

func (*Draining) ProtoReflect

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

func (*Draining) Reset

func (x *Draining) Reset()

func (*Draining) String

func (x *Draining) String() string

type HandlerConfig

type HandlerConfig struct {

	// The blueprint resource this handler is declared as, which is what its
	// handler tag is built from.
	HandlerName    string `protobuf:"bytes,1,opt,name=handler_name,json=handlerName,proto3" json:"handler_name,omitempty"`
	HandlerTag     string `protobuf:"bytes,2,opt,name=handler_tag,json=handlerTag,proto3" json:"handler_tag,omitempty"`
	TimeoutMs      int64  `protobuf:"varint,3,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"`
	TracingEnabled bool   `protobuf:"varint,4,opt,name=tracing_enabled,json=tracingEnabled,proto3" json:"tracing_enabled,omitempty"`
	// The name the blueprint publishes this handler under, from spec.handlerName.
	// Empty when the blueprint does not set one. A deployment addresses a handler
	// by this name, and the runtime's local invoke endpoint accepts it alongside
	// the resource name.
	PublishedName string `protobuf:"bytes,5,opt,name=published_name,json=publishedName,proto3" json:"published_name,omitempty"`
	// contains filtered or unexported fields
}

func (*HandlerConfig) Descriptor deprecated

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

Deprecated: Use HandlerConfig.ProtoReflect.Descriptor instead.

func (*HandlerConfig) GetHandlerName

func (x *HandlerConfig) GetHandlerName() string

func (*HandlerConfig) GetHandlerTag

func (x *HandlerConfig) GetHandlerTag() string

func (*HandlerConfig) GetPublishedName

func (x *HandlerConfig) GetPublishedName() string

func (*HandlerConfig) GetTimeoutMs

func (x *HandlerConfig) GetTimeoutMs() int64

func (*HandlerConfig) GetTracingEnabled

func (x *HandlerConfig) GetTracingEnabled() bool

func (*HandlerConfig) ProtoMessage

func (*HandlerConfig) ProtoMessage()

func (*HandlerConfig) ProtoReflect

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

func (*HandlerConfig) Reset

func (x *HandlerConfig) Reset()

func (*HandlerConfig) String

func (x *HandlerConfig) String() string

type HandlerError

type HandlerError struct {
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	Type    string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	Stack   string `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"`
	// contains filtered or unexported fields
}

func (*HandlerError) Descriptor deprecated

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

Deprecated: Use HandlerError.ProtoReflect.Descriptor instead.

func (*HandlerError) GetMessage

func (x *HandlerError) GetMessage() string

func (*HandlerError) GetStack

func (x *HandlerError) GetStack() string

func (*HandlerError) GetType

func (x *HandlerError) GetType() string

func (*HandlerError) ProtoMessage

func (*HandlerError) ProtoMessage()

func (*HandlerError) ProtoReflect

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

func (*HandlerError) Reset

func (x *HandlerError) Reset()

func (*HandlerError) String

func (x *HandlerError) String() string

type HandlerLimit

type HandlerLimit struct {
	HandlerTag    string `protobuf:"bytes,1,opt,name=handler_tag,json=handlerTag,proto3" json:"handler_tag,omitempty"`
	MaxConcurrent uint32 `protobuf:"varint,2,opt,name=max_concurrent,json=maxConcurrent,proto3" json:"max_concurrent,omitempty"`
	// contains filtered or unexported fields
}

func (*HandlerLimit) Descriptor deprecated

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

Deprecated: Use HandlerLimit.ProtoReflect.Descriptor instead.

func (*HandlerLimit) GetHandlerTag

func (x *HandlerLimit) GetHandlerTag() string

func (*HandlerLimit) GetMaxConcurrent

func (x *HandlerLimit) GetMaxConcurrent() uint32

func (*HandlerLimit) ProtoMessage

func (*HandlerLimit) ProtoMessage()

func (*HandlerLimit) ProtoReflect

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

func (*HandlerLimit) Reset

func (x *HandlerLimit) Reset()

func (*HandlerLimit) String

func (x *HandlerLimit) String() string

type HandlerMessage

type HandlerMessage struct {

	// Types that are valid to be assigned to Frame:
	//
	//	*HandlerMessage_Ready
	//	*HandlerMessage_Result
	//	*HandlerMessage_Credit
	//	*HandlerMessage_WsSend
	//	*HandlerMessage_Draining
	Frame isHandlerMessage_Frame `protobuf_oneof:"frame"`
	// contains filtered or unexported fields
}

func (*HandlerMessage) Descriptor deprecated

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

Deprecated: Use HandlerMessage.ProtoReflect.Descriptor instead.

func (*HandlerMessage) GetCredit

func (x *HandlerMessage) GetCredit() *CreditGrant

func (*HandlerMessage) GetDraining

func (x *HandlerMessage) GetDraining() *Draining

func (*HandlerMessage) GetFrame

func (x *HandlerMessage) GetFrame() isHandlerMessage_Frame

func (*HandlerMessage) GetReady

func (x *HandlerMessage) GetReady() *Ready

func (*HandlerMessage) GetResult

func (x *HandlerMessage) GetResult() *Result

func (*HandlerMessage) GetWsSend

func (x *HandlerMessage) GetWsSend() *WsSend

func (*HandlerMessage) ProtoMessage

func (*HandlerMessage) ProtoMessage()

func (*HandlerMessage) ProtoReflect

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

func (*HandlerMessage) Reset

func (x *HandlerMessage) Reset()

func (*HandlerMessage) String

func (x *HandlerMessage) String() string

type HandlerMessage_Credit

type HandlerMessage_Credit struct {
	Credit *CreditGrant `protobuf:"bytes,3,opt,name=credit,proto3,oneof"`
}

type HandlerMessage_Draining

type HandlerMessage_Draining struct {
	Draining *Draining `protobuf:"bytes,5,opt,name=draining,proto3,oneof"`
}

type HandlerMessage_Ready

type HandlerMessage_Ready struct {
	Ready *Ready `protobuf:"bytes,1,opt,name=ready,proto3,oneof"`
}

type HandlerMessage_Result

type HandlerMessage_Result struct {
	Result *Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"`
}

type HandlerMessage_WsSend

type HandlerMessage_WsSend struct {
	WsSend *WsSend `protobuf:"bytes,4,opt,name=ws_send,json=wsSend,proto3,oneof"`
}

type HandlerRuntimeServiceClient

type HandlerRuntimeServiceClient interface {
	EventStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[HandlerMessage, RuntimeMessage], error)
}

HandlerRuntimeServiceClient is the client API for HandlerRuntimeService 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.

One long-lived bidirectional stream carries everything: events, results, configuration, WebSocket sends, handler-to-handler invocation, cancellation and shutdown.

type HandlerRuntimeServiceServer

type HandlerRuntimeServiceServer interface {
	EventStream(grpc.BidiStreamingServer[HandlerMessage, RuntimeMessage]) error
	// contains filtered or unexported methods
}

HandlerRuntimeServiceServer is the server API for HandlerRuntimeService service. All implementations must embed UnimplementedHandlerRuntimeServiceServer for forward compatibility.

One long-lived bidirectional stream carries everything: events, results, configuration, WebSocket sends, handler-to-handler invocation, cancellation and shutdown.

type HandlerRuntimeService_EventStreamClient

type HandlerRuntimeService_EventStreamClient = grpc.BidiStreamingClient[HandlerMessage, RuntimeMessage]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type HandlerRuntimeService_EventStreamServer

type HandlerRuntimeService_EventStreamServer = grpc.BidiStreamingServer[HandlerMessage, RuntimeMessage]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type HttpRequest

type HttpRequest struct {

	// Uppercase and canonical.
	Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
	// Raw, percent-encoded as received.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// The route template this request matched, in the router's own form, so a
	// blueprint's /files/{path+} arrives as /files/{*path}. The same form the
	// handler tag is built from.
	Route string `protobuf:"bytes,3,opt,name=route,proto3" json:"route,omitempty"`
	// A catch-all parameter yields one value per path segment. Segments are split
	// from the raw path before being percent-decoded, so a segment containing an
	// encoded separator survives intact.
	PathParams  map[string]*Values `` /* 165-byte string literal not displayed */
	QueryParams map[string]*Values `` /* 168-byte string literal not displayed */
	// Names are lowercase.
	Headers   map[string]*Values `` /* 141-byte string literal not displayed */
	SourceIp  string             `protobuf:"bytes,7,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"`
	RequestId string             `protobuf:"bytes,8,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Opaque. The runtime never parses this; the media type comes from the
	// content-type header.
	Body []byte `protobuf:"bytes,9,opt,name=body,proto3" json:"body,omitempty"`
	// contains filtered or unexported fields
}

func (*HttpRequest) Descriptor deprecated

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

Deprecated: Use HttpRequest.ProtoReflect.Descriptor instead.

func (*HttpRequest) GetBody

func (x *HttpRequest) GetBody() []byte

func (*HttpRequest) GetHeaders

func (x *HttpRequest) GetHeaders() map[string]*Values

func (*HttpRequest) GetMethod

func (x *HttpRequest) GetMethod() string

func (*HttpRequest) GetPath

func (x *HttpRequest) GetPath() string

func (*HttpRequest) GetPathParams

func (x *HttpRequest) GetPathParams() map[string]*Values

func (*HttpRequest) GetQueryParams

func (x *HttpRequest) GetQueryParams() map[string]*Values

func (*HttpRequest) GetRequestId

func (x *HttpRequest) GetRequestId() string

func (*HttpRequest) GetRoute

func (x *HttpRequest) GetRoute() string

func (*HttpRequest) GetSourceIp

func (x *HttpRequest) GetSourceIp() string

func (*HttpRequest) ProtoMessage

func (*HttpRequest) ProtoMessage()

func (*HttpRequest) ProtoReflect

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

func (*HttpRequest) Reset

func (x *HttpRequest) Reset()

func (*HttpRequest) String

func (x *HttpRequest) String() string

type HttpResponse

type HttpResponse struct {

	// 100 to 999. The smallest integer protobuf offers is wider than a status can
	// be, so a value outside that range is a fault in the handler and the runtime
	// answers 500 rather than narrowing it, which would let 65736 arrive as 200.
	Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// Multi-valued, so a handler can emit two Set-Cookie headers, which RFC 9110
	// forbids folding into one comma-separated value.
	Headers map[string]*Values `` /* 141-byte string literal not displayed */
	Body    []byte             `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	// contains filtered or unexported fields
}

func (*HttpResponse) Descriptor deprecated

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

Deprecated: Use HttpResponse.ProtoReflect.Descriptor instead.

func (*HttpResponse) GetBody

func (x *HttpResponse) GetBody() []byte

func (*HttpResponse) GetHeaders

func (x *HttpResponse) GetHeaders() map[string]*Values

func (*HttpResponse) GetStatus

func (x *HttpResponse) GetStatus() uint32

func (*HttpResponse) ProtoMessage

func (*HttpResponse) ProtoMessage()

func (*HttpResponse) ProtoReflect

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

func (*HttpResponse) Reset

func (x *HttpResponse) Reset()

func (*HttpResponse) String

func (x *HttpResponse) String() string

type ProtocolVersion

type ProtocolVersion struct {
	Major uint32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`
	Minor uint32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`
	// contains filtered or unexported fields
}

The version of this protocol that one end of the stream speaks.

Minor versions are additive, so a handler built against an earlier minor of the same major serves unchanged against a later one. A different major is not compatible in either direction.

func (*ProtocolVersion) Descriptor deprecated

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

Deprecated: Use ProtocolVersion.ProtoReflect.Descriptor instead.

func (*ProtocolVersion) GetMajor

func (x *ProtocolVersion) GetMajor() uint32

func (*ProtocolVersion) GetMinor

func (x *ProtocolVersion) GetMinor() uint32

func (*ProtocolVersion) ProtoMessage

func (*ProtocolVersion) ProtoMessage()

func (*ProtocolVersion) ProtoReflect

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

func (*ProtocolVersion) Reset

func (x *ProtocolVersion) Reset()

func (*ProtocolVersion) String

func (x *ProtocolVersion) String() string

type Ready

type Ready struct {

	// The handler tags this process actually serves.
	HandlerTags []string `protobuf:"bytes,1,rep,name=handler_tags,json=handlerTags,proto3" json:"handler_tags,omitempty"`
	// Total events the runtime may have in flight to this process, across all
	// tags. SDKs should set this to their worker pool size: throughput saturates
	// there, and every unit beyond it adds latency for almost no throughput.
	InitialCredit uint32 `protobuf:"varint,2,opt,name=initial_credit,json=initialCredit,proto3" json:"initial_credit,omitempty"`
	SdkVersion    string `protobuf:"bytes,3,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"`
	// Optional per-tag concurrency caps, so one slow tag cannot consume the whole
	// credit window and starve the others.
	Limits []*HandlerLimit `protobuf:"bytes,4,rep,name=limits,proto3" json:"limits,omitempty"`
	// The protocol version this handler was built against. Required. A handler
	// that declares none was built against a version this contract cannot
	// determine, and is refused rather than assumed to speak the current one.
	ProtocolVersion *ProtocolVersion `protobuf:"bytes,5,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
	// contains filtered or unexported fields
}

Declares what this handler process serves and how much work it can take.

The runtime does not dispatch until this arrives, which is the readiness signal a polling transport has no way to express.

func (*Ready) Descriptor deprecated

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

Deprecated: Use Ready.ProtoReflect.Descriptor instead.

func (*Ready) GetHandlerTags

func (x *Ready) GetHandlerTags() []string

func (*Ready) GetInitialCredit

func (x *Ready) GetInitialCredit() uint32

func (*Ready) GetLimits

func (x *Ready) GetLimits() []*HandlerLimit

func (*Ready) GetProtocolVersion

func (x *Ready) GetProtocolVersion() *ProtocolVersion

func (*Ready) GetSdkVersion

func (x *Ready) GetSdkVersion() string

func (*Ready) ProtoMessage

func (*Ready) ProtoMessage()

func (*Ready) ProtoReflect

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

func (*Ready) Reset

func (x *Ready) Reset()

func (*Ready) String

func (x *Ready) String() string

type ReadyAck

type ReadyAck struct {
	Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`
	// Registered by the handler but absent from the blueprint.
	UnknownTags []string `protobuf:"bytes,2,rep,name=unknown_tags,json=unknownTags,proto3" json:"unknown_tags,omitempty"`
	// Present in the blueprint but not registered by the handler.
	UnhandledTags []string `protobuf:"bytes,3,rep,name=unhandled_tags,json=unhandledTags,proto3" json:"unhandled_tags,omitempty"`
	// Unspecified where the handler was accepted, since the tag lists alone
	// cannot tell a version refusal from an accepted handler with nothing to
	// report.
	RefusedReason ReadyAck_RefusedReason `` /* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

Reports whether the handler's registered tags line up with the blueprint.

A mismatch is a startup error here rather than a 404 in production.

func (*ReadyAck) Descriptor deprecated

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

Deprecated: Use ReadyAck.ProtoReflect.Descriptor instead.

func (*ReadyAck) GetAccepted

func (x *ReadyAck) GetAccepted() bool

func (*ReadyAck) GetRefusedReason

func (x *ReadyAck) GetRefusedReason() ReadyAck_RefusedReason

func (*ReadyAck) GetUnhandledTags

func (x *ReadyAck) GetUnhandledTags() []string

func (*ReadyAck) GetUnknownTags

func (x *ReadyAck) GetUnknownTags() []string

func (*ReadyAck) ProtoMessage

func (*ReadyAck) ProtoMessage()

func (*ReadyAck) ProtoReflect

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

func (*ReadyAck) Reset

func (x *ReadyAck) Reset()

func (*ReadyAck) String

func (x *ReadyAck) String() string

type ReadyAck_RefusedReason

type ReadyAck_RefusedReason int32
const (
	ReadyAck_REFUSED_REASON_UNSPECIFIED ReadyAck_RefusedReason = 0
	// The tag lists above say which.
	ReadyAck_REFUSED_REASON_TAG_MISMATCH ReadyAck_RefusedReason = 1
	// The handler declared no protocol version, or one whose major the runtime
	// does not serve. The runtime's own version is in RuntimeConfig, which the
	// handler already has by this point.
	ReadyAck_REFUSED_REASON_PROTOCOL_VERSION ReadyAck_RefusedReason = 2
)

func (ReadyAck_RefusedReason) Descriptor

func (ReadyAck_RefusedReason) Enum

func (ReadyAck_RefusedReason) EnumDescriptor deprecated

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

Deprecated: Use ReadyAck_RefusedReason.Descriptor instead.

func (ReadyAck_RefusedReason) Number

func (ReadyAck_RefusedReason) String

func (x ReadyAck_RefusedReason) String() string

func (ReadyAck_RefusedReason) Type

type RecordFailure

type RecordFailure struct {

	// As it arrived on the ConsumerRecord. A name that matches no record in the
	// batch leaves nothing behind, so a handler that rewrites or generates ids
	// has to answer with the ones it was given.
	MessageId    string `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// contains filtered or unexported fields
}

func (*RecordFailure) Descriptor deprecated

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

Deprecated: Use RecordFailure.ProtoReflect.Descriptor instead.

func (*RecordFailure) GetErrorMessage

func (x *RecordFailure) GetErrorMessage() string

func (*RecordFailure) GetMessageId

func (x *RecordFailure) GetMessageId() string

func (*RecordFailure) ProtoMessage

func (*RecordFailure) ProtoMessage()

func (*RecordFailure) ProtoReflect

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

func (*RecordFailure) Reset

func (x *RecordFailure) Reset()

func (*RecordFailure) String

func (x *RecordFailure) String() string

type Result

type Result struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Credit returned along with this result. Zero withholds, telling the runtime
	// to stop dispatching to this stream until a later CreditGrant. SDKs should
	// default to 1 and must send this even when the handler panics, since a
	// missed grant drains the window and stalls the stream silently.
	//
	// When the runtime has already taken the place back, having cancelled the
	// event and waited out the grace period, a grant here is ignored, since
	// returning the same place twice would grow the window. Zero still withholds,
	// and the runtime gives up the place it returned.
	CreditGrant uint32 `protobuf:"varint,2,opt,name=credit_grant,json=creditGrant,proto3" json:"credit_grant,omitempty"`
	// Types that are valid to be assigned to Outcome:
	//
	//	*Result_Http
	//	*Result_Websocket
	//	*Result_Consumer
	//	*Result_Schedule
	//	*Result_Custom
	//	*Result_Error
	Outcome isResult_Outcome `protobuf_oneof:"outcome"`
	// contains filtered or unexported fields
}

func (*Result) Descriptor deprecated

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

Deprecated: Use Result.ProtoReflect.Descriptor instead.

func (*Result) GetConsumer

func (x *Result) GetConsumer() *BatchResult

func (*Result) GetCreditGrant

func (x *Result) GetCreditGrant() uint32

func (*Result) GetCustom

func (x *Result) GetCustom() *CustomInvokeResult

func (*Result) GetError

func (x *Result) GetError() *HandlerError

func (*Result) GetHttp

func (x *Result) GetHttp() *HttpResponse

func (*Result) GetId

func (x *Result) GetId() string

func (*Result) GetOutcome

func (x *Result) GetOutcome() isResult_Outcome

func (*Result) GetSchedule

func (x *Result) GetSchedule() *Ack

func (*Result) GetWebsocket

func (x *Result) GetWebsocket() *Ack

func (*Result) ProtoMessage

func (*Result) ProtoMessage()

func (*Result) ProtoReflect

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

func (*Result) Reset

func (x *Result) Reset()

func (*Result) String

func (x *Result) String() string

type Result_Consumer

type Result_Consumer struct {
	Consumer *BatchResult `protobuf:"bytes,12,opt,name=consumer,proto3,oneof"`
}

type Result_Custom

type Result_Custom struct {
	Custom *CustomInvokeResult `protobuf:"bytes,14,opt,name=custom,proto3,oneof"`
}

type Result_Error

type Result_Error struct {
	// An unhandled error in user code.
	Error *HandlerError `protobuf:"bytes,15,opt,name=error,proto3,oneof"`
}

type Result_Http

type Result_Http struct {
	Http *HttpResponse `protobuf:"bytes,10,opt,name=http,proto3,oneof"`
}

type Result_Schedule

type Result_Schedule struct {
	Schedule *Ack `protobuf:"bytes,13,opt,name=schedule,proto3,oneof"`
}

type Result_Websocket

type Result_Websocket struct {
	Websocket *Ack `protobuf:"bytes,11,opt,name=websocket,proto3,oneof"`
}

type RuntimeConfig

type RuntimeConfig struct {
	TracingEnabled bool             `protobuf:"varint,1,opt,name=tracing_enabled,json=tracingEnabled,proto3" json:"tracing_enabled,omitempty"`
	MetricsEnabled bool             `protobuf:"varint,2,opt,name=metrics_enabled,json=metricsEnabled,proto3" json:"metrics_enabled,omitempty"`
	Handlers       []*HandlerConfig `protobuf:"bytes,3,rep,name=handlers,proto3" json:"handlers,omitempty"`
	// The protocol version this runtime serves, sent before the handler is asked
	// for anything so that it can refuse for itself rather than waiting to be
	// refused.
	ProtocolVersion *ProtocolVersion `protobuf:"bytes,4,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
	// contains filtered or unexported fields
}

func (*RuntimeConfig) Descriptor deprecated

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

Deprecated: Use RuntimeConfig.ProtoReflect.Descriptor instead.

func (*RuntimeConfig) GetHandlers

func (x *RuntimeConfig) GetHandlers() []*HandlerConfig

func (*RuntimeConfig) GetMetricsEnabled

func (x *RuntimeConfig) GetMetricsEnabled() bool

func (*RuntimeConfig) GetProtocolVersion

func (x *RuntimeConfig) GetProtocolVersion() *ProtocolVersion

func (*RuntimeConfig) GetTracingEnabled

func (x *RuntimeConfig) GetTracingEnabled() bool

func (*RuntimeConfig) ProtoMessage

func (*RuntimeConfig) ProtoMessage()

func (*RuntimeConfig) ProtoReflect

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

func (*RuntimeConfig) Reset

func (x *RuntimeConfig) Reset()

func (*RuntimeConfig) String

func (x *RuntimeConfig) String() string

type RuntimeMessage

type RuntimeMessage struct {

	// Types that are valid to be assigned to Frame:
	//
	//	*RuntimeMessage_Config
	//	*RuntimeMessage_ReadyAck
	//	*RuntimeMessage_Dispatch
	//	*RuntimeMessage_Cancel
	//	*RuntimeMessage_Drain
	//	*RuntimeMessage_WsAck
	Frame isRuntimeMessage_Frame `protobuf_oneof:"frame"`
	// contains filtered or unexported fields
}

func (*RuntimeMessage) Descriptor deprecated

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

Deprecated: Use RuntimeMessage.ProtoReflect.Descriptor instead.

func (*RuntimeMessage) GetCancel

func (x *RuntimeMessage) GetCancel() *Cancel

func (*RuntimeMessage) GetConfig

func (x *RuntimeMessage) GetConfig() *RuntimeConfig

func (*RuntimeMessage) GetDispatch

func (x *RuntimeMessage) GetDispatch() *Dispatch

func (*RuntimeMessage) GetDrain

func (x *RuntimeMessage) GetDrain() *Drain

func (*RuntimeMessage) GetFrame

func (x *RuntimeMessage) GetFrame() isRuntimeMessage_Frame

func (*RuntimeMessage) GetReadyAck

func (x *RuntimeMessage) GetReadyAck() *ReadyAck

func (*RuntimeMessage) GetWsAck

func (x *RuntimeMessage) GetWsAck() *WsSendAck

func (*RuntimeMessage) ProtoMessage

func (*RuntimeMessage) ProtoMessage()

func (*RuntimeMessage) ProtoReflect

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

func (*RuntimeMessage) Reset

func (x *RuntimeMessage) Reset()

func (*RuntimeMessage) String

func (x *RuntimeMessage) String() string

type RuntimeMessage_Cancel

type RuntimeMessage_Cancel struct {
	Cancel *Cancel `protobuf:"bytes,4,opt,name=cancel,proto3,oneof"`
}

type RuntimeMessage_Config

type RuntimeMessage_Config struct {
	// Sent first, before the handler's Ready, so an SDK can check the handlers
	// registered in code against the ones the blueprint declares.
	Config *RuntimeConfig `protobuf:"bytes,1,opt,name=config,proto3,oneof"`
}

type RuntimeMessage_Dispatch

type RuntimeMessage_Dispatch struct {
	Dispatch *Dispatch `protobuf:"bytes,3,opt,name=dispatch,proto3,oneof"`
}

type RuntimeMessage_Drain

type RuntimeMessage_Drain struct {
	Drain *Drain `protobuf:"bytes,5,opt,name=drain,proto3,oneof"`
}

type RuntimeMessage_ReadyAck

type RuntimeMessage_ReadyAck struct {
	ReadyAck *ReadyAck `protobuf:"bytes,2,opt,name=ready_ack,json=readyAck,proto3,oneof"`
}

type RuntimeMessage_WsAck

type RuntimeMessage_WsAck struct {
	WsAck *WsSendAck `protobuf:"bytes,6,opt,name=ws_ack,json=wsAck,proto3,oneof"`
}

type ScheduleTrigger

type ScheduleTrigger struct {
	ScheduleId string `protobuf:"bytes,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
	MessageId  string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	Schedule   string `protobuf:"bytes,3,opt,name=schedule,proto3" json:"schedule,omitempty"`
	Input      []byte `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"`
	Vendor     []byte `protobuf:"bytes,5,opt,name=vendor,proto3" json:"vendor,omitempty"`
	// contains filtered or unexported fields
}

func (*ScheduleTrigger) Descriptor deprecated

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

Deprecated: Use ScheduleTrigger.ProtoReflect.Descriptor instead.

func (*ScheduleTrigger) GetInput

func (x *ScheduleTrigger) GetInput() []byte

func (*ScheduleTrigger) GetMessageId

func (x *ScheduleTrigger) GetMessageId() string

func (*ScheduleTrigger) GetSchedule

func (x *ScheduleTrigger) GetSchedule() string

func (*ScheduleTrigger) GetScheduleId

func (x *ScheduleTrigger) GetScheduleId() string

func (*ScheduleTrigger) GetVendor

func (x *ScheduleTrigger) GetVendor() []byte

func (*ScheduleTrigger) ProtoMessage

func (*ScheduleTrigger) ProtoMessage()

func (*ScheduleTrigger) ProtoReflect

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

func (*ScheduleTrigger) Reset

func (x *ScheduleTrigger) Reset()

func (*ScheduleTrigger) String

func (x *ScheduleTrigger) String() string

type UnimplementedHandlerRuntimeServiceServer

type UnimplementedHandlerRuntimeServiceServer struct{}

UnimplementedHandlerRuntimeServiceServer must 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 (UnimplementedHandlerRuntimeServiceServer) EventStream

type UnsafeHandlerRuntimeServiceServer

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

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

type Values

type Values struct {
	Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

Ordered values for one parameter or header name.

Order within a name is significant (RFC 9110 section 5.3); order across names is not. Protobuf maps cannot hold repeated values directly, so this wrapper carries them.

func (*Values) Descriptor deprecated

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

Deprecated: Use Values.ProtoReflect.Descriptor instead.

func (*Values) GetValues

func (x *Values) GetValues() []string

func (*Values) ProtoMessage

func (*Values) ProtoMessage()

func (*Values) ProtoReflect

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

func (*Values) Reset

func (x *Values) Reset()

func (*Values) String

func (x *Values) String() string

type WebSocketMessage

type WebSocketMessage struct {
	Route        string `protobuf:"bytes,1,opt,name=route,proto3" json:"route,omitempty"`
	ConnectionId string `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
	SourceIp     string `protobuf:"bytes,3,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"`
	RequestId    string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	Message      []byte `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
	// Whether this arrived as a binary frame rather than a text one. A byte body
	// alone cannot express the distinction, and the WebSocket protocol treats
	// the two frame types as distinct.
	IsBinary bool `protobuf:"varint,6,opt,name=is_binary,json=isBinary,proto3" json:"is_binary,omitempty"`
	// The id this message is known by, which is the one the client gave it when
	// it gave one and a runtime generated one otherwise.
	//
	// Distinct from request_id, which identifies the delivery. This identifies
	// the message, so it is what an acknowledgement names and what a lost
	// message notification refers to, and a handler needs it to tie its own
	// instrumentation to what the client sees.
	MessageId string `protobuf:"bytes,7,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	// contains filtered or unexported fields
}

func (*WebSocketMessage) Descriptor deprecated

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

Deprecated: Use WebSocketMessage.ProtoReflect.Descriptor instead.

func (*WebSocketMessage) GetConnectionId

func (x *WebSocketMessage) GetConnectionId() string

func (*WebSocketMessage) GetIsBinary

func (x *WebSocketMessage) GetIsBinary() bool

func (*WebSocketMessage) GetMessage

func (x *WebSocketMessage) GetMessage() []byte

func (*WebSocketMessage) GetMessageId

func (x *WebSocketMessage) GetMessageId() string

func (*WebSocketMessage) GetRequestId

func (x *WebSocketMessage) GetRequestId() string

func (*WebSocketMessage) GetRoute

func (x *WebSocketMessage) GetRoute() string

func (*WebSocketMessage) GetSourceIp

func (x *WebSocketMessage) GetSourceIp() string

func (*WebSocketMessage) ProtoMessage

func (*WebSocketMessage) ProtoMessage()

func (*WebSocketMessage) ProtoReflect

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

func (*WebSocketMessage) Reset

func (x *WebSocketMessage) Reset()

func (*WebSocketMessage) String

func (x *WebSocketMessage) String() string

type WsOutbound

type WsOutbound struct {
	ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
	// Sent to the socket exactly as given.
	//
	// When is_binary is set this must be in the Celerity Binary Message Format,
	// `<routeLength><route><requireAck><messageIdLength><messageId><message>`. A
	// client reads every binary frame that is not a reserved one as a framed
	// message, so raw bytes are not read as a payload, they are read as a route
	// length, a route and an id, leaving the application a short payload under a
	// route nothing serves. A message carrying no id sets both requireAck and
	// messageIdLength to zero. The runtime refuses a binary message it cannot
	// read as a frame rather than sending one no client can use, reporting it as
	// a WsSendFailure for that message.
	//
	// Text messages are unconstrained beyond the protocol's reserved keys.
	Message             []byte   `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	IsBinary            bool     `protobuf:"varint,3,opt,name=is_binary,json=isBinary,proto3" json:"is_binary,omitempty"`
	InformClientsOnLoss []string `protobuf:"bytes,4,rep,name=inform_clients_on_loss,json=informClientsOnLoss,proto3" json:"inform_clients_on_loss,omitempty"`
	// Identifies this message to the runtime, for the acknowledgement between
	// nodes when the target connection lives on another one, and in the loss
	// event delivered to the clients named in inform_clients_on_loss. Generated
	// by the runtime when left empty, which is the right choice unless the
	// handler needs to match a loss event back to what it sent.
	//
	// Not the message id the client sees. The runtime sends `message` to the
	// socket exactly as given, so a client-visible id, and the acknowledgement
	// and deduplication that depend on it, is something the handler puts in the
	// payload it composes.
	MessageId string `protobuf:"bytes,5,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	// The connection that caused this message to be sent, carried through to the
	// loss event so an informed client can tell who was being replied to. Only
	// meaningful alongside inform_clients_on_loss.
	Caller string `protobuf:"bytes,6,opt,name=caller,proto3" json:"caller,omitempty"`
	// Whether the WsSendAck for this message waits for the client to acknowledge
	// it, rather than reporting the write to the socket.
	//
	// The message has to ask the client for an acknowledgement in the payload it
	// carries, which the runtime does not compose. Setting this for one that
	// asks nothing leaves the send waiting for an answer that is never coming,
	// until the runtime declares the message lost.
	//
	// Waited for wherever the connection is, so a send means the same thing in a
	// single node deployment as in a cluster. Sending it again while attempts
	// remain, and declaring it lost when they run out, is the runtime's to do.
	WaitForAck bool `protobuf:"varint,7,opt,name=wait_for_ack,json=waitForAck,proto3" json:"wait_for_ack,omitempty"`
	// contains filtered or unexported fields
}

func (*WsOutbound) Descriptor deprecated

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

Deprecated: Use WsOutbound.ProtoReflect.Descriptor instead.

func (*WsOutbound) GetCaller

func (x *WsOutbound) GetCaller() string

func (*WsOutbound) GetConnectionId

func (x *WsOutbound) GetConnectionId() string

func (*WsOutbound) GetInformClientsOnLoss

func (x *WsOutbound) GetInformClientsOnLoss() []string

func (*WsOutbound) GetIsBinary

func (x *WsOutbound) GetIsBinary() bool

func (*WsOutbound) GetMessage

func (x *WsOutbound) GetMessage() []byte

func (*WsOutbound) GetMessageId

func (x *WsOutbound) GetMessageId() string

func (*WsOutbound) GetWaitForAck

func (x *WsOutbound) GetWaitForAck() bool

func (*WsOutbound) ProtoMessage

func (*WsOutbound) ProtoMessage()

func (*WsOutbound) ProtoReflect

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

func (*WsOutbound) Reset

func (x *WsOutbound) Reset()

func (*WsOutbound) String

func (x *WsOutbound) String() string

type WsSend

type WsSend struct {
	CorrelationId string        `protobuf:"bytes,1,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	Messages      []*WsOutbound `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

func (*WsSend) Descriptor deprecated

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

Deprecated: Use WsSend.ProtoReflect.Descriptor instead.

func (*WsSend) GetCorrelationId

func (x *WsSend) GetCorrelationId() string

func (*WsSend) GetMessages

func (x *WsSend) GetMessages() []*WsOutbound

func (*WsSend) ProtoMessage

func (*WsSend) ProtoMessage()

func (*WsSend) ProtoReflect

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

func (*WsSend) Reset

func (x *WsSend) Reset()

func (*WsSend) String

func (x *WsSend) String() string

type WsSendAck

type WsSendAck struct {
	CorrelationId string `protobuf:"bytes,1,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	// True when every message was delivered, equivalent to failures being empty.
	Success  bool             `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
	Failures []*WsSendFailure `protobuf:"bytes,3,rep,name=failures,proto3" json:"failures,omitempty"`
	// contains filtered or unexported fields
}

Reports what happened to each message in a WsSend.

Failures are per message rather than per batch because a client has no way to deduplicate: a message reaches it as a bare text or binary frame with no id, so re-sending one that already arrived is visible to the application. A handler must therefore be able to retry exactly what failed.

func (*WsSendAck) Descriptor deprecated

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

Deprecated: Use WsSendAck.ProtoReflect.Descriptor instead.

func (*WsSendAck) GetCorrelationId

func (x *WsSendAck) GetCorrelationId() string

func (*WsSendAck) GetFailures

func (x *WsSendAck) GetFailures() []*WsSendFailure

func (*WsSendAck) GetSuccess

func (x *WsSendAck) GetSuccess() bool

func (*WsSendAck) ProtoMessage

func (*WsSendAck) ProtoMessage()

func (*WsSendAck) ProtoReflect

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

func (*WsSendAck) Reset

func (x *WsSendAck) Reset()

func (*WsSendAck) String

func (x *WsSendAck) String() string

type WsSendFailure

type WsSendFailure struct {

	// Index into WsSend.messages. Identifies the message rather than message_id
	// does, because the runtime generates that when the handler leaves it empty,
	// so the handler may never have seen it.
	Index        uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	ConnectionId string `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
	ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// contains filtered or unexported fields
}

func (*WsSendFailure) Descriptor deprecated

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

Deprecated: Use WsSendFailure.ProtoReflect.Descriptor instead.

func (*WsSendFailure) GetConnectionId

func (x *WsSendFailure) GetConnectionId() string

func (*WsSendFailure) GetErrorMessage

func (x *WsSendFailure) GetErrorMessage() string

func (*WsSendFailure) GetIndex

func (x *WsSendFailure) GetIndex() uint32

func (*WsSendFailure) ProtoMessage

func (*WsSendFailure) ProtoMessage()

func (*WsSendFailure) ProtoReflect

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

func (*WsSendFailure) Reset

func (x *WsSendFailure) Reset()

func (*WsSendFailure) String

func (x *WsSendFailure) String() string

Jump to

Keyboard shortcuts

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