protected virtual void PutTransientInternal(IData keyData, TValue value, long ttl, TimeUnit timeunit) { var valueData = ToData(value); var request = MapPutTransientCodec.EncodeRequest(Name, keyData, valueData, GetThreadId(), timeunit.ToMillis(ttl)); Invoke(request, keyData); }
public void PutTransient(K key, V value, long ttl, TimeUnit timeunit) { var keyData = ToData(key); var valueData = ToData(value); var request = MapPutTransientCodec.EncodeRequest(GetName(), keyData, valueData, ThreadUtil.GetThreadId(), timeunit.ToMillis(ttl)); InvalidateNearCacheEntry(keyData); Invoke(request, keyData); }
Task SetTransientAsync(IData keyData, IData valueData, TimeSpan timeToLive, CancellationToken cancellationToken = default) { var timeToLiveMs = timeToLive.CodecMilliseconds(-1000); var requestMessage = MapPutTransientCodec.EncodeRequest(Name, keyData, valueData, ContextId, timeToLiveMs); var task = Cluster.Messaging.SendToKeyPartitionOwnerAsync(requestMessage, keyData, cancellationToken); #if HZ_OPTIMIZE_ASYNC return(task); #else await task.CAF(); #endif }
Task SetTransientAsync(IData keyData, IData valueData, TimeSpan timeToLive, TimeSpan maxIdle, CancellationToken cancellationToken = default) { var timeToLiveMs = timeToLive.RoundedMilliseconds(false); // codec: 0 is infinite, -1 is server var maxIdleMs = maxIdle.RoundedMilliseconds(false); // codec: 0 is infinite, -1 is server var withMaxIdle = maxIdleMs != -1; var requestMessage = withMaxIdle ? MapPutTransientWithMaxIdleCodec.EncodeRequest(Name, keyData, valueData, ContextId, timeToLiveMs, maxIdleMs) : MapPutTransientCodec.EncodeRequest(Name, keyData, valueData, ContextId, timeToLiveMs); var task = Cluster.Messaging.SendToKeyPartitionOwnerAsync(requestMessage, keyData, cancellationToken); #if HZ_OPTIMIZE_ASYNC return(task); #else await task.CfAwait(); #endif }