Skip to content

Import path: gitlab.soludian.com/soludian/fountain/libs/brokers/providers/fedis

fedis

go
import "gitlab.soludian.com/soludian/fountain/libs/brokers/providers/fedis"

Index

Constants

go
const (
    // NoSleep can be set to subscriberConfig.NackResendSleep
    NoSleep time.Duration = -1

    DefaultBlockTime = time.Millisecond * 100

    DefaultClaimInterval = time.Second * 5

    DefaultClaimBatchSize = int64(100)

    DefaultMaxIdleTime = time.Second * 60

    DefaultCheckConsumersInterval = time.Second * 300
    DefaultConsumerTimeout        = time.Second * 600
)

go
const PackageName = "fedis"

go
const UUIDHeaderKey = "_brokers_message_uuid"

type Marshaller

go
type Marshaller interface {
    Marshal(msg *brokers.Message) (map[string]any, error)
    Unmarshal(values map[string]any) (msg *brokers.Message, err error)
}

type MarshallerDefault

go
type MarshallerDefault struct{}

func (MarshallerDefault) Marshal

go
func (MarshallerDefault) Marshal(msg *brokers.Message) (map[string]any, error)

func (MarshallerDefault) Unmarshal

go
func (MarshallerDefault) Unmarshal(values map[string]any) (msg *brokers.Message, err error)

type Publisher

go
type Publisher struct {
    // contains filtered or unexported fields
}

func NewPublisher

go
func NewPublisher(client *fedis.Client, opts ...publisherOption) *Publisher

NewPublisher tạo một redis stream Publisher mới.

func (*Publisher) Close

go
func (p *Publisher) Close() error

func (*Publisher) Publish

go
func (p *Publisher) Publish(topic string, msgs ...*brokers.Message) error

Publish gửi message đến redis stream

Publish là blocking và chờ phản hồi từ redis. Khi bất kỳ message nào bị lỗi khi delivery - hàm sẽ bị gián đoạn.

type Subscriber

go
type Subscriber struct {
    // contains filtered or unexported fields
}

func NewSubscriber

go
func NewSubscriber(client *fedis.Client, opts ...subscriberOption) *Subscriber

NewSubscriber creates a new redis stream Subscriber.

func (*Subscriber) Close

go
func (s *Subscriber) Close() error

func (*Subscriber) Subscribe

go
func (s *Subscriber) Subscribe(ctx context.Context, topic string) (<-chan *brokers.Message, error)

Generated by gomarkdoc