gosignal

package module
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: MIT Imports: 1 Imported by: 0

README

GoSignal

GitHub go.mod Go version Go Report Card GitHub license GitHub stars GitHub forks Go Reference

GoSignal is an event-driven architecture framework designed for Go applications, focusing on simplicity and minimal dependencies. It facilitates the development of applications with a focus on event sourcing and domain-driven design.

Disclaimer

This project is in its early stages of development and is subject to significant changes. It is not recommended for production use at this time.

Documentation

For detailed documentation, refer to the Go documentation pages:

  • Main Queue: Core functionality for event-driven operations. Read more on pkg.go.dev
  • Sourcing: Manages event sourcing, aggregates, etc. Read more on pkg.go.dev
  • Drivers Package: Contains drivers for different data sources, with the capability to add more. This package aims to keep dependencies low. View on GitHub

Contributing

Contributions are welcome! Please refer to the contributing guidelines for more information.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event struct {
	Type        string    // Type of event
	Data        []byte    // Data of the event
	Version     uint64    // Version of the event
	Timestamp   time.Time // Timestamp of the event
	AggregateID string    // AggregateID of the event
}

Event is a struct that represents an event in the system

type Queue

type Queue interface {
	Send(messageType string, message []byte) error
	Subscribe(messageType string) (id string, ch chan QueueMessage, err error)
	Unsubscribe(messageType, id string) error
}

type QueueMessage

type QueueMessage interface {
	Attempts() int
	Message() []byte
	Ack() error
	Nack() error
	Retry(RetryParams) error
	Type() string // Type returns the message type, this is the same value in Send() and Subscribe()
}

type RetryParams

type RetryParams struct {
	BackoffUntil time.Time
}

Directories

Path Synopsis
drivers

Jump to

Keyboard shortcuts

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