eventstore

package
v0.0.0-...-1a196e1 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2017 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Config Config
	Client *goes.Client
}

Client 是 EventStore 的客戶端。

func NewClient

func NewClient(conf Config) *Client

NewClient 會建立一個新的客戶端。

func (*Client) CreateStream

func (c *Client) CreateStream(name string) *Stream

CreateStream 會建立並返回一個串流。

func (*Client) Stream

func (c *Client) Stream(name string) *Stream

Stream 會回傳一個指定的串流。

type Config

type Config struct {
	// URL 是連線到 EventStore 的 HTTP 網址。
	URL      string
	Username string
	Password string
}

Config 是 EventStore 建立客戶端時的設定檔。

type Event

type Event struct {
	// ID 是這個事件的編號,若留空則會以 UUID 自動填上。
	ID string
	// Type 是這個事件的自訂種類。
	Type string
	// Data 是這個事件帶有的資料。
	Data interface{}
	// Meta 是事件的中繼資料,這裡可以放置一些額外的資料像是事件的產生者是誰⋯⋯等。
	Meta interface{}
}

Event 呈現了一個事件資料。

type Stream

type Stream struct {
	// Name 是這個串流的名稱。
	Name   string
	Reader *goes.StreamReader
	Writer *goes.StreamWriter
}

Stream 呈現了一個事件串流。

func (*Stream) AddHandler

func (s *Stream) AddHandler(handler func(*goes.StreamReader))

AddHandler 會替這個串流新增一個處理函式,一但接收到任何事件就會呼叫這個函式。

func (*Stream) Append

func (s *Stream) Append(e Event) error

Append 會在此串流上推送一個新的事件。

func (*Stream) MultiAppend

func (s *Stream) MultiAppend(e []Event) error

MultiAppend 會在此串流上一次推送多個事件。

Jump to

Keyboard shortcuts

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