1
Fork 0

Implement NewDiskClient.

This commit is contained in:
Juliusz Chroboczek 2020-09-13 14:14:13 +02:00
parent 7126394e65
commit f2fcc09e61
2 changed files with 20 additions and 4 deletions

19
disk.go
View File

@ -5,6 +5,7 @@ import (
"fmt" "fmt"
"os" "os"
"path/filepath" "path/filepath"
"strconv"
"sync" "sync"
"time" "time"
@ -24,6 +25,24 @@ type diskClient struct {
closed bool closed bool
} }
var idCounter struct {
mu sync.Mutex
counter int
}
func newId() string {
idCounter.mu.Lock()
defer idCounter.mu.Unlock()
s := strconv.FormatInt(int64(idCounter.counter), 16)
idCounter.counter++
return s
}
func NewDiskClient(g *group) *diskClient {
return &diskClient{group: g, id: newId()}
}
func (client *diskClient) Group() *group { func (client *diskClient) Group() *group {
return client.group return client.group
} }

View File

@ -1078,10 +1078,7 @@ func handleClientMessage(c *webClient, m clientMessage) error {
return c.error(userError("already recording")) return c.error(userError("already recording"))
} }
} }
disk := &diskClient{ disk := NewDiskClient(c.group)
group: c.group,
id: "recording",
}
_, err := addClient(c.group.name, disk) _, err := addClient(c.group.name, disk)
if err != nil { if err != nil {
disk.Close() disk.Close()