public static async Task <T> RecordSendAndReceive <T>(RedisSettings usedSettings, RedisKey key, string callType, Func <Task <MonitorPair <T> > > executeAndReturnSentAndReceivedObject, [CallerMemberName] string commandName = "") { var tracerFactory = usedSettings.CommandTracerFactory; ICommandTracer tracer = null; if (tracerFactory != null) { tracer = tracerFactory(); var command = callType + "." + commandName; tracer.CommandStart(usedSettings, command, key); // start within context } MonitorPair <T> pair = null; bool isError = true; try { pair = await executeAndReturnSentAndReceivedObject().ForAwait(); isError = false; } finally { if (tracer != null) { tracer.CommandFinish(pair?.SentObject, pair?.SentSize ?? 0, (pair != null) ? pair.ReceivedObject : default(T), pair?.ReceivedSize ?? 0, isError); // finish without context } } return((pair == null) ? default(T) : pair.ReceivedObject); }
public static async Task RecordSend(RedisSettings usedSettings, RedisKey key, string callType, Func <Task <MonitorSingle> > executeAndReturnSentObject, [CallerMemberName] string commandName = "") { var tracerFactory = usedSettings.CommandTracerFactory; ICommandTracer tracer = null; if (tracerFactory != null) { tracer = tracerFactory(); var command = callType + "." + commandName; tracer.CommandStart(usedSettings, command, key); // start within context } MonitorSingle sentObject = null; bool isError = true; try { sentObject = await executeAndReturnSentObject().ForAwait(); isError = false; } finally { if (tracer != null) { tracer.CommandFinish(sentObject?.SentObject, sentObject?.SentSize ?? 0, null, 0, isError); // finish without context } } }
public static RedisResult <T> FromRedisValue <T>(RedisValue value, RedisSettings settings, out long valueSize) { if (value.IsNull) { valueSize = 0; return(new RedisResult <T>()); } return(new RedisResult <T>(settings.ValueConverter.Deserialize <T>(value, out valueSize))); }
internal RedisStructure(RedisSettings settings, RedisKey key) { this.Settings = settings; this.Key = key; }
public RedisHashBase(RedisSettings settings, RedisKey hashKey) : base(settings, hashKey) { }
public RedisDictionary(RedisSettings settings, RedisKey hashKey) : base(settings, hashKey) { }
public RedisLua(RedisSettings settings, RedisKey distributedKey) : base(settings, distributedKey) { }
public RedisString(RedisSettings settings, RedisKey key) : base(settings, key) { }
public static RedisResult <object> FromRedisValue(RedisValue value, Type valueType, RedisSettings settings, out long valueSize) { if (value.IsNull) { valueSize = 0; return(RedisResult <object> .NoValue); } return(new RedisResult <object>(settings.ValueConverter.Deserialize(valueType, value, out valueSize))); }
public RedisSortedSet(RedisSettings settings, RedisKey setKey) : base(settings, setKey) { }
public RedisHyperLogLog(RedisSettings settings, RedisKey key) : base(settings, key) { }
public RedisList(RedisSettings settings, RedisKey listKey) : base(settings, listKey) { }