signaling

package
v0.0.0-...-9b77cec Latest Latest
Warning

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

Go to latest
Published: May 8, 2022 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// N ...
	N = 1024
	// TIMEOUT ...
	TIMEOUT = 30 * time.Second
)

Variables

This section is empty.

Functions

func Register

func Register(factory func() Kinder)

Register ...

Types

type Event

type Event struct {
	From  string          `json:"from"`
	To    string          `json:"to"`
	Kind  string          `json:"kind"`
	Value json.RawMessage `json:"value"`
}

Event ...

func New

func New(from, to string, value Kinder) *Event

New ...

func (*Event) Get

func (ev *Event) Get() Kinder

Get ...

type Join

type Join struct {
	Member string
}

Join ...

func (*Join) Kind

func (c *Join) Kind() string

Kind ...

type Kinder

type Kinder interface {
	Kind() string
}

Kinder ...

type Leave

type Leave struct {
	Member string
}

Leave ...

func (*Leave) Kind

func (c *Leave) Kind() string

Kind ...

type Member

type Member struct {
	sync.RWMutex
	UserID string
	// contains filtered or unexported fields
}

Member ...

func (*Member) Close

func (m *Member) Close()

Close ...

func (*Member) Pop

func (m *Member) Pop() <-chan *Event

Pop ...

func (*Member) Push

func (m *Member) Push(event *Event)

Push ...

func (*Member) Reset

func (m *Member) Reset()

Reset ...

type Members

type Members struct {
	Owner  string
	Member []string
}

Members ...

type Message

type Message struct {
	Request
	Event *Event
}

Message ...

type Request

type Request struct {
	RoomID    string
	UserID    string
	Preshared string
}

Request ...

func (Request) Valid

func (r Request) Valid() error

Valid ...

type Room

type Room struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Room ...

func NewRoom

func NewRoom(name, owner, preshared string) *Room

NewRoom ...

func (*Room) Close

func (r *Room) Close()

Close ...

func (*Room) Get

func (r *Room) Get(user string) *Member

Get ...

func (*Room) Iter

func (r *Room) Iter(fn func(m *Member))

Iter ...

func (*Room) Join

func (r *Room) Join(req Request) error

Join ...

func (*Room) Leave

func (r *Room) Leave(req Request) error

Leave ...

func (*Room) Locked

func (r *Room) Locked() bool

Locked ...

func (*Room) Name

func (r *Room) Name() string

Name ...

func (*Room) Owner

func (r *Room) Owner() string

Owner ...

func (*Room) Preshared

func (r *Room) Preshared() string

Preshared ...

func (*Room) Send

func (r *Room) Send(msg Message) error

Send ...

func (*Room) SetCheckFunc

func (r *Room) SetCheckFunc(check func())

SetCheckFunc ...

func (*Room) SetLocked

func (r *Room) SetLocked(b bool)

SetLocked ...

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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