// note that top-level error messages still get handled by SetResult, but nested errors // (is that a thing?) will be wrapped in the RedisResult protected override bool SetResultCore(PhysicalConnection connection, Message message, RawResult result) { switch (result.Type) { case ResultType.BulkString: var asciiHash = result.GetBlob(); if (asciiHash == null || asciiHash.Length != 40) { return(false); } byte[] hash = null; if (!message.IsInternalCall) { hash = ParseSHA1(asciiHash); // external caller wants the hex bytes, not the ascii bytes } var sl = message as RedisDatabase.ScriptLoadMessage; if (sl != null) { connection.Bridge.ServerEndPoint.AddScript(sl.Script, asciiHash); } SetResult(message, hash); return(true); } return(false); }
protected override bool SetResultCore(PhysicalConnection connection, Message message, RawResult result) { switch (result.Type) { case ResultType.BulkString: SetResult(message, result.GetBlob()); return(true); } return(false); }
// note that top-level error messages still get handled by SetResult, but nested errors // (is that a thing?) will be wrapped in the RedisResult protected override bool SetResultCore(PhysicalConnection connection, Message message, RawResult result) { switch (result.Type) { case ResultType.BulkString: var hash = result.GetBlob(); var sl = message as RedisDatabase.ScriptLoadMessage; if (sl != null) { connection.Bridge.ServerEndPoint.AddScript(sl.Script, hash); } SetResult(message, hash); return(true); } return(false); }