msgbs

package
v0.0.0-...-cad48ee Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2022 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Article

type Article struct {
	ID    int64
	Title string
}

type Event

type Event string
const (
	AddArticle Event = "add_article"
)

type Message

type Message interface{}

type MessageBus

type MessageBus interface {
	Publish(Event, Message) error
	Subscribe(Event)
	Unsubscribe(Event)
	Receive() interface{}
}

type RedisMessageBus

type RedisMessageBus struct {
	PubSubConn *redis.PubSubConn
	Conn       *redis.Conn
}

func NewRedis

func NewRedis(pscon *redis.PubSubConn, conn *redis.Conn) *RedisMessageBus

func (RedisMessageBus) Publish

func (r RedisMessageBus) Publish(evnt Event, msg Message) error

func (RedisMessageBus) Receive

func (r RedisMessageBus) Receive() interface{}

func (RedisMessageBus) Subscribe

func (r RedisMessageBus) Subscribe(evnt Event)

func (RedisMessageBus) Unsubscribe

func (r RedisMessageBus) Unsubscribe(evnt Event)

type Router

type Router map[Event][]SubscribeFunc

func NewRouter

func NewRouter() Router

func (Router) Subscribe

func (r Router) Subscribe(evnt Event, subsc SubscribeFunc)

type SubscribeFunc

type SubscribeFunc func(context.Context, redis.Message) error

type SubscribeServer

type SubscribeServer struct {
	// contains filtered or unexported fields
}

func NewSubscribeServer

func NewSubscribeServer() SubscribeServer

func (*SubscribeServer) Mount

func (s *SubscribeServer) Mount(subsc Subscriber)

func (SubscribeServer) Serve

func (s SubscribeServer) Serve(ctx context.Context)

func (SubscribeServer) Shutdown

func (s SubscribeServer) Shutdown(ctx context.Context)

type Subscriber

type Subscriber struct {
	MessageBus MessageBus
	Router     Router
	AppLog     applog.AppLog
}

func NewSubscriber

func NewSubscriber(msgbs MessageBus, algr applog.AppLog) Subscriber

func (Subscriber) Do

func (s Subscriber) Do(
	ctx context.Context,
	done chan interface{},
	wg *sync.WaitGroup,
)

func (Subscriber) Mount

func (s Subscriber) Mount(rtr Router)

func (Subscriber) Subscribe

func (s Subscriber) Subscribe(evnt Event, subsc SubscribeFunc)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL