messages

package
v0.0.0-...-43feff1 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Raft        raft.Config
	StreamLayer *StreamLayer
	Bootstrap   bool
	DataDir     string
}

type DistributedMessages

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

func New

func New(repo Repository, config Config) (
	*DistributedMessages,
	error,
)

func (*DistributedMessages) GetServers

func (m *DistributedMessages) GetServers() ([](*api.MessagesServer), error)

func (*DistributedMessages) Join

func (m *DistributedMessages) Join(id, addr string) error

func (*DistributedMessages) Leave

func (m *DistributedMessages) Leave(id string) error

func (*DistributedMessages) ReadOneMessage

func (m *DistributedMessages) ReadOneMessage(ctx context.Context, userId usermodel.UserId, id int) (
	model.Message,
	error,
)

func (*DistributedMessages) ReadUserMessages

func (m *DistributedMessages) ReadUserMessages(ctx context.Context, userId usermodel.UserId) (
	[]model.Message,
	error,
)

func (*DistributedMessages) SaveMessage

func (m *DistributedMessages) SaveMessage(ctx context.Context, msg *model.Message) error

func (*DistributedMessages) WaitForLeader

func (m *DistributedMessages) WaitForLeader(timeout time.Duration) error

type StreamLayer

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

func NewStreamLayer

func NewStreamLayer(ln net.Listener) *StreamLayer

func (*StreamLayer) Accept

func (s *StreamLayer) Accept() (net.Conn, error)

func (*StreamLayer) Addr

func (s *StreamLayer) Addr() net.Addr

func (*StreamLayer) Close

func (s *StreamLayer) Close() error

func (*StreamLayer) Dial

func (s *StreamLayer) Dial(
	addr raft.ServerAddress,
	timeout time.Duration,
) (net.Conn, error)

Jump to

Keyboard shortcuts

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