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