Documentation ¶
Index ¶
- Constants
- Variables
- type Message
- type MessageType
- type Peer
- type PeerConnection
- type PeerID
- type Room
- func (r *Room) AddMember(member RoomMember)
- func (r *Room) Broadcast(message Message) error
- func (r *Room) Dispatch(source RoomMember, message Message)
- func (r *Room) GetMember(peerID PeerID) RoomMember
- func (r *Room) MessageMember(message Message) error
- func (r *Room) RemoveMember(members RoomMember)
- func (r *Room) StartReaper(interval time.Duration)
- type RoomMember
- type Server
Constants ¶
View Source
const ( MessageTypeHeartbeat = MessageType("heartbeat") MessageTypeJoin = MessageType("join") MessageTypeLeave = MessageType("leave") MessageTypeOffer = MessageType("offer") MessageTypeAnswer = MessageType("answer") MessageTypeICECandidate = MessageType("icecandidate") )
Variables ¶
View Source
var ErrPeerNotFound = errors.New("peer not found")
Functions ¶
This section is empty.
Types ¶
type Message ¶
type Message struct { Type MessageType `json:"type" validate:"required"` SourceID PeerID `json:"peerId" validate:"required"` DestinationID PeerID `json:"destId"` Payload map[string]interface{} `json:"payload" validate:"required"` }
type MessageType ¶
type MessageType string
type Peer ¶
type Peer struct {
// contains filtered or unexported fields
}
func NewPeer ¶
func NewPeer(conn PeerConnection) *Peer
func (*Peer) GetNextMessage ¶
func (*Peer) SendMessage ¶
type PeerConnection ¶
type Room ¶
type Room struct {
// contains filtered or unexported fields
}
func (*Room) AddMember ¶
func (r *Room) AddMember(member RoomMember)
func (*Room) Dispatch ¶
func (r *Room) Dispatch(source RoomMember, message Message)
func (*Room) GetMember ¶
func (r *Room) GetMember(peerID PeerID) RoomMember
func (*Room) MessageMember ¶
func (*Room) RemoveMember ¶
func (r *Room) RemoveMember(members RoomMember)
func (*Room) StartReaper ¶
type RoomMember ¶
Click to show internal directories.
Click to hide internal directories.