broadcastMsg

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TweetInfoSyncTypeAsk   = 1
	TweetInfoSyncTypeReply = 2
)
View Source
const (
	UserInfoReceiveHandleTypeUpdate   = 1
	UserInfoReceiveHandleTypeAsk      = 2
	UserInfoReceiveHandleTypeAskReply = 3
	UserInfoReceiveHandleTypeGotoAsk  = 4
)

Variables

This section is empty.

Functions

func AskUsersTweets

func AskUsersTweets(users []*models.User, node *p2pNet.UserNode, ctx context.Context)

询问单个用的推文

func BroadcastNewestTweet

func BroadcastNewestTweet(usr *models.User)

func BroadcastTweet

func BroadcastTweet(tw *models.Tweets)

func BroadcastTweetSync

func BroadcastTweetSync(tw *models.Tweets)

func CenterUserRelease

func CenterUserRelease(tw *models.Tweets) error

发布中心用户的文章发布 即 自有用户自己签名后 发布转发

func IpfsSync

func IpfsSync()

func ReleaseTweet

func ReleaseTweet(user *models.User, keyName, content, attachment, forwardId, topicTag string, createdAt int64) (*models.Tweets, error)

func SyncByCid

func SyncByCid(cid string) *models.TweetJson

func SyncByUser

func SyncByUser(usr *models.User, sdb *gorm.DB)

func SyncUserInfo

func SyncUserInfo(usr *models.User, force bool) error

func SyncUserTweets

func SyncUserTweets(ctx context.Context) error

SyncUserTweets 循环拉去网络最新推文

Types

type TweetInfo

type TweetInfo struct {
	Tw *models.Tweets
}

func (*TweetInfo) ReceiveHandle

func (twInfo *TweetInfo) ReceiveHandle(ctx context.Context, node *p2pNet.OnlineNode)

type TweetInfoSync

type TweetInfoSync struct {
	UserAddress string
	TwNonce     uint64
	Size        int
	Type        uint8
	ReplyTweets []*models.Tweets //对于询问回复的推文信息

	//是否还有其他的新推文没有回复 该字段不代表已回复的推文列表是否满足size大小 而是是否还有比已回复的推文更新的内容
	//对于size是否完成 通过比较size和len(ReplyTweets)
	ReplyTwSurplusNewNum uint64
}

func NewTweetInfoSyncAsk

func NewTweetInfoSyncAsk(userAddress string, twNonce uint64) *TweetInfoSync

func (*TweetInfoSync) ReceiveHandle

func (tis *TweetInfoSync) ReceiveHandle(ctx context.Context, node *p2pNet.OnlineNode)

func (*TweetInfoSync) ReceiveHandleAsk

func (tis *TweetInfoSync) ReceiveHandleAsk(ctx context.Context, node *p2pNet.OnlineNode)

func (*TweetInfoSync) ReceiveHandleReply

func (tis *TweetInfoSync) ReceiveHandleReply(ctx context.Context, node *p2pNet.OnlineNode)

type UserInfo

type UserInfo struct {
	Id                        string
	Name                      string
	Desc                      string
	LatestCid                 string
	Avatar                    string
	Nonce                     uint64
	PeerId                    string
	HasPeerId                 uint8
	Sign                      string
	PublicKey                 string
	IpfsHash                  string
	UpdatedSignUnix           int64
	CreatedAt                 int64
	ReceiveHandleType         uint8
	IsRemoveNonceBeforeTweets bool
	// contains filtered or unexported fields
}

该结构保存用户可广播的资料

func NewUserInfo

func NewUserInfo(user *models.User) *UserInfo

func NewUserInfoAsk

func NewUserInfoAsk(user *models.User) *UserInfo

func NewUserInfoGotoAsk

func NewUserInfoGotoAsk(user *models.User, isRemoveTw bool) *UserInfo

func (*UserInfo) DoAsk

func (usrInfo *UserInfo) DoAsk() (err error)

func (*UserInfo) ReceiveHandle

func (usrInfo *UserInfo) ReceiveHandle(ctx context.Context, node *p2pNet.OnlineNode)

func (*UserInfo) ReceiveHandleAsk

func (usrInfo *UserInfo) ReceiveHandleAsk(ctx context.Context, node *p2pNet.OnlineNode)

func (*UserInfo) ReceiveHandleUpdate

func (usrInfo *UserInfo) ReceiveHandleUpdate(ctx context.Context, node *p2pNet.OnlineNode)

接收方法

Jump to

Keyboard shortcuts

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