Skip to content
This repository has been archived by the owner on Jan 21, 2022. It is now read-only.

Commit

Permalink
segregating write-only interface to stdout only
Browse files Browse the repository at this point in the history
  • Loading branch information
lruggieri committed Nov 14, 2019
1 parent 9d4530b commit ca27bc8
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 6 deletions.
36 changes: 32 additions & 4 deletions pkg/persistence/beanstalkd.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import (
"github.com/pkg/errors"
)

var beanstalkdWriteOnlyError = errors.New("This dummy storage engine (\"beanstalkd\") is write-only")

func makeBeanstalkDatabase(url_ *url.URL) (Database, error) {
s := new(beanstalkd)

Expand Down Expand Up @@ -39,13 +41,11 @@ func makeBeanstalkDatabase(url_ *url.URL) (Database, error) {
}

type beanstalkd struct {
WriteOnlyDatabase
bsQueue *gobeanstalk.Conn
}

func (s *beanstalkd) Engine() databaseEngine {
s.kind = Beanstalkd
return s.kind
return Beanstalkd
}

func (s *beanstalkd) DoesTorrentExist(infoHash []byte) (bool, error) {
Expand Down Expand Up @@ -79,4 +79,32 @@ func (s *beanstalkd) AddNewTorrent(infoHash []byte, name string, files []File) e
func (s *beanstalkd) Close() error {
s.bsQueue.Quit()
return nil
}
}

func (s *beanstalkd) GetNumberOfTorrents() (uint, error) {
return 0, beanstalkdWriteOnlyError
}

func (s *beanstalkd) QueryTorrents(
query string,
epoch int64,
orderBy OrderingCriteria,
ascending bool,
limit uint,
lastOrderedValue *float64,
lastID *uint64,
) ([]TorrentMetadata, error) {
return nil, beanstalkdWriteOnlyError
}

func (s *beanstalkd) GetTorrent(infoHash []byte) (*TorrentMetadata, error) {
return nil, beanstalkdWriteOnlyError
}

func (s *beanstalkd) GetFiles(infoHash []byte) ([]File, error) {
return nil, beanstalkdWriteOnlyError
}

func (s *beanstalkd) GetStatistics(from string, n uint) (*Statistics, error) {
return nil, beanstalkdWriteOnlyError
}
4 changes: 2 additions & 2 deletions pkg/persistence/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,9 @@ func( dbe databaseEngine) String() string{
}

const (
Sqlite3 databaseEngine = 1
Sqlite3 databaseEngine = 1
Beanstalkd databaseEngine = 2
Stdout databaseEngine = 3
Stdout databaseEngine = 3
)

type Statistics struct {
Expand Down

0 comments on commit ca27bc8

Please sign in to comment.