protected virtual async Task <IGetOperationResult> PerformGetCore(string key, ulong cas)
        {
            try
            {
                var op = opFactory.Get(keyTransformer.Transform(key), cas);
                await cluster.Execute(op).ConfigureAwait(false);

                return(op.Result);
            }
            catch (IOException e)
            {
                return(new GetOperationResult().FailWith(e));
            }
        }
        private static void OverrideOperation <OperationType, TypeToOverride, TypeToOverrideBy>(AbstractFactory <AbstractCallable> sim)
            where TypeToOverrideBy : AbstractCallable, OperationType
            where TypeToOverride : AbstractCallable, OperationType
        {
            IOperationFactory factory = sim as IOperationFactory;

            Debug.Assert(factory != null);
            OperationType op = factory.Get <OperationType, TypeToOverrideBy>();

            sim.Register(typeof(TypeToOverride), op.GetType(), typeof(OperationType));
        }
예제 #3
0
 private static Action GetTest <T>(IOperationFactory sim) where T : AbstractCallable, ICallable <QVoid, QVoid>
 {
     return(() => sim.Get <ICallable <QVoid, QVoid>, T>().Apply(QVoid.Instance));
 }