RedisReply abstract class
Base class for redis replies.
Every time a new redis reply is received, this class is instantiated, and returned with the corresponding data.
abstract class RedisReply {
/// A reply type
static const int STATUS = RedisProtocolTransformer.PLUS;
/// A reply type
static const int ERROR = RedisProtocolTransformer.DASH;
/// A reply type
static const int INTEGER = RedisProtocolTransformer.COLON;
/// A reply type
static const int BULK = RedisProtocolTransformer.DOLLAR;
/// A reply type
static const int MULTI_BULK = RedisProtocolTransformer.ASTERIX;
/// Specifies if this reply has been fully received.
bool get done;
/// Consumes the data and returns the uncosumed data if any, null otherwise.
List<int> _consumeData(List<int> data);
/// Default constructor does nothing.
RedisReply();
/**
* Factory constructor for [RedisReply] implementations.
*
* Valid replies are:
*
* - [ErrorReply] (`"-"`)
* - [StatusReply] (`"+"`)
* - [IntegerReply] (`":"`)
* - [BulkReply] (`"$"`)
* - [MultiBulkReply] (`"*"`)
*/
factory RedisReply.fromType(int replyTypeChar) {
// Now instantiate the correct RedisReply
switch (replyTypeChar) {
case RedisReply.STATUS: return new StatusReply();
case RedisReply.ERROR: return new ErrorReply();
case RedisReply.INTEGER: return new IntegerReply();
case RedisReply.BULK: return new BulkReply();
case RedisReply.MULTI_BULK: return new MultiBulkReply();
default:
throw new InvalidRedisResponseError("The type character was incorrect (${new String.fromCharCode(replyTypeChar)}).");
}
}
}
Subclasses
Static Properties
const int BULK #
A reply type
static const int BULK = RedisProtocolTransformer.DOLLAR
const int ERROR #
A reply type
static const int ERROR = RedisProtocolTransformer.DASH
const int INTEGER #
A reply type
static const int INTEGER = RedisProtocolTransformer.COLON
const int MULTI_BULK #
A reply type
static const int MULTI_BULK = RedisProtocolTransformer.ASTERIX
const int STATUS #
A reply type
static const int STATUS = RedisProtocolTransformer.PLUS
Constructors
new RedisReply() #
Default constructor does nothing.
RedisReply();
factory RedisReply.fromType(int replyTypeChar) #
Factory constructor for RedisReply implementations.
Valid replies are:
factory RedisReply.fromType(int replyTypeChar) {
// Now instantiate the correct RedisReply
switch (replyTypeChar) {
case RedisReply.STATUS: return new StatusReply();
case RedisReply.ERROR: return new ErrorReply();
case RedisReply.INTEGER: return new IntegerReply();
case RedisReply.BULK: return new BulkReply();
case RedisReply.MULTI_BULK: return new MultiBulkReply();
default:
throw new InvalidRedisResponseError("The type character was incorrect (${new String.fromCharCode(replyTypeChar)}).");
}
}
Properties
final bool done #
Specifies if this reply has been fully received.
bool get done;