Documentation
¶
Overview ¶
Package "oneof" provides primitives to interact with the AsyncAPI specification.
Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.
Index ¶
- Variables
- type AppController
- func (c *AppController) AddMiddlewares(middleware ...extensions.Middleware)
- func (c *AppController) Close(ctx context.Context)
- func (c *AppController) PublishTest2(ctx context.Context, msg Test2Message) error
- func (c *AppController) SetLogger(logger extensions.Logger)
- func (c *AppController) SubscribeAll(ctx context.Context, as AppSubscriber) error
- func (c *AppController) SubscribeTest(ctx context.Context, ...) error
- func (c *AppController) UnsubscribeAll(ctx context.Context)
- func (c *AppController) UnsubscribeTest(ctx context.Context)
- type AppSubscriber
- type ClientController
- func (c *ClientController) AddMiddlewares(middleware ...extensions.Middleware)
- func (c *ClientController) Close(ctx context.Context)
- func (c *ClientController) PublishTest(ctx context.Context, msg TestMessagesMessage) error
- func (c *ClientController) SetLogger(logger extensions.Logger)
- func (c *ClientController) SubscribeAll(ctx context.Context, as ClientSubscriber) error
- func (c *ClientController) SubscribeTest2(ctx context.Context, fn func(ctx context.Context, msg Test2Message, done bool)) error
- func (c *ClientController) UnsubscribeAll(ctx context.Context)
- func (c *ClientController) UnsubscribeTest2(ctx context.Context)
- type ClientSubscriber
- type Error
- type MessageWithCorrelationID
- type ObjectWithKey2Schema
- type ObjectWithKeySchema
- type Test2Message
- type TestMessage1Message
- type TestMessage2Message
- type TestMessagesMessage
Constants ¶
This section is empty.
Variables ¶
var ( // Generic error for AsyncAPI generated code ErrAsyncAPI = errors.New("error when using AsyncAPI") // ErrContextCanceled is given when a given context is canceled ErrContextCanceled = fmt.Errorf("%w: context canceled", ErrAsyncAPI) // ErrNilBrokerController is raised when a nil broker controller is user ErrNilBrokerController = fmt.Errorf("%w: nil broker controller has been used", ErrAsyncAPI) // ErrNilAppSubscriber is raised when a nil app subscriber is user ErrNilAppSubscriber = fmt.Errorf("%w: nil app subscriber has been used", ErrAsyncAPI) // ErrNilClientSubscriber is raised when a nil client subscriber is user ErrNilClientSubscriber = fmt.Errorf("%w: nil client subscriber has been used", ErrAsyncAPI) // ErrAlreadySubscribedChannel is raised when a subscription is done twice // or more without unsubscribing ErrAlreadySubscribedChannel = fmt.Errorf("%w: the channel has already been subscribed", ErrAsyncAPI) // ErrSubscriptionCanceled is raised when expecting something and the subscription has been canceled before it happens ErrSubscriptionCanceled = fmt.Errorf("%w: the subscription has been canceled", ErrAsyncAPI) )
Functions ¶
This section is empty.
Types ¶
type AppController ¶
type AppController struct {
// contains filtered or unexported fields
}
AppController is the structure that provides publishing capabilities to the developer and and connect the broker with the App
func NewAppController ¶
func NewAppController(bc extensions.BrokerController) (*AppController, error)
NewAppController links the App to the broker
func (*AppController) AddMiddlewares ¶ added in v0.17.0
func (c *AppController) AddMiddlewares(middleware ...extensions.Middleware)
AddMiddlewares attaches middlewares that will be executed when sending or receiving messages
func (*AppController) Close ¶
func (c *AppController) Close(ctx context.Context)
Close will clean up any existing resources on the controller
func (*AppController) PublishTest2 ¶
func (c *AppController) PublishTest2(ctx context.Context, msg Test2Message) error
PublishTest2 will publish messages to 'test2' channel
func (*AppController) SetLogger ¶ added in v0.15.0
func (c *AppController) SetLogger(logger extensions.Logger)
SetLogger attaches a logger that will log operations on controller
func (*AppController) SubscribeAll ¶
func (c *AppController) SubscribeAll(ctx context.Context, as AppSubscriber) error
SubscribeAll will subscribe to channels without parameters on which the app is expecting messages. For channels with parameters, they should be subscribed independently.
func (*AppController) SubscribeTest ¶
func (c *AppController) SubscribeTest(ctx context.Context, fn func(ctx context.Context, msg TestMessagesMessage, done bool)) error
SubscribeTest will subscribe to new messages from 'test' channel.
Callback function 'fn' will be called each time a new message is received. The 'done' argument indicates when the subscription is canceled and can be used to clean up resources.
func (*AppController) UnsubscribeAll ¶
func (c *AppController) UnsubscribeAll(ctx context.Context)
UnsubscribeAll will unsubscribe all remaining subscribed channels
func (*AppController) UnsubscribeTest ¶
func (c *AppController) UnsubscribeTest(ctx context.Context)
UnsubscribeTest will unsubscribe messages from 'test' channel
type AppSubscriber ¶
type AppSubscriber interface { // Test Test(ctx context.Context, msg TestMessagesMessage, done bool) }
AppSubscriber represents all handlers that are expecting messages for App
type ClientController ¶
type ClientController struct {
// contains filtered or unexported fields
}
ClientController is the structure that provides publishing capabilities to the developer and and connect the broker with the Client
func NewClientController ¶
func NewClientController(bc extensions.BrokerController) (*ClientController, error)
NewClientController links the Client to the broker
func (*ClientController) AddMiddlewares ¶ added in v0.17.0
func (c *ClientController) AddMiddlewares(middleware ...extensions.Middleware)
AddMiddlewares attaches middlewares that will be executed when sending or receiving messages
func (*ClientController) Close ¶
func (c *ClientController) Close(ctx context.Context)
Close will clean up any existing resources on the controller
func (*ClientController) PublishTest ¶
func (c *ClientController) PublishTest(ctx context.Context, msg TestMessagesMessage) error
PublishTest will publish messages to 'test' channel
func (*ClientController) SetLogger ¶ added in v0.15.0
func (c *ClientController) SetLogger(logger extensions.Logger)
SetLogger attaches a logger that will log operations on controller
func (*ClientController) SubscribeAll ¶
func (c *ClientController) SubscribeAll(ctx context.Context, as ClientSubscriber) error
SubscribeAll will subscribe to channels without parameters on which the app is expecting messages. For channels with parameters, they should be subscribed independently.
func (*ClientController) SubscribeTest2 ¶
func (c *ClientController) SubscribeTest2(ctx context.Context, fn func(ctx context.Context, msg Test2Message, done bool)) error
SubscribeTest2 will subscribe to new messages from 'test2' channel.
Callback function 'fn' will be called each time a new message is received. The 'done' argument indicates when the subscription is canceled and can be used to clean up resources.
func (*ClientController) UnsubscribeAll ¶
func (c *ClientController) UnsubscribeAll(ctx context.Context)
UnsubscribeAll will unsubscribe all remaining subscribed channels
func (*ClientController) UnsubscribeTest2 ¶
func (c *ClientController) UnsubscribeTest2(ctx context.Context)
UnsubscribeTest2 will unsubscribe messages from 'test2' channel
type ClientSubscriber ¶
type ClientSubscriber interface { // Test2 Test2(ctx context.Context, msg Test2Message, done bool) }
ClientSubscriber represents all handlers that are expecting messages for Client
type ObjectWithKey2Schema ¶
type ObjectWithKey2Schema struct {
Key2 *string `json:"key2"`
}
ObjectWithKey2Schema is a schema from the AsyncAPI specification required in messages
type ObjectWithKeySchema ¶
type ObjectWithKeySchema struct {
Key *string `json:"key"`
}
ObjectWithKeySchema is a schema from the AsyncAPI specification required in messages
type Test2Message ¶
type Test2Message struct { // Payload will be inserted in the message payload Payload struct { Key2 *string `json:"key2"` } }
Test2Message is the message expected for 'Test2' channel
func NewTest2Message ¶
func NewTest2Message() Test2Message
type TestMessage1Message ¶
type TestMessage1Message struct { // Payload will be inserted in the message payload Payload ObjectWithKeySchema }
TestMessage1Message is the message expected for 'TestMessage1' channel
func NewTestMessage1Message ¶
func NewTestMessage1Message() TestMessage1Message
type TestMessage2Message ¶
type TestMessage2Message struct { // Payload will be inserted in the message payload Payload ObjectWithKey2Schema }
TestMessage2Message is the message expected for 'TestMessage2' channel
func NewTestMessage2Message ¶
func NewTestMessage2Message() TestMessage2Message
type TestMessagesMessage ¶
type TestMessagesMessage struct { // Payload will be inserted in the message payload Payload struct { Key *string `json:"key"` Key2 *string `json:"key2"` } }
TestMessagesMessage is the message expected for 'TestMessages' channel
func NewTestMessagesMessage ¶
func NewTestMessagesMessage() TestMessagesMessage