Documentation ¶
Index ¶
- Variables
- func DerefOrZero[T any](x *T) T
- func GatherPublishers[W AbstractEnvelopeWriter, PUB AbstractPublisher[W], B any, ...](ctx context.Context, chName ParamString, channelBindings *B, producers []PRD) ([]PUB, error)
- func GatherSubscribers[R AbstractEnvelopeReader, SUB AbstractSubscriber[R], B any, ...](ctx context.Context, chName ParamString, channelBindings *B, consumers []C) ([]SUB, error)
- func ToPtr[T any](x T) *T
- type AbstractConsumer
- type AbstractEnvelopeReader
- type AbstractEnvelopeWriter
- type AbstractProducer
- type AbstractPublisher
- type AbstractSubscriber
- type ErrorPool
- type FanOut
- type Headers
- type ParamString
- type Parameter
- type PublisherFanOut
- type SubscriberFanIn
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrEmptyServers = errors.New("empty servers list")
Functions ¶
func DerefOrZero ¶
func DerefOrZero[T any](x *T) T
func GatherPublishers ¶
func GatherPublishers[W AbstractEnvelopeWriter, PUB AbstractPublisher[W], B any, PRD AbstractProducer[B, W, PUB]]( ctx context.Context, chName ParamString, channelBindings *B, producers []PRD, ) ([]PUB, error)
func GatherSubscribers ¶
func GatherSubscribers[R AbstractEnvelopeReader, SUB AbstractSubscriber[R], B any, C AbstractConsumer[B, R, SUB]]( ctx context.Context, chName ParamString, channelBindings *B, consumers []C, ) ([]SUB, error)
Types ¶
type AbstractConsumer ¶
type AbstractConsumer[B any, R AbstractEnvelopeReader, S AbstractSubscriber[R]] interface { Subscriber(ctx context.Context, channelName string, bindings *B) (S, error) }
type AbstractEnvelopeReader ¶
type AbstractEnvelopeWriter ¶
type AbstractProducer ¶
type AbstractProducer[B any, W AbstractEnvelopeWriter, P AbstractPublisher[W]] interface { Publisher(ctx context.Context, channelName string, bindings *B) (P, error) }
type AbstractPublisher ¶
type AbstractPublisher[W AbstractEnvelopeWriter] interface { Send(ctx context.Context, envelopes ...W) error Close() error }
type AbstractSubscriber ¶
type AbstractSubscriber[R AbstractEnvelopeReader] interface { Receive(ctx context.Context, cb func(envelope R)) error Close() error }
type ErrorPool ¶
type ErrorPool struct {
// contains filtered or unexported fields
}
func NewErrorPool ¶
func NewErrorPool() *ErrorPool
type Headers ¶
func (Headers) ToByteValues ¶
type ParamString ¶
func (ParamString) Expand ¶
func (c ParamString) Expand() (string, error)
func (ParamString) String ¶
func (c ParamString) String() string
type PublisherFanOut ¶
type PublisherFanOut[W AbstractEnvelopeWriter, P AbstractPublisher[W]] struct { Publishers []P }
func (PublisherFanOut[W, P]) Close ¶
func (p PublisherFanOut[W, P]) Close() (err error)
type SubscriberFanIn ¶
type SubscriberFanIn[R AbstractEnvelopeReader, S AbstractSubscriber[R]] struct { Subscribers []S }
func (SubscriberFanIn[R, S]) Close ¶
func (s SubscriberFanIn[R, S]) Close() (err error)
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
3rdparty
|
|
uritemplates
Package uritemplates is a level 3 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).
|
Package uritemplates is a level 3 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570). |
Click to show internal directories.
Click to hide internal directories.