Documentation ¶
Index ¶
- type AbstractEventSubscriber
- func (e *AbstractEventSubscriber) NewSubscription(eventType types.EventType, eventHandlerAddress string, eventHandlerPort int, ...) (*SubscriptionKey, error)
- func (e *AbstractEventSubscriber) NewSubscriptionKey(eventType types.EventType, eventHandlerAddress string, eventHandlerPort int, ...) SubscriptionKey
- func (e *AbstractEventSubscriber) RemoveSubscription(subscriptionKey SubscriptionKey)
- func (e *AbstractEventSubscriber) Subscribe(eventType types.EventType, receiver Receiver) error
- func (e *AbstractEventSubscriber) UnregisterEventSubscriberSystem() error
- func (e *AbstractEventSubscriber) Unsubscribe(eventType types.EventType) error
- type EventSubscriber
- type RabbitmqEventSubscriber
- type Receiver
- type SubscriptionKey
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AbstractEventSubscriber ¶
type AbstractEventSubscriber struct { EventSubscriber // contains filtered or unexported fields }
Base class for event subscribers, implementing all service registry functionalities. The abstract class does not implement the subscribe method and this must be implemented by a sub class.
func (*AbstractEventSubscriber) NewSubscription ¶
func (e *AbstractEventSubscriber) NewSubscription(eventType types.EventType, eventHandlerAddress string, eventHandlerPort int, eventHandlerSystemName string) (*SubscriptionKey, error)
Saves a notion of the subscription, so that the same connection is subscribed to multiple times. A subscription is identified by eventType, eventHandlerAddress, eventHandlerPort, and eventHandlerSystemName. A subscriptionKey is created and saved from those attributes. If a new subscription is found to alredy exist an error is given.
func (*AbstractEventSubscriber) NewSubscriptionKey ¶
func (e *AbstractEventSubscriber) NewSubscriptionKey(eventType types.EventType, eventHandlerAddress string, eventHandlerPort int, eventHandlerSystemName string) SubscriptionKey
The subscriptionKey identifies an unique subscription, it is identified by eventType, eventHandlerAddress, eventHandlerPort, and eventHandlerSystemName.
func (*AbstractEventSubscriber) RemoveSubscription ¶
func (e *AbstractEventSubscriber) RemoveSubscription(subscriptionKey SubscriptionKey)
func (*AbstractEventSubscriber) Subscribe ¶
func (e *AbstractEventSubscriber) Subscribe(eventType types.EventType, receiver Receiver) error
func (*AbstractEventSubscriber) UnregisterEventSubscriberSystem ¶
func (e *AbstractEventSubscriber) UnregisterEventSubscriberSystem() error
func (*AbstractEventSubscriber) Unsubscribe ¶
func (e *AbstractEventSubscriber) Unsubscribe(eventType types.EventType) error
type EventSubscriber ¶
type EventSubscriber interface { UnregisterEventSubscriberSystem() error Subscribe(eventType types.EventType, receiver Receiver) error Unsubscribe(eventType types.EventType) error // contains filtered or unexported methods }
Event subscriber, is a system that can subscribe for events from a certain messaging broker.
func EventSubscriberFactory ¶
func EventSubscriberFactory( eventHandlerImplementation types.EventHandlerImplementationType, systemDomainAddress string, systemDomainPort int, systemName string, serviceRegistryAddress string, serviceRegistryPort int, serviceRegistryImplementation serviceregistry.ServiceRegistryImplementationType, certFilePath string, keyFilePath string, truststoreFilePath string, ) (EventSubscriber, error)
Creates a new event subscriber system, that can subscribe for events from event handlers that uses the eventHandlerImplementation. The event subscriber will automatically on creation be registered to the service registry as a system.
type RabbitmqEventSubscriber ¶
type RabbitmqEventSubscriber struct { // Extends a base event subscriber class, giving general event subscriber functionalities. // The function subscribe, must be implemented as AbstractEventSubscriber does not do so. *AbstractEventSubscriber // contains filtered or unexported fields }
RabbitmqEventSubscriber, can subscribe for events given from an RabbitmqEventHandler
func (*RabbitmqEventSubscriber) Unsubscribe ¶
func (r *RabbitmqEventSubscriber) Unsubscribe(eventType types.EventType) error
Overrides the super class's Unsubscribe method, and stops all connections before calling the super class's Unsubscribe.
type Receiver ¶
type Receiver interface { // Called when a subscriber gets an event (if given to the subscribe method). ReceiveEvent(event []byte) }
A Receiver provides a method to receive an event, this is used in the EventSubscriber systems when subscribing. Thus, a specific implementation of what to do when receiving an event can be written, and injected to the subscriber.
type SubscriptionKey ¶
type SubscriptionKey string