pubsub

package
v0.0.0-...-8f6afdc Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PubSub

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

PubSub は、Publisherから供給されたアイテムを先着順かつ公平(飢餓しない)にSubscriberに分配します NOTE: 内部的にチャネルを用いているため、ブロックする場合があります

func NewPubSub

func NewPubSub(itemCapacity int) *PubSub

func (*PubSub) Close

func (p *PubSub) Close()

func (*PubSub) Publish

func (p *PubSub) Publish(ctx context.Context, v interface{}) error

NOTE: 誰もSubscriberがいない状態で、itemだけたくさん書き出し続けているとブロックする場合があります(通常想定されない)

func (*PubSub) Run

func (p *PubSub) Run(ctx context.Context)

Run は、公平にアイテムをSubscriberへ分配します。PublisherやSubScriber動作前に実行しておく必要があります

func (*PubSub) Subscribe

func (p *PubSub) Subscribe(ctx context.Context) (interface{}, error)

NOTE: アイテム供給ができていないと、Subscribeがブロックする場合があります (通常想定されない)

Jump to

Keyboard shortcuts

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