Exemplo n.º 1
0
        /** <inheritDoc /> */
        public Task <TRes> InvokeAsync <TArg, TRes>(TK key, ICacheEntryProcessor <TK, TV, TArg, TRes> processor, TArg arg)
        {
            AsyncInstance.Invoke(key, processor, arg);

            return(AsyncInstance.GetTask(CacheOp.Invoke, r =>
            {
                if (r == null)
                {
                    return default(TRes);
                }

                var hasError = r.ReadBoolean();

                if (hasError)
                {
                    throw ReadException(r.Stream);
                }

                return r.ReadObject <TRes>();
            }));
        }