chat

package
v0.0.0-...-52cd3d9 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2022 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Broadcaster = &broadcaster{
	users: make(map[uint64]*User),

	enteringChannel: make(chan *User),
	leavingChannel:  make(chan *User),
	messageChannel:  make(chan *Message, 1024),
}
View Source
var System = &User{UserID: 0, Nickname: "System"}

Functions

This section is empty.

Types

type Message

type Message struct {
	User     *User  `json:"user"`
	Content  string `json:"message_content"`
	SendTime int64  `json:"send_time"`
}

func NewErrorMessage

func NewErrorMessage(content string) *Message

func NewMessage

func NewMessage(user *User, content string) *Message

func NewUserEnterMessage

func NewUserEnterMessage(user *User) *Message

func NewUserLeaveMessage

func NewUserLeaveMessage(user *User) *Message

type User

type User struct {
	UserID   uint64 `json:"user_id"`
	Nickname string `json:"nickname"`
	EnterAt  int64  `json:"-"`
	// contains filtered or unexported fields
}

func NewUser

func NewUser(u *model.User, conn *websocket.Conn) *User

func (*User) CloseMessageChannel

func (u *User) CloseMessageChannel()

func (*User) ReceiveMessage

func (u *User) ReceiveMessage(ctx context.Context) error

func (*User) Send

func (u *User) Send(msg *Message)

func (*User) SendMessage

func (u *User) SendMessage(ctx context.Context)

Jump to

Keyboard shortcuts

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