Versions in this module Expand all Collapse all v0 v0.1.2 Dec 20, 2019 Changes in this version type WebInterface + func (w *WebInterface) AddChannel(t agent.ChannelType, name string, topic string) v0.1.1 Dec 13, 2019 Changes in this version + type Channel struct + Clients map[int]*Client + ID int + Name string + Topic string + func NewChannel(id int, name string, topic string) *Channel type WebInterface + Channels map[int]*Channel + ChannelsLock *sync.Mutex v0.1.0 Dec 12, 2019 Changes in this version + func Nickname(nick string) string + type Client struct + AudioTracks map[int]*webrtc.Track + Conn *websocket.Conn + Connected bool + ID int + In chan *Message + Name string + Out chan *Message + PeerConnLock *sync.Mutex + PeerConns map[int]*webrtc.PeerConnection + Status int + Terminated chan bool + VoiceIn chan []int16 + VoiceInLastActive time.Time + VoiceInLock *sync.Mutex + VoiceInTransmitting bool + VoiceOut []chan *rtp.Packet + VoiceOutActive []time.Time + VoiceOutClient []int + VoiceOutLock *sync.Mutex + func NewClient(conn *websocket.Conn) *Client + func (c *Client) Close() + func (c *Client) CloseAudio() + func (c *Client) ClosePeerConn(id int) + func (c *Client) ClosePeerConns() + func (c *Client) InitAudio() + func (c *Client) WriteAudio(p *rtp.Packet, source int) + type Message struct + M []byte + N string + PC int + S int + T MessageType + type MessageType int + const MessageAction + const MessageAnswer + const MessageBinary + const MessageCall + const MessageChat + const MessageConnect + const MessageDisconnect + const MessageJoin + const MessageNick + const MessagePing + const MessagePong + const MessageQuit + const MessageTopic + const MessageTransmitStart + const MessageTransmitStop + const MessageTypingStart + const MessageTypingStop + const MessageUsers + func (t MessageType) String() string + type User struct + C int + ID int + N string + type UserList []*User + func (u UserList) Len() int + func (u UserList) Less(i, j int) bool + func (u UserList) Swap(i, j int) + type WebInterface struct + Clients map[int]*Client + ClientsLock *sync.Mutex + func NewWebInterface(address string, path string) *WebInterface