mirror of
https://github.com/jech/galene.git
synced 2024-11-23 00:55:58 +01:00
Implement NewDiskClient.
This commit is contained in:
parent
7126394e65
commit
f2fcc09e61
2 changed files with 20 additions and 4 deletions
19
disk.go
19
disk.go
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Reference in a new issue