public override string DoProcess(Request request) { var redisObject = store.Get(request.args[0]); var valToIncBy = long.Parse(request.args[1]); if (redisObject == null) { var redisString = new RedisString("0"); long longValue; redisString.IncrementBy(valToIncBy, out longValue); store.Set(request.args[0], redisString); return Reply.IntgerReply(longValue); } if (!redisObject.IsRedisString()) { return Reply.ErrWrongType(); } var s = redisObject as RedisString; if(s.IsConvertibleToLong()) { long longValue; var success = s.IncrementBy(valToIncBy, out longValue); return success ? Reply.IntgerReply(longValue) : Reply.OverFlow(); } return Reply.ValueNotInt(); }
public string Process(Request request) { if(!Validate(request)) { return Reply.ErrBadRequest(); } return DoProcess(request); }
public override bool Validate(Request request) { if (request.args.Count == 2) { long res; return long.TryParse(request.args[1], out res); } return false; }
public override bool Validate(Request request) { if(request.args.Count == 3) { int i; return int.TryParse(request.args[1], out i) && int.TryParse(request.args[2], out i); } return false; }
public override string DoProcess(Request request) { var redisObject = store.Get(request.args[0]); if (redisObject == null) return Reply.Nil(); if (!redisObject.IsRedisString()) return Reply.ErrWrongType(); return Reply.BulkReply(redisObject.ToString()); }
public override string DoProcess(Request request) { var redisObject = store.Get(request.args[0]); if(redisObject == null) { return Reply.IntgerReply(0); } if(!redisObject.IsRedisString()) { return Reply.ErrWrongType(); } return Reply.IntgerReply((redisObject as RedisString).Length()); }
public override string DoProcess(Request request) { var redisObject = store.Get(request.args[0]); if(redisObject == null) { return Reply.BulkReply(""); } if(!redisObject.IsRedisString()) { return Reply.ErrWrongType(); } return Reply.BulkReply((redisObject as RedisString).Substring(int.Parse(request.args[1]),int.Parse(request.args[2]))); }
public override string DoProcess(Request request) { var redisObject = store.Get(request.args[0]); if(redisObject == null) { var redisString = new RedisString(request.args[1]); store.Set(request.args[0],redisString); return Reply.IntgerReply(redisString.Length()); } if (!redisObject.IsRedisString()) { return Reply.ErrWrongType(); } var s = redisObject as RedisString; s.Append(request.args[1]); return Reply.IntgerReply(s.Length()); }
public override bool Validate(Request request) { return request.args.Count == 1; }
public static string ProcessRequest(Request request) { if(!CommandTable.ContainsKey(request.command)) return Reply.ErrInvalidCommand(request.command); return CommandTable[request.command].Process(request); }
public override string DoProcess(Request request) { return Reply.Pong(); }
public override bool Validate(Request request) { return true; }
public override string DoProcess(Request request) { store.Set(request.args[0],new RedisString(request.args[1])); return Reply.Ok(); }
public void Enqueue(Request request) { queue.Enqueue(request); }
public abstract string DoProcess(Request request);
public abstract bool Validate(Request request);