Skip to content

Commit 6cdd564

Browse files
committed
firewall: refactor
Convert some helpers to be methods on `kvStoreTx` in preparation for some of these helpers needing access to other variables within `kvStoreTx`.
1 parent 006a234 commit 6cdd564

File tree

1 file changed

+12
-22
lines changed

1 file changed

+12
-22
lines changed

firewalldb/kvstores_kvdb.go

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,9 @@ func (s *kvStoreTx) Global() KVStore {
130130
//
131131
// NOTE: this is part of the KVStoreTx interface.
132132
func (s *kvStoreTx) Local() KVStore {
133-
fn := getSessionRuleBucket(true, s.ruleName, s.groupID)
133+
fn := s.getSessionRuleBucket(true)
134134
if s.featureName != "" {
135-
fn = getSessionFeatureRuleBucket(
136-
true, s.ruleName, s.groupID, s.featureName,
137-
)
135+
fn = s.getSessionFeatureRuleBucket(true)
138136
}
139137

140138
return &kvStoreTx{
@@ -161,11 +159,9 @@ func (s *kvStoreTx) GlobalTemp() KVStore {
161159
//
162160
// NOTE: this is part of the KVStoreTx interface.
163161
func (s *kvStoreTx) LocalTemp() KVStore {
164-
fn := getSessionRuleBucket(false, s.ruleName, s.groupID)
162+
fn := s.getSessionRuleBucket(false)
165163
if s.featureName != "" {
166-
fn = getSessionFeatureRuleBucket(
167-
false, s.ruleName, s.groupID, s.featureName,
168-
)
164+
fn = s.getSessionFeatureRuleBucket(false)
169165
}
170166

171167
return &kvStoreTx{
@@ -286,11 +282,9 @@ func getGlobalRuleBucket(perm bool, ruleName string) getBucketFunc {
286282
// bucket under which a kv store for a specific rule-name and group ID is
287283
// stored. The `perm` param determines if the temporary or permanent store is
288284
// used.
289-
func getSessionRuleBucket(perm bool, ruleName string,
290-
groupID session.ID) getBucketFunc {
291-
285+
func (s *kvStoreTx) getSessionRuleBucket(perm bool) getBucketFunc {
292286
return func(tx *bbolt.Tx, create bool) (*bbolt.Bucket, error) {
293-
ruleBucket, err := getRuleBucket(perm, ruleName)(tx, create)
287+
ruleBucket, err := getRuleBucket(perm, s.ruleName)(tx, create)
294288
if err != nil {
295289
return nil, err
296290
}
@@ -307,28 +301,24 @@ func getSessionRuleBucket(perm bool, ruleName string,
307301
return nil, err
308302
}
309303

310-
return sessBucket.CreateBucketIfNotExists(groupID[:])
304+
return sessBucket.CreateBucketIfNotExists(s.groupID[:])
311305
}
312306

313307
sessBucket := ruleBucket.Bucket(sessKVStoreBucketKey)
314308
if sessBucket == nil {
315309
return nil, nil
316310
}
317-
return sessBucket.Bucket(groupID[:]), nil
311+
return sessBucket.Bucket(s.groupID[:]), nil
318312
}
319313
}
320314

321315
// getSessionFeatureRuleBucket returns a function that can be used to fetch the
322316
// bucket under which a kv store for a specific rule-name, group ID and
323317
// feature name is stored. The `perm` param determines if the temporary or
324318
// permanent store is used.
325-
func getSessionFeatureRuleBucket(perm bool, ruleName string,
326-
groupID session.ID, featureName string) getBucketFunc {
327-
319+
func (s *kvStoreTx) getSessionFeatureRuleBucket(perm bool) getBucketFunc {
328320
return func(tx *bbolt.Tx, create bool) (*bbolt.Bucket, error) {
329-
sessBucket, err := getSessionRuleBucket(
330-
perm, ruleName, groupID,
331-
)(tx, create)
321+
sessBucket, err := s.getSessionRuleBucket(perm)(tx, create)
332322
if err != nil {
333323
return nil, err
334324
}
@@ -346,14 +336,14 @@ func getSessionFeatureRuleBucket(perm bool, ruleName string,
346336
}
347337

348338
return featureBucket.CreateBucketIfNotExists(
349-
[]byte(featureName),
339+
[]byte(s.featureName),
350340
)
351341
}
352342

353343
featureBucket := sessBucket.Bucket(featureKVStoreBucketKey)
354344
if featureBucket == nil {
355345
return nil, nil
356346
}
357-
return featureBucket.Bucket([]byte(featureName)), nil
347+
return featureBucket.Bucket([]byte(s.featureName)), nil
358348
}
359349
}

0 commit comments

Comments
 (0)