biz

package
v0.0.0-...-50b78f6 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2024 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

ProviderSet is biz providers.

Functions

This section is empty.

Types

type Biz

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

Biz 通用的对象

func NewBiz

func NewBiz(conf *conf.Config) *Biz

func (*Biz) Connect

func (bz *Biz) Connect(ctx context.Context, req *pb.ConnectReq) (reply *pb.ConnectReply, err error)

Connect connected a conn.

func (*Biz) Disconnect

func (bz *Biz) Disconnect(ctx context.Context, req *pb.DisconnectReq) (reply *pb.DisconnectReply, err error)

Disconnect disconnect a conn.

func (*Biz) GetData

func (bz *Biz) GetData() *data.Data

func (*Biz) GetHeartbeatExpire

func (bz *Biz) GetHeartbeatExpire() (result time.Duration)

func (*Biz) Heartbeat

func (bz *Biz) Heartbeat(ctx context.Context, req *pb.HeartbeatReq) (reply *pb.HeartbeatReply, err error)

Heartbeat heartbeat a conn.

func (*Biz) Nodes

func (bz *Biz) Nodes(ctx context.Context, req *pb.NodesReq) (reply *pb.NodesReply, err error)

Nodes 获取节点信息 - 对于comet来说,用于建立TCP服务器、WS服务器、WSS服务器 - 对于客户端来说,用于建立TCP客户端、WS客户端、WSS客户端 - 可以配合一定的负载均衡算法,实现节点的负载(根据每个节点的连接数进行负载分发)

func (*Biz) Ping

func (bz *Biz) Ping()

func (*Biz) Receive

func (bz *Biz) Receive(ctx context.Context, userId int64, proto *protocol.Proto) (err error)

Receive receive a message.

func (*Biz) RenewOnline

func (bz *Biz) RenewOnline(ctx context.Context, serverId string, roomCount map[string]int32) (reply *pb.OnlineReply, err error)

RenewOnline renew a server online.

func (*Biz) SendToAll

func (bz *Biz) SendToAll(ctx context.Context, req *request.SendToAllReq) error

SendToAll 发送消息(by kafka)

func (*Biz) SendToRoom

func (bz *Biz) SendToRoom(ctx context.Context, req *request.SendToRoomReq) error

SendToRoom 发送消息(by kafka)

func (*Biz) SendToUsers

func (bz *Biz) SendToUsers(ctx context.Context, req *request.SendToUsersReq) error

SendToUsers 发送消息(by kafka)

func (*Biz) SendToUsersByIds

func (bz *Biz) SendToUsersByIds(ctx context.Context, req *request.SendToUsersByIdsReq) error

SendToUsersByIds 发送消息(by kafka)

type ContactUseCase

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

func NewContactUseCase

func NewContactUseCase(contactRepo *data.ContactRepo, repoMessage *data.MessageRepo) *ContactUseCase

func (*ContactUseCase) Fetch

Fetch 拉取会话

type Fn

type Fn func(versionId uint64) (err error)

type LoadBalance

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

func NewLoadBalance

func NewLoadBalance(conf *conf.Config) *LoadBalance

type MessageUseCase

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

func NewMessageUseCase

func NewMessageUseCase(repoMessage *data.MessageRepo, repoContact *data.ContactRepo) *MessageUseCase

func (*MessageUseCase) Fetch

Fetch 拉取消息

func (*MessageUseCase) OpClearHistory

func (b *MessageUseCase) OpClearHistory(ctx context.Context, req *request.ClearHistoryReq) (rsp response.ClearHistoryRsp, err error)

OpClearHistory 清空聊天记录(批量清空) 核心:更新Contact的 last_del_msg_id 为 last_msg_id

func (*MessageUseCase) OpDelBothSide

func (b *MessageUseCase) OpDelBothSide(ctx context.Context, req *request.DelBothSideReq) (rsp response.DelBothSideRsp, err error)

OpDelBothSide 某条消息删除(两边的聊天记录都需要删除) 核心:更新status和version_id(需要通知对方,所以需要更新version_id)

func (*MessageUseCase) OpDelOneSide

func (b *MessageUseCase) OpDelOneSide(ctx context.Context, req *request.DelOneSideReq) (rsp response.DelOneSideRsp, err error)

OpDelOneSide 某条消息删除(只有一边的聊天记录是不可见,另外一边可见) 核心:更新 invisible_list

func (*MessageUseCase) OpWithdraw

OpWithdraw 某条消息撤回(两边的聊天记录都需要撤回) 核心:更新status和version_id(需要通知对方,所以需要更新version_id)

func (*MessageUseCase) Send

Send 发送消息

func (*MessageUseCase) SendSimpleCustomMessage

func (b *MessageUseCase) SendSimpleCustomMessage(ctx context.Context, sender, receiver *gen_id.ComponentId, d string) (rsp response.MessageSendRsp, err error)

SendSimpleCustomMessage 简化接口:发送自定义消息

Jump to

Keyboard shortcuts

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