ducky/subscriptions
ducky/subscriptions/memstore.go
Create a client for working with subscriptions. We mostly copied our code.secondbit.org/auth.hg/client package to create a simple client library for communicating with our Subscriptions API. Right now, the client only has support for creating a subscription. It remains untested, but it builds.
1 package subscriptions
3 import (
4 "sync"
5 )
7 // Memstore is an in-memory version of our datastores, useful
8 // for testing. It should not be used in production.
9 type Memstore struct {
10 subscriptions map[string]Subscription
11 subscriptionLock sync.RWMutex
12 }
14 // NewMemstore returns a pointer to a Memstore object, ready
15 // to be used as a datastore.
16 func NewMemstore() *Memstore {
17 return &Memstore{
18 subscriptions: map[string]Subscription{},
19 }
20 }
22 func (m *Memstore) Reset() error {
23 m.subscriptionLock.Lock()
24 defer m.subscriptionLock.Unlock()
26 m.subscriptions = map[string]Subscription{}
27 return nil
28 }