// Copyright 2015 The Chihaya Authors. All rights reserved. // Use of this source code is governed by the BSD 2-Clause license, // which can be found in the LICENSE file. // Package noop implements a Chihaya backend storage driver as a no-op. This is // useful for running Chihaya as a public tracker. package noop import ( "github.com/chihaya/chihaya/backend" "github.com/chihaya/chihaya/config" "github.com/chihaya/chihaya/tracker/models" ) type driver struct{} // NoOp is a backend driver for Chihaya that does nothing. This is used by // public trackers. type NoOp struct{} // New returns a new Chihaya backend driver that does nothing. func (d *driver) New(cfg *config.DriverConfig) (backend.Conn, error) { return &NoOp{}, nil } // Close returns nil. func (n *NoOp) Close() error { return nil } // Ping returns nil. func (n *NoOp) Ping() error { return nil } // RecordAnnounce returns nil. func (n *NoOp) RecordAnnounce(delta *models.AnnounceDelta) error { return nil } // LoadTorrents returns (nil, nil). func (n *NoOp) LoadTorrents(ids []uint64) ([]*models.Torrent, error) { return nil, nil } // LoadAllTorrents returns (nil, nil). func (n *NoOp) LoadAllTorrents() ([]*models.Torrent, error) { return nil, nil } // LoadUsers returns (nil, nil). func (n *NoOp) LoadUsers(ids []uint64) ([]*models.User, error) { return nil, nil } // LoadAllUsers returns (nil, nil). func (n *NoOp) LoadAllUsers(ids []uint64) ([]*models.User, error) { return nil, nil } // Init registers the noop driver as a backend for Chihaya. func init() { backend.Register("noop", &driver{}) }