Check that clients implement scripter interface.

This commit is contained in:
Vladimir Mihailenco 2016-12-14 12:12:50 +02:00
parent c6acf2ed15
commit 34122bffa8
6 changed files with 9 additions and 8 deletions

View File

@ -328,8 +328,6 @@ type ClusterClient struct {
closed bool closed bool
} }
var _ Cmdable = (*ClusterClient)(nil)
// NewClusterClient returns a Redis Cluster client as described in // NewClusterClient returns a Redis Cluster client as described in
// http://redis.io/topics/cluster-spec. // http://redis.io/topics/cluster-spec.
func NewClusterClient(opt *ClusterOptions) *ClusterClient { func NewClusterClient(opt *ClusterOptions) *ClusterClient {

View File

@ -236,6 +236,11 @@ type Cmdable interface {
Command() *CommandsInfoCmd Command() *CommandsInfoCmd
} }
var _ Cmdable = (*Client)(nil)
var _ Cmdable = (*Tx)(nil)
var _ Cmdable = (*Ring)(nil)
var _ Cmdable = (*ClusterClient)(nil)
type cmdable struct { type cmdable struct {
process func(cmd Cmder) error process func(cmd Cmder) error
} }

View File

@ -172,8 +172,6 @@ type Client struct {
cmdable cmdable
} }
var _ Cmdable = (*Client)(nil)
func newClient(opt *Options, pool pool.Pooler) *Client { func newClient(opt *Options, pool pool.Pooler) *Client {
base := baseClient{opt: opt, connPool: pool} base := baseClient{opt: opt, connPool: pool}
client := &Client{ client := &Client{

View File

@ -136,8 +136,6 @@ type Ring struct {
closed bool closed bool
} }
var _ Cmdable = (*Ring)(nil)
func NewRing(opt *RingOptions) *Ring { func NewRing(opt *RingOptions) *Ring {
const nreplicas = 100 const nreplicas = 100
opt.init() opt.init()

View File

@ -14,6 +14,10 @@ type scripter interface {
ScriptLoad(script string) *StringCmd ScriptLoad(script string) *StringCmd
} }
var _ scripter = (*Client)(nil)
var _ scripter = (*Ring)(nil)
var _ scripter = (*ClusterClient)(nil)
type Script struct { type Script struct {
src, hash string src, hash string
} }

2
tx.go
View File

@ -23,8 +23,6 @@ type Tx struct {
closed bool closed bool
} }
var _ Cmdable = (*Tx)(nil)
func (c *Client) newTx() *Tx { func (c *Client) newTx() *Tx {
tx := Tx{ tx := Tx{
baseClient: baseClient{ baseClient: baseClient{