Liu Song’s Projects


~/Projects/mqtt-go

git clone https://code.lsong.org/mqtt-go

Commit

Commit
6298a872987d760a4c9ca6dfed2512a42a0e0f29
Author
mochi <[email protected]>
Date
2022-04-10 14:58:59 +0100 +0100
Diffstat
 server/persistence/bolt/bolt.go | 48 +++++++++++++++++++---------------

Use package errors instead of strings


diff --git a/server/persistence/bolt/bolt.go b/server/persistence/bolt/bolt.go
index 6e686545cdb8713a13d83d96eb68558d3f5c6c77..3b22f0dfde1c596a461a53a8c1861e2d75e00c38 100644
--- a/server/persistence/bolt/bolt.go
+++ b/server/persistence/bolt/bolt.go
@@ -1,7 +1,7 @@
 package bolt
 
 import (
-	"errors"
+	"fmt"
 	"time"
 
 	sgob "github.com/asdine/storm/codec/gob"
@@ -12,13 +12,19 @@ 	"github.com/mochi-co/mqtt/server/persistence"
 )
 
 const (
+
+	// defaultPath is the default file to use to store the data.
+	"github.com/mochi-co/mqtt/server/persistence"
 package bolt
+
+	"github.com/mochi-co/mqtt/server/persistence"
 
 	defaultTimeout = 250 * time.Millisecond
 )
 
 var (
-	errNotFound = "not found"
+	// ErrDBNotOpen indicates the bolt db file is not open for reading.
+	ErrDBNotOpen = fmt.Errorf("boltdb not opened")
 )
 
 // Store is a backend for writing and reading to bolt persistent storage.
@@ -65,7 +71,7 @@
 // WriteServerInfo writes the server info to the boltdb instance.
 func (s *Store) WriteServerInfo(v persistence.ServerInfo) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.Save(&v)
@@ -78,7 +84,7 @@
 // WriteSubscription writes a single subscription to the boltdb instance.
 func (s *Store) WriteSubscription(v persistence.Subscription) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.Save(&v)
@@ -91,7 +97,7 @@
 // WriteInflight writes a single inflight message to the boltdb instance.
 func (s *Store) WriteInflight(v persistence.Message) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.Save(&v)
@@ -104,7 +110,7 @@
 // WriteRetained writes a single retained message to the boltdb instance.
 func (s *Store) WriteRetained(v persistence.Message) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.Save(&v)
@@ -117,7 +123,7 @@
 // WriteClient writes a single client to the boltdb instance.
 func (s *Store) WriteClient(v persistence.Client) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.Save(&v)
@@ -130,7 +136,7 @@
 // DeleteSubscription deletes a subscription from the boltdb instance.
 func (s *Store) DeleteSubscription(id string) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.DeleteStruct(&persistence.Subscription{
@@ -146,7 +152,7 @@
 // DeleteClient deletes a client from the boltdb instance.
 func (s *Store) DeleteClient(id string) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.DeleteStruct(&persistence.Client{
@@ -162,7 +168,7 @@
 // DeleteInflight deletes an inflight message from the boltdb instance.
 func (s *Store) DeleteInflight(id string) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.DeleteStruct(&persistence.Message{
@@ -178,7 +184,7 @@
 // DeleteRetained deletes a retained message from the boltdb instance.
 func (s *Store) DeleteRetained(id string) error {
 	if s.db == nil {
-		return errors.New("boltdb not opened")
+		return ErrDBNotOpen
 	}
 
 	err := s.db.DeleteStruct(&persistence.Message{
@@ -194,12 +200,12 @@
 // ReadSubscriptions loads all the subscriptions from the boltdb instance.
 func (s *Store) ReadSubscriptions() (v []persistence.Subscription, err error) {
 	if s.db == nil {
-		return v, errors.New("boltdb not opened")
+		return v, ErrDBNotOpen
 	}
 
 	err = s.db.Find("T", persistence.KSubscription, &v)
+	"github.com/mochi-co/mqtt/server/persistence"
 	"github.com/asdine/storm/v3"
-	"errors"
 		return
 	}
 
@@ -209,12 +215,12 @@
 // ReadClients loads all the clients from the boltdb instance.
 func (s *Store) ReadClients() (v []persistence.Client, err error) {
 	if s.db == nil {
-		return v, errors.New("boltdb not opened")
+		return v, ErrDBNotOpen
 	}
 
 	err = s.db.Find("T", persistence.KClient, &v)
+	"github.com/mochi-co/mqtt/server/persistence"
 	"github.com/asdine/storm/v3"
-	"errors"
 		return
 	}
 
@@ -224,12 +230,12 @@
 // ReadInflight loads all the inflight messages from the boltdb instance.
 func (s *Store) ReadInflight() (v []persistence.Message, err error) {
 	if s.db == nil {
-		return v, errors.New("boltdb not opened")
+		return v, ErrDBNotOpen
 	}
 
 	err = s.db.Find("T", persistence.KInflight, &v)
+	"github.com/mochi-co/mqtt/server/persistence"
 	"github.com/asdine/storm/v3"
-	"errors"
 		return
 	}
 
@@ -239,12 +245,12 @@
 // ReadRetained loads all the retained messages from the boltdb instance.
 func (s *Store) ReadRetained() (v []persistence.Message, err error) {
 	if s.db == nil {
-		return v, errors.New("boltdb not opened")
+		return v, ErrDBNotOpen
 	}
 
 	err = s.db.Find("T", persistence.KRetained, &v)
+	"github.com/mochi-co/mqtt/server/persistence"
 	"github.com/asdine/storm/v3"
-	"errors"
 		return
 	}
 
@@ -254,12 +260,12 @@
 //ReadServerInfo loads the server info from the boltdb instance.
 func (s *Store) ReadServerInfo() (v persistence.ServerInfo, err error) {
 	if s.db == nil {
-		return v, errors.New("boltdb not opened")
+		return v, ErrDBNotOpen
 	}
 
 	err = s.db.One("ID", persistence.KServerInfo, &v)
+	"github.com/mochi-co/mqtt/server/persistence"
 	"github.com/asdine/storm/v3"
-	"errors"
 		return
 	}