Documentation ¶
Index ¶
- func WithContext(ctx context.Context, ftl FTL) context.Context
- type FTL
- type RealFTL
- func (r *RealFTL) CallMap(ctx context.Context, mapper any, value any, ...) any
- func (r *RealFTL) FSMSend(ctx context.Context, fsm, instance string, event any) error
- func (r *RealFTL) GetConfig(_ context.Context, name string, dest any) error
- func (r *RealFTL) GetSecret(_ context.Context, name string, dest any) error
- func (r *RealFTL) PublishEvent(ctx context.Context, topic *schema.Ref, event any) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type FTL ¶
type FTL interface { // FSMSend sends an event to an instance of an FSM. FSMSend(ctx context.Context, fsm, instance string, data any) error // PublishEvent sends an event to a pubsub topic. PublishEvent(ctx context.Context, topic *schema.Ref, event any) error // CallMap calls Get on an instance of an ftl.Map. // // "mapper" is a pointer to an instance of an ftl.MapHandle. "value" is the // value being mapped. "mapImpl" is a function that will be called to // compute the mapped value. CallMap(ctx context.Context, mapper any, value any, mapImpl func(context.Context) (any, error)) any // GetConfig unmarshals a configuration value into dest. GetConfig(ctx context.Context, name string, dest any) error // GetSecret unmarshals a secret value into dest. GetSecret(ctx context.Context, name string, dest any) error }
FTL is the interface that the FTL runtime provides to user code.
In production, the FTL runtime will provide an implementation of this interface that communicates with the Controller over gRPC.
In testing code, the implementation will inject fakes and other test implementations.
func FromContext ¶
FromContext returns the FTL instance from the context.
type RealFTL ¶
type RealFTL struct {
// contains filtered or unexported fields
}
RealFTL is the real implementation of the internal.FTL interface using the Controller.
Click to show internal directories.
Click to hide internal directories.