Documentation ¶
Index ¶
- type Client
- type ClientManager
- func (manager *ClientManager) Broadcast(message string)
- func (manager *ClientManager) Close()
- func (manager *ClientManager) GetClients() []*websocket.Conn
- func (manager *ClientManager) Read(conn *websocket.Conn, message string) (string, bool)
- func (manager *ClientManager) ReadAll() []PeerMessage
- func (manager *ClientManager) RegisterClient(conn *websocket.Conn)
- func (manager *ClientManager) Run()
- func (manager *ClientManager) UnregisterClient(conn *websocket.Conn)
- func (manager *ClientManager) Write(conn *websocket.Conn, message string)
- type GenericClient
- type MessageQueue
- type Peer
- type PeerMessage
- type PeerMessageQueue
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Conn *websocket.Conn IncomingMsg *MessageQueue OutgoingMsg *MessageQueue // contains filtered or unexported fields }
Client representa a un cliente conectado a un servidor WebSocket.
type ClientManager ¶
type ClientManager struct {
// contains filtered or unexported fields
}
ClientManager mantiene un registro de todas las conexiones de clientes WebSocket.
func NewClientManager ¶
func NewClientManager() *ClientManager
NewClientManager crea e inicializa una nueva instancia de ClientManager.
func (*ClientManager) Broadcast ¶
func (manager *ClientManager) Broadcast(message string)
func (*ClientManager) Close ¶
func (manager *ClientManager) Close()
func (*ClientManager) GetClients ¶
func (manager *ClientManager) GetClients() []*websocket.Conn
GetClients devuelve una lista de todas las conexiones de clientes activas.
func (*ClientManager) ReadAll ¶
func (manager *ClientManager) ReadAll() []PeerMessage
func (*ClientManager) RegisterClient ¶
func (manager *ClientManager) RegisterClient(conn *websocket.Conn)
RegisterClient añade una nueva conexión de cliente al ClientManager.
func (*ClientManager) Run ¶
func (manager *ClientManager) Run()
Run inicia el proceso de manejo de las conexiones de clientes.
func (*ClientManager) UnregisterClient ¶
func (manager *ClientManager) UnregisterClient(conn *websocket.Conn)
UnregisterClient elimina una conexión de cliente existente del ClientManager.
type GenericClient ¶
type MessageQueue ¶
type MessageQueue struct {
// contains filtered or unexported fields
}
MessageQueue representa una cola FIFO segura para concurrencia para almacenar mensajes.
func NewMessageQueue ¶
func NewMessageQueue() *MessageQueue
NewMessageQueue crea una nueva instancia de MessageQueue.
func (*MessageQueue) Dequeue ¶
func (q *MessageQueue) Dequeue() (string, bool)
Dequeue elimina y devuelve el primer elemento de la cola. Devuelve "", false si la cola está vacía.
func (*MessageQueue) Enqueue ¶
func (q *MessageQueue) Enqueue(item string)
Enqueue agrega un elemento al final de la cola.
func (*MessageQueue) ReadAll ¶
func (q *MessageQueue) ReadAll() []string
func (*MessageQueue) Size ¶
func (q *MessageQueue) Size() int
Size devuelve el número actual de elementos en la cola.
type Peer ¶
type Peer struct { Conn *websocket.Conn IncomingMsg *MessageQueue OutgoingMsg *MessageQueue // contains filtered or unexported fields }
Peer representa a un par conectado al servidor.
type PeerMessage ¶
type PeerMessageQueue ¶
type PeerMessageQueue struct {
// contains filtered or unexported fields
}
func NewPeerMessageQueue ¶
func NewPeerMessageQueue() *PeerMessageQueue
func (*PeerMessageQueue) Dequeue ¶
func (q *PeerMessageQueue) Dequeue() (PeerMessage, bool)
func (*PeerMessageQueue) Enqueue ¶
func (q *PeerMessageQueue) Enqueue(item PeerMessage)
func (*PeerMessageQueue) ReadAll ¶
func (q *PeerMessageQueue) ReadAll() []PeerMessage