Documentation
¶
Index ¶
- Constants
- Variables
- type ArithmeticIn
- type ArithmeticOut
- type ArithmeticResponse
- type Client
- func (_c Client) Arithmetic(ctx context.Context, x int, op string, y int) (xEcho int, opEcho string, yEcho int, result int, err error)
- func (_c Client) Distance(ctx context.Context, p1 Point, p2 Point) (d float64, err error)
- func (_c Client) ForHost(host string) Client
- func (_c Client) Square(ctx context.Context, x int) (xEcho int, result int, err error)
- func (_c Client) WithOptions(opts ...pub.Option) Client
- type Def
- type DistanceIn
- type DistanceOut
- type DistanceResponse
- type Executor
- type Hook
- type MulticastClient
- func (_c MulticastClient) Arithmetic(ctx context.Context, x int, op string, y int) iter.Seq[*ArithmeticResponse]
- func (_c MulticastClient) Distance(ctx context.Context, p1 Point, p2 Point) iter.Seq[*DistanceResponse]
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Square(ctx context.Context, x int) iter.Seq[*SquareResponse]
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
- type MulticastTrigger
- type Point
- type SquareIn
- type SquareOut
- type SquareResponse
Constants ¶
const Hostname = "calculator.example"
Hostname is the default hostname of the microservice.
Variables ¶
var ( // HINT: Insert endpoint definitions here Arithmetic = Def{Method: "GET", Route: ":443/arithmetic"} // MARKER: Arithmetic Square = Def{Method: "GET", Route: ":443/square"} // MARKER: Square Distance = Def{Method: "ANY", Route: ":443/distance"} // MARKER: Distance )
Functions ¶
This section is empty.
Types ¶
type ArithmeticIn ¶
type ArithmeticIn struct {
X int `json:"x,omitzero"`
Op string `json:"op,omitzero"`
Y int `json:"y,omitzero"`
}
ArithmeticIn are the input arguments of Arithmetic.
type ArithmeticOut ¶
type ArithmeticOut struct {
XEcho int `json:"xEcho,omitzero"`
OpEcho string `json:"opEcho,omitzero"`
YEcho int `json:"yEcho,omitzero"`
Result int `json:"result,omitzero"`
}
ArithmeticOut are the output arguments of Arithmetic.
type ArithmeticResponse ¶
type ArithmeticResponse multicastResponse // MARKER: Arithmetic
ArithmeticResponse packs the response of Arithmetic.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a lightweight proxy for making unicast calls to the microservice.
func (Client) Arithmetic ¶
func (_c Client) Arithmetic(ctx context.Context, x int, op string, y int) (xEcho int, opEcho string, yEcho int, result int, err error)
Arithmetic performs an arithmetic operation between two integers x and y given an operator op.
func (Client) Distance ¶
Distance calculates the distance between two points. It demonstrates the use of the defined type Point.
func (Client) ForHost ¶
ForHost returns a copy of the client with a different hostname to be applied to requests.
type DistanceIn ¶
DistanceIn are the input arguments of Distance.
type DistanceOut ¶
type DistanceOut struct {
D float64 `json:"d,omitzero"`
}
DistanceOut are the output arguments of Distance.
type DistanceResponse ¶
type DistanceResponse multicastResponse // MARKER: Distance
DistanceResponse packs the response of Distance.
func (*DistanceResponse) Get ¶
func (_res *DistanceResponse) Get() (d float64, err error)
Get unpacks the return arguments of Distance.
type Executor ¶ added in v1.26.0
type Executor struct {
// contains filtered or unexported fields
}
Executor runs tasks and workflows synchronously, blocking until termination. It is primarily intended for integration tests. Production code should use the foreman Client to create and start flows asynchronously.
func NewExecutor ¶ added in v1.26.0
NewExecutor creates a new executor proxy to the microservice.
func (Executor) ForHost ¶ added in v1.26.0
ForHost returns a copy of the executor with a different hostname to be applied to requests.
func (Executor) WithInputFlow ¶ added in v1.26.0
WithInputFlow returns a copy of the executor with an input flow to use for task execution. The input flow's state is available to the task in addition to the typed input arguments.
func (Executor) WithOptions ¶ added in v1.26.0
WithOptions returns a copy of the executor with options to be applied to requests.
func (Executor) WithOutputFlow ¶ added in v1.26.0
WithOutputFlow returns a copy of the executor with an output flow to populate after task execution. The output flow captures the full flow state including control signals (Goto, Retry, Interrupt, Sleep).
type Hook ¶ added in v1.22.0
type Hook struct {
// contains filtered or unexported fields
}
Hook assists in the subscription to the events of the microservice.
func NewHook ¶ added in v1.22.0
func NewHook(listener service.Subscriber) Hook
NewHook creates a new hook to the events of the microservice.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is a lightweight proxy for making multicast calls to the microservice.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) MulticastClient
NewMulticastClient creates a new multicast client proxy to the microservice.
func (MulticastClient) Arithmetic ¶
func (_c MulticastClient) Arithmetic(ctx context.Context, x int, op string, y int) iter.Seq[*ArithmeticResponse]
Arithmetic performs an arithmetic operation between two integers x and y given an operator op.
func (MulticastClient) Distance ¶
func (_c MulticastClient) Distance(ctx context.Context, p1 Point, p2 Point) iter.Seq[*DistanceResponse]
Distance calculates the distance between two points. It demonstrates the use of the defined type Point.
func (MulticastClient) ForHost ¶
func (_c MulticastClient) ForHost(host string) MulticastClient
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (MulticastClient) Square ¶
func (_c MulticastClient) Square(ctx context.Context, x int) iter.Seq[*SquareResponse]
Square prints the square of the integer x.
func (MulticastClient) WithOptions ¶ added in v1.13.1
func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
WithOptions returns a copy of the client with options to be applied to requests.
type MulticastTrigger ¶ added in v1.22.0
type MulticastTrigger struct {
// contains filtered or unexported fields
}
MulticastTrigger is a lightweight proxy for triggering the events of the microservice.
func NewMulticastTrigger ¶ added in v1.22.0
func NewMulticastTrigger(caller service.Publisher) MulticastTrigger
NewMulticastTrigger creates a new multicast trigger of events of the microservice.
func (MulticastTrigger) ForHost ¶ added in v1.22.0
func (_c MulticastTrigger) ForHost(host string) MulticastTrigger
ForHost returns a copy of the trigger with a different hostname to be applied to requests.
func (MulticastTrigger) WithOptions ¶ added in v1.22.0
func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger
WithOptions returns a copy of the trigger with options to be applied to requests.
type Point ¶
type Point struct {
X float64 `json:"x,omitzero" jsonschema:"description=X coordinate,example=6"`
Y float64 `json:"y,omitzero" jsonschema:"description=Y coordinate,example=8"`
}
Point is a 2D (X,Y) coordinate.
type SquareIn ¶
type SquareIn struct {
X int `json:"x,omitzero"`
}
SquareIn are the input arguments of Square.
type SquareResponse ¶
type SquareResponse multicastResponse // MARKER: Square
SquareResponse packs the response of Square.