protected T2 Call <T1, T2>(CommandPacket cmd, Func <RedisResult <T1>, T2> parse)
        {
            _redisSocket.Write(cmd);
            var result = cmd.Read <T1>();

            return(parse(result));
        }
Пример #2
0
        protected TValue Call <TValue>(CommandPacket cmd, Func <RedisResult, TValue> parse)
        {
            _redisSocket.Write(cmd);
            var result = cmd.Read <string>();

            return(parse(result));
        }
Пример #3
0
            public override TValue AdapaterCall <TReadTextOrStream, TValue>(CommandPacket cmd, Func <RedisResult, TValue> parse)
            {
                _redisSocket.Write(cmd);
                var rt = cmd.Read <TReadTextOrStream>();

                rt.IsErrorThrow = TopOwner._isThrowRedisSimpleError;
                return(parse(rt));
            }
Пример #4
0
 object SelfCall(CommandPacket cmd)
 {
     return(TopOwner.LogCall(cmd, () =>
     {
         _redisSocket.Write(cmd);
         return cmd.Read <string>().ThrowOrValue();
     }));
 }
 object SelfCall(CommandPacket cmd)
 {
     return(_cli.LogCall(cmd, () =>
     {
         _redisSocket.Write(cmd);
         return cmd.Read <object>().ThrowOrValue();
     }));
 }
 public override T2 AdapaterCall <T1, T2>(CommandPacket cmd, Func <RedisResult <T1>, T2> parse)
 {
     return(_cli.LogCall(cmd, () =>
     {
         _redisSocket.Write(cmd);
         var rt = cmd.Read <T1>();
         rt.IsErrorThrow = _cli._isThrowRedisSimpleError;
         return parse(rt);
     }));
 }
Пример #7
0
 public override TValue AdapaterCall <TReadTextOrStream, TValue>(CommandPacket cmd, Func <RedisResult, TValue> parse)
 {
     return(TopOwner.LogCall(cmd, () =>
     {
         using (var rds = GetRedisSocket(cmd))
         {
             rds.Write(cmd);
             var rt = cmd.Read <TReadTextOrStream>();
             rt.IsErrorThrow = TopOwner._isThrowRedisSimpleError;
             return parse(rt);
         }
     }));
 }
Пример #8
0
 public override TValue AdapaterCall <TReadTextOrStream, TValue>(CommandPacket cmd, Func <RedisResult, TValue> parse)
 {
     TryMulti();
     return(TopOwner.LogCall(cmd, () =>
     {
         _redisSocket.Write(cmd);
         cmd.Read <TReadTextOrStream>().ThrowOrValue <TValue>();
         cmd._readed = false; //exec 还需要再读一次
         _commands.Add(new TransactionCommand
         {
             Command = cmd,
             Parse = obj => parse(new RedisResult(obj, true, RedisMessageType.SimpleString)
             {
                 Encoding = _redisSocket.Encoding
             })
         });
         return default(TValue);
     }));
 }
 public override T2 AdapaterCall <T1, T2>(CommandPacket cmd, Func <RedisResult <T1>, T2> parse)
 {
     TryMulti();
     return(_cli.LogCall(cmd, () =>
     {
         _redisSocket.Write(cmd);
         cmd.Read <T1>().ThrowOrValue();
         cmd._readed = false; //exec 还需要再读一次
         _commands.Add(new TransactionCommand
         {
             Command = cmd,
             Parse = obj => parse(new RedisResult <T1>(obj.ConvertTo <T1>(), null, true, RedisMessageType.SimpleString)
             {
                 Encoding = _redisSocket.Encoding
             })
         });
         return default(T2);
     }));
 }