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"
"os"
"path/filepath"
"strconv"
"sync"
"time"
@ -24,6 +25,24 @@ type diskClient struct {
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 {
return client.group
}

View File

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