コード例 #1
0
ファイル: MovedResponse.cs プロジェクト: searbe/redis-client
        public static MovedResponse From(IRedisResponse response)
        {
            if (response.IsError == false)
                return null;

            var parts = response.Value.ToString().Split(' ');

            if (parts[0] != "MOVED")
                return null;

            if (parts.Length < 3)
                throw ExceptionBecause.MalformedData.InMovedKeyInfo(response);

            var hostAndPort = parts[2].Split(':');

            return new MovedResponse
            {
                MovedSlot = HashSlot.ParseSlotNumber(parts[1]),
                NewHost = hostAndPort[0],
                NewPort = int.Parse(hostAndPort[1])
            };
        }
コード例 #2
0
 public static Exception InClusterInfo(IRedisResponse clusterInfoResponse)
 {
     return new Exception("Unexpected response to CLUSTER NODES: " + clusterInfoResponse.Value);
 }
コード例 #3
0
 public static Exception FailedToAuthenticate(IRedisResponse response)
 {
     return new Exception("Could not authenticate. Response was: " + response.Value);
 }
コード例 #4
0
 public static Exception GotErrorResponseFromClusterInfo(IRedisResponse clusterInfoResponse)
 {
     return new Exception(clusterInfoResponse.Value.ToString());
 }
コード例 #5
0
 public static Exception InMovedKeyInfo(IRedisResponse response)
 {
     return new Exception("Cannot process moved response");
 }
コード例 #6
0
 public static Exception InNodeInfo(string host, int port, IRedisResponse response)
 {
     return new Exception("Unexpected response from info command");
 }
コード例 #7
0
 public ClusterInfoResponse(IRedisResponse redisResponse)
 {
     _response = redisResponse;
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: searbe/redis-client
 private static void Write(IRedisResponse response)
 {
     if (response.IsError)
         Console.WriteLine("ERR:\r\n{0}\r\n", response.Value);
 }