Naming, layout and comments: descriptive full-word names, one item per line in wrapped calls and literals, and doc comments on exported names

Short and single-letter names in application code become full words (tests
keep theirs). Wrapped calls, signatures and composite literals put one item
per line, and one-line function bodies are expanded. Exported names and
groups of constants get doc comments, and comments refer to the renamed
identifiers.
This commit is contained in:
bwilliams committed 2026-10-15 16:12:56 +01:00
1 parent 043e307663
commit 465358609a
78 files changed
+2374 -1402

No files matched your search

+18 -16
View File
@@ -17,7 +17,7 @@ type Hub struct {
conf config.JSCServerWebSocket
log *slog.Logger
m sync.RWMutex
mu sync.RWMutex
clients map[*client]struct{}
closed bool
wg sync.WaitGroup
@@ -82,13 +82,13 @@ func (h *Hub) Push(msgType string, payload any) {
}
var slow []*client
h.m.RLock()
h.mu.RLock()
for client := range h.clients {
if !client.trySend(msg) {
slow = append(slow, client)
}
}
h.m.RUnlock()
h.mu.RUnlock()
for _, client := range slow {
h.logger().Warn("dropping slow client", "client", client.id, "ip", client.ip)
@@ -98,8 +98,8 @@ func (h *Hub) Push(msgType string, payload any) {
// Count returns the number of connected clients.
func (h *Hub) Count() int {
h.m.RLock()
defer h.m.RUnlock()
h.mu.RLock()
defer h.mu.RUnlock()
return len(h.clients)
}
@@ -108,13 +108,13 @@ func (h *Hub) Count() int {
// closed at once and ctx's error is returned. New connections are refused
// afterwards.
func (h *Hub) Shutdown(ctx context.Context) error {
h.m.Lock()
h.mu.Lock()
h.closed = true
clientShutdowns := make([]*client, 0, len(h.clients))
for client := range h.clients {
clientShutdowns = append(clientShutdowns, client)
}
h.m.Unlock()
h.mu.Unlock()
if len(clientShutdowns) == 0 {
// Nothing to close. Clients that just left are only finishing their
@@ -151,7 +151,9 @@ func (h *Hub) Shutdown(ctx context.Context) error {
}
// maxMessageSize is the largest message read from a client: max_message_size,
// or defaultMaxMessageSize if that is 0 or less.
// or defaultMaxMessageSize if that is 0 or less. The configuration rejects -1
// (no limit) for this setting, as a client could then exhaust the server's
// memory; a -1 set in code also gets the default, never no limit.
func (h *Hub) maxMessageSize() int {
if h.conf.MaxMessageSize <= 0 {
return defaultMaxMessageSize
@@ -161,21 +163,21 @@ func (h *Hub) maxMessageSize() int {
// register adds a client to the hub. Hub clients receive all push messages and
// have their lifecycles tracked by the hub.
func (h *Hub) register(c *client) bool {
h.m.Lock()
defer h.m.Unlock()
func (h *Hub) register(client *client) bool {
h.mu.Lock()
defer h.mu.Unlock()
if h.closed {
return false
}
h.clients[c] = struct{}{}
h.clients[client] = struct{}{}
h.wg.Add(1)
return true
}
// unregister removes a client from the hub.
func (h *Hub) unregister(c *client) {
h.m.Lock()
delete(h.clients, c)
h.m.Unlock()
func (h *Hub) unregister(client *client) {
h.mu.Lock()
delete(h.clients, client)
h.mu.Unlock()
h.wg.Done()
}