1// Copyright 2012 Gary Burd 2// 3// Licensed under the Apache License, Version 2.0 (the "License"): you may 4// not use this file except in compliance with the License. You may obtain 5// a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12// License for the specific language governing permissions and limitations 13// under the License. 14 15package redis 16 17// Error represents an error returned in a command reply. 18type Error string 19 20func (err Error) Error() string { return string(err) } 21 22// Conn represents a connection to a Redis server. 23type Conn interface { 24 // Close closes the connection. 25 Close() error 26 27 // Err returns a non-nil value if the connection is broken. The returned 28 // value is either the first non-nil value returned from the underlying 29 // network connection or a protocol parsing error. Applications should 30 // close broken connections. 31 Err() error 32 33 // Do sends a command to the server and returns the received reply. 34 Do(commandName string, args ...interface{}) (reply interface{}, err error) 35 36 // Send writes the command to the client's output buffer. 37 Send(commandName string, args ...interface{}) error 38 39 // Flush flushes the output buffer to the Redis server. 40 Flush() error 41 42 // Receive receives a single reply from the Redis server 43 Receive() (reply interface{}, err error) 44} 45