room

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2020 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrOutOfRange = errors.New("out of range")
)

Functions

func Broadcast

func Broadcast(room Room, data []byte)

func GetNextRoleIndex

func GetNextRoleIndex(room Room, index int) int

func GetPrevRoleIndex

func GetPrevRoleIndex(room Room, index int) int

func IsEmptyRole

func IsEmptyRole(role Role) bool

Types

type FixedSizeRoom

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

FixedSizeRoom reprensents a fixed role size room

func (*FixedSizeRoom) AddRole

func (room *FixedSizeRoom) AddRole(index int, role Role) error

func (*FixedSizeRoom) GetRole

func (room *FixedSizeRoom) GetRole(index int) Role

func (*FixedSizeRoom) Notify

func (room *FixedSizeRoom) Notify(receivers []int, data []byte)

func (*FixedSizeRoom) RemoveRole

func (room *FixedSizeRoom) RemoveRole(index int) Role

func (*FixedSizeRoom) Size

func (room *FixedSizeRoom) Size() int

type Role

type Role interface {
	Notify(data []byte) error
}

type Room

type Room interface {
	Size() int
	GetRole(index int) Role
	AddRole(index int, role Role) error
	RemoveRole(index int) Role
	Notify(receivers []int, data []byte)
}

func NewFixedSizeRoom

func NewFixedSizeRoom(size int) Room

func NewVarSizeRoom

func NewVarSizeRoom(roles ...Role) Room

type VarSizeRoom

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

VarSizeRoom reprensents a variant role size room

func (*VarSizeRoom) AddRole

func (room *VarSizeRoom) AddRole(index int, role Role) error

func (*VarSizeRoom) GetRole

func (room *VarSizeRoom) GetRole(index int) Role

func (*VarSizeRoom) Notify

func (room *VarSizeRoom) Notify(receivers []int, data []byte)

func (*VarSizeRoom) RemoveRole

func (room *VarSizeRoom) RemoveRole(index int) Role

func (*VarSizeRoom) Size

func (room *VarSizeRoom) Size() int

Jump to

Keyboard shortcuts

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